Power BI: Tutorial de como usar a API para atualizar um conjunto de dados

O Power BI é uma ferramenta poderosa de análise de dados, que permite aos usuários criar dashboards e relatórios interativos....
integração via API

O Power BI é uma ferramenta poderosa de visualização e análise de dados da Microsoft, que permite por exemplo aos usuários criar dashboards e relatórios interativos a partir de diversas fontes de dados.

 Enquanto o Power BI facilita a atualização manual de datasets através da interface do usuário, em muitos cenários empresariais, é necessário automatizar a atualização desses datasets para garantir que os relatórios reflitam os dados mais recentes sem intervenção manual. A API do Power BI permite essa automação.

Imagine uma empresa que utiliza o Power BI para monitorar a performance de vendas diariamente. Os dados de vendas são agregados em um sistema de gestão à meia-noite de cada dia.

Utilizar a API para atualizar automaticamente o dataset do Power BI após a conclusão da agregação diária de dados garante que os dashboards de vendas reflitam os números mais recentes todas as manhãs, sem necessidade de intervenção manual. Além disso, é uma ação que facilita a vida do usuário.

Para atualizar uma fonte de dados publicada no Power BI por meio de uma API, o processo envolve a utilização da API do Power BI para acionar um refresh no dataset específico.

Aqui está um detalhamento mais específico desse processo, que pressupõe que você já tenha realizado os passos iniciais de configuração, assim como registrar sua aplicação no Azure Active Directory e obter as permissões necessárias.

Passo 1: Registrar sua Aplicação no Azure Active Directory (Azure AD)

Primeiramente para interagir com o Power BI através de uma API, sua aplicação precisa estar registrada no Azure Active Directory (Azure AD) para obter as credenciais necessárias para a autenticação.

Acesse o portal do Azure

Vá para o Portal do Azure e faça login com sua conta (https://portal.azure.com/).

Registrar uma nova aplicação

Encontre o serviço ” Microsoft Entra ID”, vá para “Registros de aplicações” e clique em “Novo registro”.

Configure a aplicação

Forneça um nome para sua aplicação, defina os tipos de conta suportados, e, mais importante, configure a URL de redirecionamento (necessária para a autenticação de fluxos OAuth2).

Registrar

Após o preenchimento das informações, clique em “Registrar”.

Guarde o ID do Aplicativo e o ID do Diretório (Tenant)

Você precisará do código secreto para usar na API. Salve essa informação, pois ela não ficará mais disponível para visualização.

Registre um Certificados e Segredos

Você precisará destes para a autenticação.

Passo 2: Configurar Permissões

Após o registro, configure as permissões da aplicação para acessar o Power BI.

Configurações de API

Na página de sua aplicação, encontre a seção de “Permissões de API” e adicione permissões. Em seguida, escolha o Power BI Service e defina as permissões necessárias (como leitura e gravação de relatórios).

Consentimento do administrador

Para algumas permissões, pode ser necessário o consentimento de um administrador.

Passo 3: Obter o Token de Acesso

Para fazer chamadas à API do Power BI, você precisará de um token de acesso.

Autenticação

Utilize o ID do Aplicativo, o Segredo do Cliente (se aplicável), e o ID do Diretório para obter um token de acesso via OAuth 2.0. Além disso existem várias bibliotecas em diferentes linguagens de programação que podem facilitar esse processo.

Exemplo em python:

import requests

# Configurações

client_id = ‘SEU_CLIENT_ID’

client_secret = ‘SEU_CLIENT_SECRET’

tenant_id = ‘SEU_TENANT_ID’

dataset_id = ‘SEU_DATASET_ID’

group_id = ‘SEU_GROUP_ID’  # Use ‘me’ se o dataset estiver no workspace pessoal

# URL para obter o token de acesso

token_url = f’https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token’

# Parâmetros para obter o token de acesso

token_data = {

    ‘grant_type’: ‘client_credentials’,

    ‘client_id’: client_id,

    ‘client_secret’: client_secret,

    ‘scope’: ‘https://analysis.windows.net/powerbi/api/.default’

}

# Solicitar o token de acesso

response = requests.post(token_url, data=token_data)

response.raise_for_status()  # Lança um erro se a solicitação falhar

access_token = response.json().get(‘access_token’)

Token de Acesso

Uma vez autenticado, você receberá um token de acesso que será usado para autenticar suas solicitações de API ao Power BI.

Passo 4: Ativar o uso de aplicações no portal de Administração do PBI

Para conseguir usar a API no PBI é necessário realizar a ativação no portal de administração bem como incluir a aplicação criada no workspace:

  1. Acesse o power bi através do link app.powerbi.com, clique na engrenagem e selecione portal de administração.

2. Selecione configuração de locatário e habilite em configurações de desenvolvedor as opções inserir conteúdo em aplicativos bem como as entidades de serviço podem usar APIs do Fabric

3. Após isso vá ao workspace que deseja que a API interaja e dê permissão para o aplicativo criado, clicando gerenciar acesso.

4. Adicionar pessoas ou grupos.

5. Inclua o aplicativo e conceda a permissão.

Passo 5: Identificar o Dataset

Para atualizar um dataset, primeiramente você precisa identificar o ID do dataset que deseja atualizar. Você pode encontrar este ID no Power BI Service ou através de uma solicitação à API do Power BI que lista todos os datasets disponíveis.

  1. Faça uma solicitação GET para https://api.powerbi.com/v1.0/myorg/datasets para listar todos os datasets disponíveis na sua organização.
  2. Procure na resposta o ID do dataset que deseja atualizar.

Passo 6: Acionar o Refresh no Dataset

Uma vez que tenha o ID do dataset, você pode acionar um refresh nele.

  1. Faça uma solicitação POST para ‘https://api.powerbi.com/v1.0/myorg/datasets/{datasetId}/refreshes’ substituindo {datasetId} pelo ID real do seu dataset.
  2. No cabeçalho da solicitação, inclua o token de acesso para autenticação.

Exemplo de Código para Acionar o Refresh

Aqui está um exemplo básico de como acionar um refresh de um dataset usando Python e a biblioteca requests:

import requests

# Substitua estas variáveis pelos seus valores reais

access_token = ‘SEU_TOKEN_DE_ACESSO_AQUI’

dataset_id = ‘SEU_DATASET_ID_AQUI’

url = f’https://api.powerbi.com/v1.0/myorg/datasets/{dataset_id}/refreshes’

headers = {

    ‘Authorization’: f’Bearer {access_token}’,

    ‘Content-Type’: ‘application/json’,

}

response = requests.post(url, headers=headers)

if response.status_code == 202:

    print(“Refresh iniciado com sucesso.”)

else:

    print(“Falha ao iniciar o refresh.”, response.json())

Monitorar o Status do Refresh

Após acionar o refresh, pode ser útil verificar o status para saber quando a atualização foi concluída.

  1. Faça uma solicitação GET para ‘https://api.powerbi.com/v1.0/myorg/datasets/{datasetId}/refreshes’para obter o status dos últimos refreshes.

Considerações Finais

Limites de Refresh: O Power BI Service impõe limites na frequência de refreshes que você pode realizar, dependendo da sua licença. Portanto, verifique a documentação atual para entender esses limites.

Lembrando sempre de conferir a documentação oficial do Power BI para as informações mais atualizadas sobre as APIs e seus limites.

Espero ter te ajudado com as informações e orientações sobre a integração via API com o Power BI e a automação do processo de refresh de datasets. Até a próxima!

Sobre o autor

Eduardo Viana é head de Analytics da Wiser Tecnologia | Executivo de Dados com mais de 10 anos de experiência em Business Intelligence. 

Compartilhe este conteúdo

Posts relacionados

Utilizamos cookies para melhorar a sua experiência em nosso site. Para mais informações, visite nossa Política de Privacidade.