Uma opção ao aplicativo Gateway é fazer a atualização de painéis Power BI via prompt de comando do DOS (cmd).
O script gerado pode ser colocado no agendador de tarefas do windows para ser executado de forma periódica. Vamos descrever o passo a passo:
1. Abra o cmd e chame o powershell ou vá direto ao powershell
2. Se não estiver instalado, instale os seguintes módulos:
# Instalar e carregar módulo
Install-Module -Name MicrosoftPowerBIMgmt -Scope CurrentUser
Import-Module MicrosoftPowerBIMgmt
3. Informe as credenciais de acesso ao serviço app.powerbi.com (para não precisar abrir a janela interativa)
# Criar credenciais
$User = "cremildo@*******.com.br"
$Password = ConvertTo-SecureString "<coloque aqui a senha>" -AsPlainText -Force
$Cred = New-Object System.Management.Automation.PSCredential($User, $Password)
4. Conecte ao serviço passando as credenciais do passo 3
# Conectar ao Power BI
Connect-PowerBIServiceAccount -Credential $Cred
5. Listar os seus workspaces
# Listar todos os workspaces que você tem acesso
Get-PowerBIWorkspace
Pega o ID que aparecerá do workspace de interesse: “2a07d8b0-1dd8-4252-9c35-90a71186b178”
$workspaceId = “2a07d8b0-1dd8-4252-9c35-90a71186b178”
6. Listar os datasets dentro do workspace selecionado
# Listar datasets dentro do workspace
Get-PowerBIDataset -WorkspaceId $workspaceId
Se tiver muitos datasets a saída pode ser para um arquivo
Get-PowerBIDataset -WorkspaceId $workspaceId > c:\temp\dataset.txt
Pega-se o id do dataset lineup
Id: “59b42d41-e4ca-40ca-80f1-a985288cd9ab”
7. Atualiza o dataset do painel
#ATUALIZA
$workspaceId = "2a07d8b0-1dd8-4252-9c35-90a71186b178"
$datasetId = "59b42d41-e4ca-40ca-80f1-a985288cd9ab"
# Disparar atualização do dataset
Invoke-PowerBIRestMethod -Url "groups/$workspaceId/datasets/$datasetId/refreshes" -Method Post
Write-Output "Atualização do dataset iniciada!"