首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从PowerBI到AI的查询突然失败(502):坏网关

从PowerBI到AI的查询突然失败(502):坏网关
EN

Stack Overflow用户
提问于 2017-01-26 08:11:07
回答 2查看 3.8K关注 0票数 1

在Power (Desktop)中,我们使用一个Power查询(M)从Application获取数据。我们将Power报告发布到Power,配置为每日刷新。直到它在世界协调时25-1-2017年停止工作为止,它一直运转良好。

我们得到的错误是:

代码语言:javascript
复制
DataSource.Error: Web.Contents failed to get contents from '.....' (502): Bad Gateway

这是一个完全的错误:

代码语言:javascript
复制
DataSource.Error: Web.Contents failed to get contents from 'https://management.azure.com/subscriptions/<subscriptionId>/resourcegroups/fps.fsa/providers/microsoft.insights/components/4PS%20Field%20Service%20iOS%20-%20iOS/api/query?api-version=2014-12-01-preview&csl=customEvents%0A%7C%20where%20timestamp%20%3E%20ago%2830d%29%0A%7C%20order%20by%20timestamp%20desc%0A%7C%20extend%20dimensionUserId%20%3D%20tostring%28customDimensions.%5B%27userId%27%5D%29%0A%7C%20extend%20dimensionHost%20%3D%20tostring%28customDimensions.%5B%27url%27%5D%29%0A%7C%20extend%20measurementQuantity%20%3D%20iff%28%20isnotempty%28customMeasurements.%5B%27value%27%5D%29%2C%20todouble%28customMeasurements.%5B%27value%27%5D%29%2C%200.0%29%0A%7C%20extend%20measurementKey%20%3D%20tostring%28customDimensions.%5B%27key%27%5D%29%0A%7C%20extend%20platform%20%3D%20%27iOS%27%0A&x-ms-app=AAPBI' (502): Bad Gateway
Details:
    DataSourceKind=Web
    DataSourcePath=https://management.azure.com/subscriptions/<subscriptionId>/resourcegroups/fps.fsa/providers/microsoft.insights/components/4PS%20Field%20Service%20iOS%20-%20iOS/api/query
    Url=https://management.azure.com/subscriptions/<subscriptionId>/resourcegroups/fps.fsa/providers/microsoft.insights/components/4PS%20Field%20Service%20iOS%20-%20iOS/api/query?api-version=2014-12-01-preview&amp;csl=customEvents%0A%7C%20where%20timestamp%20%3E%20ago%2830d%29%0A%7C%20order%20by%20timestamp%20desc%0A%7C%20extend%20dimensionUserId%20%3D%20tostring%28customDimensions.%5B%27userId%27%5D%29%0A%7C%20extend%20dimensionHost%20%3D%20tostring%28customDimensions.%5B%27url%27%5D%29%0A%7C%20extend%20measurementQuantity%20%3D%20iff%28%20isnotempty%28customMeasurements.%5B%27value%27%5D%29%2C%20todouble%28customMeasurements.%5B%27value%27%5D%29%2C%200.0%29%0A%7C%20extend%20measurementKey%20%3D%20tostring%28customDimensions.%5B%27key%27%5D%29%0A%7C%20extend%20platform%20%3D%20%27iOS%27%0A&amp;x-ms-app=AAPBI

有人知道怎么解决这个问题吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-26 16:16:56

502坏网关消息通常是由于AA查询返回了太多的数据。网关被限制在8MB的数据周期内。

示例

你创建了一个仪表板,这个仪表板在2016年12月开始工作,从这个月开始就给了你所有的请求。现在是2017年1月,而且失败了。您可以使用PowerBI仪表板使用下面的查询从原始结果中计算一些指标。

代码语言:javascript
复制
requests | where timestamp > datetime(2016-12-01)

修复

确定你真正关心的日子。如果您的目的是从这个月的第一个月开始获取所有请求和时间,您可以通过限制这个月的时间范围和只投影您需要的列来减少大量额外的数据。

代码语言:javascript
复制
requests | where timestamp > startofmonth(now()) | project name, duration

另一个解决办法

假设您正在计算平均值和百分位数,您也可以让Analytics为您做这件事,而PowerBI只需显示结果。

代码语言:javascript
复制
requests | where timestamp > startofmonth(now()) | summarize count(), avg(duration), min(duration), max(duration), stdev(duration), percentiles(duration, 50, 75, 90, 95, 99) by name

更多的例子

您可能需要一个有意义的图表,这样就可以将聚合划分为一个时间段。这将提供大量数据作为回报,但比查询原始数据点时得到的数据要少得多。

一天前

代码语言:javascript
复制
requests | where timestamp > startofmonth(now()) | summarize count(), avg(duration), min(duration), max(duration), stdev(duration), percentiles(duration, 50, 75, 90, 95, 99) by bin(timestamp, 1d), name

按小时计

代码语言:javascript
复制
requests | where timestamp > startofmonth(now()) | summarize count(), avg(duration), min(duration), max(duration), stdev(duration), percentiles(duration, 50, 75, 90, 95, 99) by bin(timestamp, 1h), name

我只举了几个例子,您必须确保它们符合您的仪表板的意图。

票数 4
EN

Stack Overflow用户

发布于 2017-04-08 18:34:56

正如James建议的那样,建议限制结果大小,但是如果仍然需要返回更大的数据集,则可以直接使用AI API而不是ARM。

1)您需要创建API键,请参阅https://dev.applicationinsights.io/documentation/Authorization/API-key-and-App-ID

2)接下来,您需要更新从Analytics导出的Power脚本,方法是用AI API替换ARM URL:

替换ARM呼叫:

.源= Json.Document(Web.Contents("https://management.azure.com/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/<RESOURCE GROUP>/providers/microsoft.insights/components/<APP NAME>/api/query?api-version=2014-12-01-preview",[Query=#"csl"="requests",#“x app”=“AAPBI”,Timeout=#duration(0,0,4,0)] .

使用AI API调用:

…… 源= Json.Document(Web.Contents("https://api.applicationinsights.io/beta/apps/<APPLICATION_ID>/query?api-version=2014-12-01-preview",[Query=#"csl"="requests",#“x app”=“AAPBI”,Timeout=#duration(0,0,4,0)] .

3)最后,将凭据更新为basic,并使用API键

在这里输入图像描述

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41869170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档