(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisboa

Como automatizar Refresh de Power BI em Fabric: passo a passo

João Barros 14 de September de 2026 4 min de leitura

Este tutorial mostra como automatizar o refresh de relatórios Power BI no Microsoft Fabric usando Pipelines e a REST API para agendar atualizações e tratar erros comuns. A automatização evita refresh manual, garante dados actualizados e permite alertas quando algo falha.

Pré-requisitos

  • Conta com acesso ao workspace no Microsoft Fabric e permissões de Admin/Manage.
  • Relatório Power BI já publicado no workspace do Fabric.
  • Azure Active Directory App registada com permissões para Power BI (Dataset.ReadWrite.All) e Client Secret.
  • Familiaridade básica com HTTP e ficheiros JSON; ferramenta curl ou PowerShell disponível.

Passo 1: Registar uma AAD App e obter Client Secret

Precisamos de uma AAD App para autenticar e chamar a Power BI REST API a partir do Pipeline. No Azure Portal crie uma App, defina Redirect URI (opcional para client credentials) e gere um Client Secret. Anote o Tenant ID, Client ID e Client Secret — serão usados depois.

Passo 2: Conceder permissões Power BI à AAD App

No portal do Azure, em API permissions da App, adicione a permissão "Power BI Service" -> "Application" -> "Dataset.ReadWrite.All" e clique em "Grant admin consent". Isto permite à app gerir o refresh de datasets.

Passo 3: Obter token de acesso (exemplo com curl)

Use o fluxo client_credentials para obter um token OAuth2. Substitua os placeholders pelo seu Tenant ID, Client ID e Client Secret.

curl -X POST https://login.microsoftonline.com/{TENANT_ID}/oauth2/v2.0/token \   -H "Content-Type: application/x-www-form-urlencoded" \   -d "client_id={CLIENT_ID}&scope=https%3A%2F%2Fanalysis.windows.net%2Fpowerbi%2Fapi%2F.default&client_secret={CLIENT_SECRET}&grant_type=client_credentials"

Passo 4: Identificar Dataset ID e Group (workspace) ID

Para acionar o refresh precisamos do datasetId e do groupId (workspace). Use a API para listar datasets no workspace. Substitua {ACCESS_TOKEN} e {GROUP_ID}.

curl -H "Authorization: Bearer {ACCESS_TOKEN}" \   https://api.powerbi.com/v1.0/myorg/groups/{GROUP_ID}/datasets

Passo 5: Criar um Pipeline no Fabric para chamar a API

No Microsoft Fabric crie um Pipeline (Data Factory) simples que execute uma actividade Web. O Pipeline organiza e agenda a chamada. Crie um Linked Service do tipo "REST" ou use uma actividade Web com cabeçalhos e payload apropriados.

Passo 6: Configurar a actividade Web para disparar o refresh

Configure a actividade Web para fazer um POST para a endpoint de refresh do dataset:

POST https://api.powerbi.com/v1.0/myorg/groups/{GROUP_ID}/datasets/{DATASET_ID}/refreshes
Headers:
  Authorization: Bearer {ACCESS_TOKEN}
  Content-Type: application/json
Body:
  { "notifyOption": "MailOnCompletion" }

Opcionalmente use {notifyOption: "NoNotification"} e trate notificações através de outro sistema.

Passo 7: Tratar resposta e erros comuns

Adicione lógica no Pipeline para verificar o código HTTP e o corpo JSON. Erros comuns: 401 (token inválido), 403 (permissões insuficientes), 404 (dataset ou workspace errados). Se receber 202, o refresh foi aceite; terá de consultar o estado posteriormente.

Passo 8: Consultar estado do refresh

Se quiser confirmar o resultado do refresh, chame a API de refresh history ou status do dataset:

GET https://api.powerbi.com/v1.0/myorg/groups/{GROUP_ID}/datasets/{DATASET_ID}/refreshes
Headers:
  Authorization: Bearer {ACCESS_TOKEN}

Verifique o campo "status" (Completed, Failed, Unknown) e o "endTime" para validar o sucesso.

Verificar o resultado

Valide que o Pipeline corre sem erros no Microsoft Fabric e que a chamada à REST API retorna 202 ou 200 conforme o endpoint. Verifique no serviço Power BI: o relatório deve mostrar dados actualizados e o histórico de refresh do dataset deve registar a execução com status Completed. Em caso de falha, reveja token, permissões e IDs usados.

Conclusão

Automatizar o refresh de Power BI em Microsoft Fabric usando Pipelines e a REST API permite agendar e monitorizar atualizações de datasets sem intervenção manual. Próximos passos: acrescentar retries, notificação por e-mail/Teams e integração com logs do Workspace para diagnóstico. Experimente monitorizar o tempo de refresh e pergunte-se: qual é a janela de atualização aceitável para os utilizadores?