繁体   English   中英

Power BI - 数据集刷新完成数据 PowerShell

[英]Power BI - dataset refresh completion data PowerShell

我正在使用 PowerShell 以编程方式刷新我的 powerbi.com 数据集。 这一切正常。 但是,如果有一种方法可以从 Microsoft 检索刷新完成时间数据,这将是有帮助的。 我可以列出我用来启动刷新的过程,但这是有据可查的,与此问题无关。

由于 powerbi.com 显示数据集刷新完成时间,因此我可以获取该数据是合理的,但我找不到任何有关此的文档。 这里有没有人试图获取这些数据(下面的截图)?

在此处输入图片说明

代替将触发刷新的POST 方法,即这是Refresh Dataset In Group API,将方法更改为GET 以使用Get Refresh History In Group API。 这将返回有关此数据集刷新的信息。 所以 PowerShell 代码可能是这样的:

Import-Module MicrosoftPowerBIMgmt

$username = "my super strong password"
$password = "user@domain.com" | ConvertTo-SecureString -asPlainText -Force

$groupId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
$datasetId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

$credential = New-Object System.Management.Automation.PSCredential($username, $password)

Connect-PowerBIServiceAccount -Credential $credential

$refreshes_response = Invoke-PowerBIRestMethod -Url "https://api.powerbi.com/v1.0/myorg/groups/$groupId/datasets/$datasetId/refreshes" -Method Get 

Disconnect-PowerBIServiceAccount

$refreshes_response_json = ConvertFrom-Json $refreshes_response

foreach ($refresh in $refreshes_response_json.value)
{
    Write-Output "refreshType: $($refresh.refreshType), startTime: $($refresh.startTime), endTime: $($refresh.endTime), status: $($refresh.status)"
}

您还可以通过在 URL 中提供一个数字来限制返回的刷新次数:

GET https://api.powerbi.com/v1.0/myorg/groups/{groupId}/datasets/{datasetId}/refreshes?$top={$top}

但如果最后一个不成功,您可能需要查看较旧的事件以找到最后一个成功的事件。 还要查看刷新的状态,因为它可能仍在进行中(在这种情况下它会显示Unknown )。

暂无
暂无

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

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