【发布时间】:2021-01-28 16:42:54
【问题描述】:
我混合使用了 powershell powerbi 管理库和其他 api 来更新数据源。 (如此处所述 - https://docs.microsoft.com/en-us/rest/api/power-bi/datasets/updatedatasourcesingroup#datasourceconnectiondetails)
https://api.powerbi.com/v1.0/myorg/groups/{0}/datasets/{1}/Default.UpdateDatasources 更新数据源。我正在传递 {0} 的工作区 ID 和 {1} 的数据集 ID。
$datasets = Get-PowerBIDataset -WorkspaceId $workspaceObj.Id
foreach($dataset in $datasets)
{
$DatasetId = $dataset.Id.Guid
$json =
@'
{{
"updateDetails": [{{
"datasourceSelector": {{
"datasourceType": "AnalysisServices",
"connectionDetails": {{
"server": "{0}",
"database": "{1}"
}}
}},
"connectionDetails": {{
"server": "{0}",
"database": "{1}"
}}
}}
]
}}
'@
$json = [string]::Format($json, $AasServer, $modelName)
$apiDatasetUrl = [string]::Format('https://api.powerbi.com/v1.0/myorg/groups/{0}/datasets/{1}/Default.UpdateDatasources',$workspaceObj.Id , $DatasetId)
Invoke-RestMethod -Headers $headers -Method 'Post' -Body $json -Uri $apiDatasetUrl -ContentType 'application/json'
}
这会导致 404 错误:
找不到数据集 {guid}
我做错了什么?当 guid 来自 Power BI api 时,我无法理解如何找不到数据集。
我也尝试在 json 正文中包含“datasourceId”和“gatewayId”,但这没有效果。
【问题讨论】:
标签: powerbi powerbi-datasource