Power BI 为缓存的 DatasetId 发送 "invalid status code '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 方法 [=32= 得到 Operation returned an invalid status code 'Bad Request' 异常](GroupId, dataSetId) 有时我的假设是他们应该更新 power bi 中的数据集。
我试图找出这两个问题的答案,但我找不到明确的答案
1、Report和DatasetId是什么关系?
因为在 Report 模型中我们有一个 datasetId,所以我认为一份报告应该基于一个唯一的数据集。
2. 当我们更新报表时,datasetId 会发生什么变化?
我得到那个异常,这意味着 datasetId 不再有效。
- What is the relation between Report and DatasetId?
通常,当您将报表从 Power BI Desktop 发布到 Power BI Online 服务时,它会拆分为单独的报表和数据集。它们具有相同的名称(并且在相同的 workspace/group 中)但它们具有自己唯一的 ID。当您打开报表或数据集时,您可以在浏览器的地址栏中看到这些唯一 ID。在报表中,有一个link to the dataset,用的是
{
"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"
}
- When we update a report, what happens to a datasetId?
当您 re-publish 相同(修改)的报告时,您将收到一条消息,确认数据集将被覆盖。
但数据集 ID 将保持不变。但是,如果删除报表和数据集,再发布,这些ID会不一样。
关于"Bad request" - 查看异常中的信息。它应该提示您为什么得到它。检查响应的headers,是否有一个X-PowerBI-Error-Info
,如果有,值是多少。
我目前正在处理有关在我们的平台中嵌入 power bi 报告的问题。我应该说我是 Power BI 的新手,我曾尝试阅读报告、组和数据集之间的关系。我的问题与缓存报告有关,datasetId 和数据集属于该报告。
实现了缓存?
一方面,当前的实现通过在调用 client.Reports.GetReportsInGroupAsync 后获取报告来缓存报告。并且每次尝试以其名称作为键来获取报告。但是,另一方面,为了获取 dataSets.IsEffectiveIdentityRequired 的值,它缓存了数据集。每次获得报告后,都会在缓存中搜索该数据集,以便能够分配 IsEffectiveIdentityRequired.
我的问题是我从 Power BI API 方法 [=32= 得到 Operation returned an invalid status code 'Bad Request' 异常](GroupId, dataSetId) 有时我的假设是他们应该更新 power bi 中的数据集。
我试图找出这两个问题的答案,但我找不到明确的答案 1、Report和DatasetId是什么关系? 因为在 Report 模型中我们有一个 datasetId,所以我认为一份报告应该基于一个唯一的数据集。 2. 当我们更新报表时,datasetId 会发生什么变化? 我得到那个异常,这意味着 datasetId 不再有效。
- What is the relation between Report and DatasetId?
通常,当您将报表从 Power BI Desktop 发布到 Power BI Online 服务时,它会拆分为单独的报表和数据集。它们具有相同的名称(并且在相同的 workspace/group 中)但它们具有自己唯一的 ID。当您打开报表或数据集时,您可以在浏览器的地址栏中看到这些唯一 ID。在报表中,有一个link to the dataset,用的是
{
"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"
}
- When we update a report, what happens to a datasetId?
当您 re-publish 相同(修改)的报告时,您将收到一条消息,确认数据集将被覆盖。
但数据集 ID 将保持不变。但是,如果删除报表和数据集,再发布,这些ID会不一样。
关于"Bad request" - 查看异常中的信息。它应该提示您为什么得到它。检查响应的headers,是否有一个X-PowerBI-Error-Info
,如果有,值是多少。