Automatizar o pipeline de implantação para itens do Power BI usando APIs
A ferramenta de pipelines de implantação do Microsoft Power BI permite que as equipes de business intelligence criem, para os próprios conteúdos do Power BI, um processo de versão eficiente e reutilizável.
Observação
As APIs de pipelines de implantação listadas aqui só se aplicam a itens do Power BI. Para APIs de Fabric, consulte a documentação da API do Fabric.
Para obter CI/CD (integração contínua e entrega contínua) de conteúdo, muitas organizações usam ferramentas de automação, incluindo o Azure DevOps. As organizações que usam o Azure DevOps podem usar a extensão Ferramenta de automação do Power BI, que dá suporte a muitas das operações de API de pipelines de implantação.
Você pode usar as APIs REST de pipelines de implantação do Power BI para integrar o Fabric ao processo de automação da sua organização. Aqui estão alguns exemplos do que pode ser feito usando as APIs:
Gerenciar pipelines do início ao fim, incluindo a criação de um pipeline, a atribuição de um espaço de trabalho a qualquer estágio e a implantação e exclusão do pipeline.
Atribuir e cancelar a atribuição de usuários de e para um pipeline.
Integrar o Fabric nas ferramentas DevOps conhecidas, como Azure DevOps ou GitHub Actions.
Agendar implantações de pipeline para que ocorram automaticamente em um momento específico.
Implantar vários pipelines ao mesmo tempo.
Cascata dependendo das implantações de pipeline. Se você tiver conteúdo conectado entre pipelines, poderá garantir que alguns pipelines sejam implantados antes de outros.
Pré-requisitos
Antes de usar as APIs de pipelines de implantação, verifique se você tem o seguinte:
A entidade de serviço ou o usuário que chama as APIs precisam de permissões de pipeline e espaço de trabalho e acesso a um aplicativo do Microsoft Entra.
Se você for usar scripts do PowerShell, instale os cmdlets Install-Module MicrosoftPowerBIMgmt do PowerShell para o Power BI.
Funções de API de pipelines de implantação
Os pipelines de implantação das APIs REST do Power BI permitem que você execute as seguintes funções:
Obter informações de pipeline – recupere informações sobre seus os pipelines e o conteúdo deles. A obtenção das informações do pipeline permite que você crie dinamicamente as chamadas à API de implantação. Você também pode verificar o status de uma implantação ou o histórico de implantações.
Implantar – As chamadas REST permitem que os desenvolvedores usem todos os tipos de implantação disponíveis no serviço do Fabric.
Criar e Excluir pipelines – use Criar pipeline e Excluir pipeline para executar essas operações.
Gerenciar espaços de trabalho – com Atribuir espaço de trabalho e Cancelar atribuição de espaço de trabalho, você pode atribuir e cancelar a atribuição de espaços de trabalho a estágios de pipeline específicos.
Gerenciar usuários do pipeline - Excluir usuário do pipeline permite remover um usuário de um pipeline. Atualizar usuário do pipeline permite que você adicione um usuário ao seu pipeline.
Quais tipos de implantação são compatíveis com as APIs?
As APIs dão suporte aos seguintes tipos de implantação:
Implantar tudo – uma chamada individual à API que implanta todo o conteúdo no workspace para o próximo estágio no pipeline. Para essa operação, use a API Implantar tudo.
Implantação seletiva – Implanta somente itens específicos, como relatórios ou painéis no pipeline. Para essa operação, use a API Implantação seletiva.
Implantação retroativa – Implanta novos itens no estágio anterior. A implantação retroativa só funcionará se os itens que tiverem sido implantados ainda não existirem no estágio de destino. Para essa operação, use as APIs Implantar tudo ou Implantação seletiva, com
isBackwardDeployment
definido paraTrue
.Atualizar Aplicativo – como parte da chamada à API de implantação, você pode atualizar o conteúdo do aplicativo relacionado a esse estágio. Os itens atualizados ficam disponíveis automaticamente para os usuários finais após a conclusão de uma implantação. Para essa operação, use uma das APIs Implantar tudo e Implantação seletiva, com PipelineUpdateAppSettings.
Integrar o pipeline ao Azure DevOps
Para automatizar os processos de implantação de dentro do seu pipeline de lançamento no Azure DevOps, você pode usar um destes métodos:
PowerShell – O script entra no Fabric usando uma entidade de serviço ou um usuário.
Ferramentas de automação do Power BI – essa extensão funciona com uma entidade de serviço ou um usuário.
Você também pode usar outras chamadas à API REST do Power BI para concluir operações relacionadas, como importar um .pbix para o pipeline e atualizar fontes de dados e parâmetros.
Usar a extensão de ferramentas de automação do Power BI
A extensão de ferramentas de automação do Power BI são uma extensão em código aberto do Azure DevOps que fornece uma variedade de operações de pipelines de implantação que podem ser executadas no Azure DevOps. A extensão elimina a necessidade de usar APIs ou scripts para gerenciar pipelines. Cada operação pode ser usada individualmente para executar uma tarefa, como a criação de um pipeline. As operações podem ser usadas em conjunto em um pipeline do Azure DevOps para criar um cenário mais complexo, como criar um pipeline, atribuir um espaço de trabalho ao pipeline, adicionar usuários e fazer implantações.
Depois de adicionar a extensão de ferramentas de automação do Power BI ao DevOps, você precisará criar uma conexão de serviço. As seguintes conexões estão disponíveis:
Entidade de serviço (recomendada) – essa conexão é autenticada usando uma entidade de serviço e requer o segredo do aplicativo do Microsoft Entra e a ID do aplicativo. Ao usar essa opção, verifique se as configurações de administração da entidade de serviço estão habilitadas.
Nome de usuário e senha – Configurado como uma conexão de serviço genérica com um nome de usuário e uma senha. Esse método de conexão não dá suporte à autenticação multifator. Nós recomendamos que você use o método de conexão da entidade de serviço, pois ele não requer o armazenamento de credenciais do usuário no Azure DevOps.
Observação
A extensão de ferramentas de automação do Power BI usa uma conexão de serviço do Azure DevOps para armazenar credenciais. Para obter mais informações, consulte Como armazenamos suas credenciais para os serviços do Azure DevOps.
Depois de habilitar uma conexão de serviço para suas ferramentas de automação do Power BI do Azure DevOps, você poderá criar tarefas de pipeline. A extensão inclui as seguintes tarefas de pipelines de implantação:
Criar um novo pipeline
Atribuir um workspace a um estágio do pipeline
Adicionar um usuário a um pipeline de implantação
Adicionar um usuário a um workspace
Implantar conteúdo em um pipeline de implantação
Remover um workspace de um pipeline de implantação
Excluir um pipeline
Acessar os exemplos do PowerShell
Você pode usar os scripts do PowerShell a seguir para entender como executar vários processos de automação. Para exibir ou copiar o texto em um exemplo do PowerShell, use os links desta seção.
Você também pode baixar toda a pasta PowerBI-Developer-Samples
do GitHub.
Exemplo de PowerShell
Esta seção descreve um exemplo de script do PowerShell que implanta um modelo semântico, um relatório e um painel, desde a fase de desenvolvimento até a fase de testes. Em seguida, o script verifica se a implantação foi bem-sucedida.
Para executar um script do PowerShell que realiza uma implantação, você precisará dos seguintes componentes. Você pode adicionar qualquer uma dessas partes em tarefas em seus estágios de pipeline do Azure.
Entrar – Antes que possa implantar seu conteúdo, você precisa entrar no Fabric usando uma entidade de serviço ou um usuário. Use o comando Connect-PowerBIServiceAccount para entrar.
Criar o corpo da solicitação – Nesta parte do script, você especifica quais itens (como relatórios e painéis) você está implantando.
$body = @{ sourceStageOrder = 0 # The order of the source stage. Development (0), Test (1). datasets = @( @{sourceId = "Insert your dataset ID here" } ) reports = @( @{sourceId = "Insert your report ID here" } ) dashboards = @( @{sourceId = "Insert your dashboard ID here" } ) options = @{ # Allows creating new item if needed on the Test stage workspace allowCreateArtifact = $TRUE # Allows overwriting existing item if needed on the Test stage workspace allowOverwriteArtifact = $TRUE } } | ConvertTo-Json
Implantar – aqui você executa a implantação.
$url = "pipelines/{0}/Deploy" -f "Insert you pipeline ID here" $deployResult = Invoke-PowerBIRestMethod -Url $url -Method Post -Body $body | ConvertFrom-Json
(Opcional) Notificação de conclusão da implantação – como a API de implantação é assíncrona, você pode programar o script para que lhe notifique quando a implantação for concluída.
$url = "pipelines/{0}/Operations/{1}" -f "Insert you pipeline ID here",$deployResult.id $operation = Invoke-PowerBIRestMethod -Url $url -Method Get | ConvertFrom-Json while($operation.Status -eq "NotStarted" -or $operation.Status -eq "Executing") { # Sleep for 5 seconds Start-Sleep -s 5 $operation = Invoke-PowerBIRestMethod -Url $url -Method Get | ConvertFrom-Json }
Considerações e limitações
A implantação usando APIs está sujeita às mesmas limitações que a interface do usuário dos pipelines de implantação.
Uma entidade de serviço não pode configurar credenciais OAuth. Após implantar novos itens, a entidade de serviço conectado se torna o proprietário de todos os relatórios paginados implantados e modelos semânticos. Nesses casos, uma atualização não pode ser concluída.
Não há suporte para implantação de fluxos de dados usando uma entidade de serviço.
O número máximo de itens que podem ser implantados em uma única implantação é 300.
Atualmente, as APIs dos pipelines de implantação só funcionam com os itens do Power BI.
Atualmente, a criação de um pipeline personalizado de 2 a 10 fases é suportada apenas pela interface do usuário.