You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过服务主体调用Power BI REST API获取租户数据集刷新记录失败

Power BI服务主体无法获取数据集刷新记录的问题

我拥有一个GUID为[$group]的Power BI工作区,其中包含一个GUID为[$dataset]的数据集。使用个人凭据通过Azure Cloud Shell执行以下代码可正常获取最近3条刷新记录:

Connect-PowerBIServiceAccount
# 使用个人凭据登录
$Url = 'https://api.powerbi.com/v1.0/myorg/groups/' + $group + '/datasets/' + $dataset + '/refreshes?$top=3'
$results = $(Invoke-PowerBIRestMethod -Url $Url -Method Get | ConvertFrom-Json).value

但我需要修改代码以获取租户下所有工作区的刷新记录,因此改用服务主体登录:

Connect-PowerBIServiceAccount -ServicePrincipal -Credential $Credentials -Tenant $TenantId

此时执行原刷新记录查询代码会报错:

Invoke-PowerBIRestMethod: One or more errors occurred. ({
  "code": "ItemNotFound",
  "message": "Couldn't find dataset id "
})

经排查,在URL中加入/admin后可成功获取指定工作区的数据集:

$Url = 'https://api.powerbi.com/v1.0/myorg/admin/groups/'+$group+'/datasets'
$results_datasets = $(Invoke-PowerBIRestMethod -Url $Url -Method Get | ConvertFrom-Json).value

且已确认[$dataset]存在于返回的数据集ID中,但尝试以下URL获取该数据集的刷新记录时,均报错“找不到匹配的HTTP资源”:

$Url = 'https://api.powerbi.com/v1.0/myorg/admin/groups/' + $group + '/datasets/' + $dataset
$Url = 'https://api.powerbi.com/v1.0/myorg/admin/groups/' + $group + '/datasets/' + $dataset + '/refreshes'
$Url = 'https://api.powerbi.com/v1.0/myorg/admin/groups/' + $group + '/datasets/' + $dataset + '/refreshes?$top=3'

请问为何能获取数据集但无法获取其刷新记录?是否有更优的方式通过服务主体获取刷新数据?

注:服务主体所在安全组已启用Allow service principals to use Power BI APIs和Dataset Execute Queries REST API权限。


内容的提问来源于stack exchange,提问作者57Jimmy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 02:14:54