繁体   English   中英

Power BI为缓存的DatasetId发送“无效的状态代码'Bad Request'”

[英]Power BI send “invalid status code 'Bad Request'” for a cached DatasetId

我目前正在研究将power bi报告嵌入到我们的平台中的问题。 我应该说我是Power BI的新手,我已经尝试阅读有关报表,组和数据集之间的关系。 我的问题与缓存报告有关,datasetId和数据集属于该报告。

实施缓存?

一方面,当前实现通过调用client.Reports.GetReportsInGroupAsync之后获取报告来缓存报告。 并且每次尝试以其名称为键来获取报告。 但是,另一方面,要获取dataSets.IsEffectiveIdentityRequired的值,它将缓存数据集。 并且每次获取报告后,都会在缓存中搜索该数据集,以便能够分配IsEffectiveIdentityRequired

我的问题是我有时从Power BI API方法client.Datasets.GetDatasetByIdInGroupAsync(GroupId,dataSetId) 返回Operation的无效状态代码“ Bad Request”异常,我的假设是他们应该在power bi中更新数据集。

我试图找出这两个问题的答案,但找不到明确的答案1. Report和DatasetId之间是什么关系? 因为在Report模型中我们有一个datasetId,所以我假设一个报告应该基于一个唯一的数据集。 2.当我们更新报告时,datasetId会怎样? 我收到该异常,这意味着datasetId不再有效。

  1. Report和DatasetId之间有什么关系?

通常,当您将报表从Power BI Desktop发布到Power BI Online服务时,它会分为单独的报表和数据集。 它们都具有相同的名称(并且位于相同的工作空间/组中),但是它们具有自己的唯一ID。 打开报表或数据集时,您可以在浏览器的地址栏中看到这些唯一的ID。 在报告中,有指向使用的数据集链接

{
  "datasetId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229",  <-- This is the dataset used in the report
  "id": "5b218778-e7a5-4d73-8187-f10824047715",
  "name": "SalesMarketing",
  "webUrl": "https://app.powerbi.com//reports/5b218778-e7a5-4d73-8187-f10824047715",
  "embedUrl": "https://app.powerbi.com/reportEmbed?reportId=5b218778-e7a5-4d73-8187-f10824047715"
}
  1. 当我们更新报告时,datasetId会怎样?

当您重新发布相同的(修改的)报告时,您将收到一条消息,确认数据集将被覆盖。

在此处输入图片说明

但是数据集ID将保持不变。 但是,如果删除报表和数据集,然后再次发布,则这些ID将有所不同。

关于“错误请求”-查看异常中的信息。 它应该提示您为什么得到它。 检查响应的标题,是否有一个X-PowerBI-Error-Info ,如果是,则值为什么。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM