【发布时间】:2020-06-27 12:56:20
【问题描述】:
在某些要求中,我必须仅在 SQL 代理作业完成后启动 Power BI 数据集刷新。我的计划是在代理作业中添加一个步骤,以便它可以调用 Power BI 数据刷新。任何人都知道如何实现这一目标。
提前致谢。
【问题讨论】:
标签: sql-server powershell powerbi sql-agent
在某些要求中,我必须仅在 SQL 代理作业完成后启动 Power BI 数据集刷新。我的计划是在代理作业中添加一个步骤,以便它可以调用 Power BI 数据刷新。任何人都知道如何实现这一目标。
提前致谢。
【问题讨论】:
标签: sql-server powershell powerbi sql-agent
使用 PowerShell 可以做到这一点。安装Microsoft Power BI Management CmdLets并添加PowerShell step以执行以下脚本:
Import-Module MicrosoftPowerBIMgmt
Import-Module MicrosoftPowerBIMgmt.Profile
$password = "xxxxx" | ConvertTo-SecureString -asPlainText -Force
$username = "xxxxx@yyyyy.com"
$credential = New-Object System.Management.Automation.PSCredential($username, $password)
Connect-PowerBIServiceAccount -Credential $credential
Invoke-PowerBIRestMethod -Url 'groups/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/datasets/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/refreshes' -Method Post
Disconnect-PowerBIServiceAccount
它将调用Refresh Dataset In Group REST API 来启动数据集刷新。
将 x-es 替换为组/工作区 ID 和实际数据集 ID。还提供有效的凭据。这是最简单的方法,但您也可以使其与 service principal 一起使用。
【讨论】: