简体   繁体   English

如何使用 SQL 代理作业启动 Power BI 数据集刷新

[英]How to start Power BI Dataset refresh with SQL Agent Job

In a certain requirement I have to start Power BI Dataset refresh only after SQL Agent job finished.在某些要求中,我必须在 SQL 代理作业完成后启动 Power BI 数据集刷新。 My plan is to add a step in the Agent Job so that it can call the Power BI Data refresh.我的计划是在代理作业中添加一个步骤,以便它可以调用 Power BI 数据刷新。 Any one has any idea how to achieve that.任何人都知道如何实现这一目标。

Thanks in advance.提前致谢。

One step to do this is with with PowerShell.这样做的一个步骤是使用 PowerShell。 Install Microsoft Power BI Management CmdLets and add a PowerShell step to execute the following script:安装Microsoft Power BI 管理 CmdLets并添加PowerShell 步骤以执行以下脚本:

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

It will call the Refresh Dataset In Group REST API to initiate a dataset refresh.它将调用组 REST API 中的刷新数据集来启动数据集刷新。

Replace the x-es with the group/workspace ID and actual dataset ID.将 x-es 替换为组/工作区 ID 和实际数据集 ID。 Also provide valid credentials.还要提供有效的凭据。 This is the simplest way, but you can also make it work with service principal for example.这是最简单的方法,但您也可以使其与服务主体一起使用。

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

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