Automatize seu 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 um processo de liberação eficiente e reutilizável para seu conteúdo do Power BI.
Nota
As APIs de pipelines de implantação listadas aqui só se aplicam a itens do Power BI. Para APIs de malha, consulte a documentação da API de malha.
Para obter integração contínua e entrega contínua (CI/CD) 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 de ferramentas de automação do Power BI, que dá suporte a muitas das operações de API de pipelines de implantação.
Você pode usar os pipelines de implantação das APIs REST 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:
Gerencie 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.
Atribua e cancele a atribuição de usuários de e para um pipeline.
Integre o Fabric em ferramentas familiares de DevOps, como Azure DevOps ou GitHub Actions.
Agende implantações de pipeline para acontecer automaticamente em um horário específico.
Implante 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.
Funções da 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 pipelines e seu conteúdo. Obter as informações do pipeline permite que você crie dinamicamente as chamadas de API de implantação. Você também pode verificar o status de uma implantação ou o histórico de implantação.
Implantar - As chamadas REST permitem que os desenvolvedores usem qualquer tipo de implantação disponível no serviço Fabric.
Criar e excluir pipelines - Use Create pipeline e Delete 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 - de pipeline Excluir usuário de pipeline permite remover um usuário de um pipeline. Atualizar usuário de pipeline permite que você adicione um usuário ao seu pipeline.
Quais tipos de implantação as APIs suportam?
As APIs suportam os seguintes tipos de implantação:
Implantar tudo - Uma única chamada de API que implanta todo o conteúdo no espaço de trabalho para o próximo estágio no pipeline. Para esta operação, use a opção Implantar toda a API.
Implantação seletiva - Implanta apenas itens específicos, como relatórios ou painéis, no pipeline. Para esta operação, use a API de implantação seletiva.
Retroimplantação - Implanta novos itens no estágio anterior. A implantação retroativa só funciona se os itens implantados ainda não existirem no estágio de destino. Para esta operação, use as APIs Deploy all ou Selective deploy , com
isBackwardDeployment
definido comoTrue
.Atualizar aplicativo - Como parte da chamada de API de implantação, você pode atualizar o conteúdo do aplicativo relacionado a esse estágio. Os itens atualizados ficam automaticamente disponíveis para os usuários finais, após a conclusão de uma implantação. Para esta operação, use as APIs Deploy all ou Selective deploy , com PipelineUpdateAppSettings.
Antes de começar
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 precisa de permissões de pipeline e espaço de trabalho e acesso a um aplicativo Microsoft Entra.
Se você for usar scripts do PowerShell, instale os cmdlets do Power BI PowerShell Install-Module MicrosoftPowerBIMgmt.
Integre seu pipeline com o Azure DevOps
Para automatizar os processos de implantação de dentro do seu pipeline de liberação no Azure DevOps, use 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 - Esta extensão funciona com uma entidade de serviço ou um usuário.
Você também pode usar outras chamadas de API REST do Power BI para concluir operações relacionadas, como importar um .pbix para o pipeline, atualizar fontes de dados e parâmetros.
Usar a extensão de ferramentas de automação do Power BI
A extensão das ferramentas de automação do Power BI é uma extensão de DevOps do Azure de código aberto 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 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 juntas em um pipeline de DevOps do Azure para criar um cenário mais complexo, como criar um pipeline, atribuir um espaço de trabalho ao pipeline, adicionar usuários e implantar.
Depois de adicionar a extensão das ferramentas de automação do Power BI ao DevOps, você precisa criar uma conexão de serviço. Estão disponíveis as seguintes ligações:
Entidade de serviço (recomendado) - Esta conexão é autenticada usando uma entidade de serviço e requer o segredo do aplicativo Microsoft Entra e a ID do aplicativo. Ao usar essa opção, verifique se as configurações de administrador de serviço para a entidade de serviço estão habilitadas.
Nome de usuário e senha – Configurado como uma conexão de serviço genérico com um nome de usuário e uma senha. Este método de conexão não suporta autenticação multifator. Recomendamos que você use o método de conexão da entidade de serviço porque ele não requer o armazenamento de credenciais de usuário no Azure DevOps.
Nota
A extensão das 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 de DevOps do Azure.
Depois de habilitar uma conexão de serviço para suas ferramentas de automação do Azure DevOps Power BI, você pode criar tarefas de pipeline. A extensão inclui as seguintes tarefas de pipelines de implantação:
Criar um novo pipeline
Atribuir um espaço de trabalho a um estágio de pipeline
Adicionar um usuário a um pipeline de implantação
Adicionar um usuário a um espaço de trabalho
Implantar conteúdo em um pipeline de implantação
Remover um espaço de trabalho de um pipeline de implantação
Excluir um pipeline
Acessar os exemplos do PowerShell
Você pode usar os seguintes scripts do PowerShell para entender como executar vários processos de automação. Para exibir ou copiar o texto em um exemplo do PowerShell, use os links nesta seção.
Você também pode baixar toda PowerBI-Developer-Samples
a pasta do GitHub.
Exemplo do PowerShell
Esta seção descreve um exemplo de script do PowerShell que implanta um modelo semântico, relatório e painel, desde o estágio de desenvolvimento até o estágio de teste. Em seguida, o script verifica se a implantação foi bem-sucedida.
Para executar um script do PowerShell que executa uma implantação, você precisa dos seguintes componentes. Você pode adicionar qualquer uma dessas partes em tarefas em seus estágios de pipeline do Azure.
Entrar - Antes de 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) 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 notificá-lo 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 da interface do usuário dos pipelines de implantação.
Uma entidade de serviço não pode configurar credenciais OAuth . Depois de implantar novos itens, a entidade de serviço conectada torna-se proprietária de todos os relatórios paginados e modelos semânticos implantados. Nesses casos, uma atualização não pode ser concluída.
Não há suporte para a 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 de pipeline de implantação oferecem suporte apenas a itens do Power BI.
Atualmente, a criação de um pipeline personalizado de 2 a 10 estágios é suportada apenas por meio da interface do usuário.