如何使用 SQL 代理作业启动 Power BI 数据集刷新
How to start Power BI Dataset refresh with SQL Agent Job
在特定要求下,我必须在 SQL 代理作业完成后才启动 Power BI 数据集刷新。我的计划是在代理作业中添加一个步骤,以便它可以调用 Power BI 数据刷新。任何人都知道如何实现这一目标。
提前致谢。
执行此操作的一个步骤是使用 PowerShell。安装Microsoft Power BI Management CmdLets and add a 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 来启动数据集刷新。
用 group/workspace ID 和实际数据集 ID 替换 x-es。同时提供有效凭证。这是最简单的方法,但您也可以使用 service principal 等方式使其工作。
在特定要求下,我必须在 SQL 代理作业完成后才启动 Power BI 数据集刷新。我的计划是在代理作业中添加一个步骤,以便它可以调用 Power BI 数据刷新。任何人都知道如何实现这一目标。
提前致谢。
执行此操作的一个步骤是使用 PowerShell。安装Microsoft Power BI Management CmdLets and add a 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 来启动数据集刷新。
用 group/workspace ID 和实际数据集 ID 替换 x-es。同时提供有效凭证。这是最简单的方法,但您也可以使用 service principal 等方式使其工作。