Saiba como migrar do Power BI Embedded para o serviço do Power BI e aproveitar os avanços para inserir em aplicativos.

A Microsoft recentemente anunciou Power BI Premium, um novo modelo de licenciamento com base em capacidade que aumenta a flexibilidade de como os usuários acessam, compartilham e distribuem conteúdo. A oferta também oferece desempenho e escalabilidade adicional para o serviço do Power BI.

Com a introdução do Power BI Premium, o Power BI Embedded e o serviço do Power BI estão convergindo para avançar na maneira como o conteúdo do Power BI é inserido em aplicativos. Isso significa que você terá uma superfície de API, um conjunto consistente de recursos e o acesso aos recursos mais recentes do Power BI, tais como dashboards, gateways e espaços de trabalho de aplicativo, ao inserir seu conteúdo. Mais adiante você poderá iniciar com o Power BI Desktop e mudar para a implantação com o Power BI Premium, que estará disponível no final do segundo trimestre de 2017.

O serviço atual do Power BI Embedded continuará disponível por um período limitado, após a disponibilidade geral da oferta convergida: os clientes com um Enterprise Agreement terão acesso até o final de seus contratos existentes; os clientes que adquiriram o Power BI Embedded por meio de canais Diretos ou CSP aproveitarão o acesso pelo período de um ano após a disponibilidade geral do Power BI Premium. Este artigo fornecerá algumas diretrizes para a migração do serviço do Azure para o serviço do Power BI e o que esperar em relação às alterações em seu aplicativo.

Importante:

Enquanto que a migração receberá uma dependência do serviço do Power BI, não há uma dependência no Power BI para os usuários do seu aplicativo ao usarem um token de inserção. Eles não precisa inscrever-se no Power BI para exibir o conteúdo inserido em seu aplicativo. É possível usar essa abordagem de inserção para atender usuários que não são do Power BI.

Preparar para a migração

Há algumas coisas que você precisa fazer para se preparar para migrar do serviço do Azure do Power BI Embedded para o serviço do Power BI. Você precisará de um locatário disponível, junto com um usuário que tenha uma licença do Power BI Pro.

  1. Verifique se que você tem acesso a um locatário do Azure Active Directory (Azure AD).

    Será necessário determinar qual configuração de locatário usar.

    • Usar seu locatário corporativo existente do Power BI?
    • Usar um locatário separado para o seu aplicativo?
    • Usar um locatário separado para cada cliente?

    Se você decidir criar um novo locatário para seu aplicativo ou para cada cliente, consulte Create an Azure Active Directory tenant (Criar um locatário do Azure Active Directory) ou Como obter um locatário do Azure Active Directory.

  2. Crie um usuário nesse novo locatário que funcionará como sua conta mestre do aplicativo. Essa conta precisa se inscrever no Power BI e ter uma licença Power BI Pro atribuída a ela.

Contas no Azure AD

As seguintes contas precisarão existir no seu locatário.

Observação:

Essas contas precisarão ter as licenças Power BI Pro para usar os espaços de trabalho do aplicativo.

  1. Um usuário administrador de locatário.

    É recomendável que esse usuário seja um membro de todos os Espaços de trabalho de aplicativo criados com a finalidade de inserção.

  2. Contas para analistas que criarão conteúdo.

    Esses usuários devem ser atribuídos aos Espaços de trabalho de aplicativo, conforme necessário.

  3. Uma conta de usuário mestre de aplicativo ou conta de serviço.

    O back-end de aplicativos armazenará as credenciais dessa conta e a usará para adquirir um token do Azure AD para utilizar com as APIs REST do Power BI. Essa conta será usada para gerar o token de inserção para o aplicativo. Essa conta também precisa ser administrador dos Espaços de trabalho do aplicativo criados para a inserção.

    Observação:

    Essa é apenas uma conta de usuário regular na sua organização que será usada para fins de inserção.

Registro do aplicativo e permissões

Você precisará registrar um aplicativo no Azure AD e conceder permissões específicas.

Registrar um aplicativo

Observação:

Você deve registrar o aplicativo usando a conta mestre do aplicativo.

Será necessário registrar um aplicativo como um aplicativo nativo do Azure em seu locatário do Azure AD. Você também pode registrar seu aplicativo através da ferramenta de registro de aplicativo do Power BI ou diretamente no portal do Azure AD. Para obter mais informações, consulte Register an application (Registrar um aplicativo). Certifique-se de selecionar Aplicativo Nativo para o Tipo de aplicativo.

Aplicar permissões ao seu aplicativo

Você precisará habilitar permissões adicionais para o seu aplicativo além do que foi fornecido na página de registro do aplicativo. Você pode fazer isso por meio do portal do Azure AD ou programaticamente.

Observação:

É recomendável seguir essas etapas usando a conta mestre do aplicativo. Ela deverá ser capaz de modificar as permissões de aplicativo no portal do Azure sem direitos de administrador. Ela será o proprietário do aplicativo.

Usando o Portal do Azure AD

  1. Navegue até a folha de Registros de aplicativo no Portal do Azure e selecione o aplicativo que você está usando para inserção.

  2. Selecione Permissões necessárias em Acesso à API.

  3. Selecione Microsoft Azure Active Directory e, em seguida, certifique-se de Acessar o diretório como o usuário conectado esteja selecionado. Selecione Salvar.

  4. Em Permissões necessárias, selecione Serviço do Power BI (Power BI).

  5. Selecione todas as permissões em Permissões Delegadas. Você precisará selecioná-las uma a uma para salvar as seleções. Selecione Salvar quando terminar.

  6. Em Permissões necessárias, selecione Conceder Permissões.

    Isso concederá as permissões de aplicativo em nome de todos os usuários na organização ou no locatário. Se você não quiser isso, será necessário entrar interativamente com sua ID do aplicativo no Azure AD pelo menos uma vez.

    Observação:

    Para conceder permissão a todos os usuários no locatário, essa operação deverá ser feita por uma conta na função de administrador global. Caso contrário, a permissão só será concedida ao usuário que seguiu a etapa.

Aplicando permissões de forma programática

  1. Você precisará obter as entidades de serviço existentes (usuários) no seu locatário. Para obter informações de como fazer isso, consulte Obter servicePrincipal.

    Observação:

    Você pode chamar a API Get servicePrincipal sem {id} e ela obterá todas as entidades de serviço dentro do locatário.

  2. Procure uma entidade de serviço com a ID de cliente do seu aplicativo como a propriedade appId.

  3. Crie um novo plano de serviço, se não houver um para o seu aplicativo.

    Post https://graph.microsoft.com/beta/servicePrincipals
    Authorization: Bearer ey..qw
    Content-Type: application/json
    {
    "accountEnabled" : true,
    "appId" : "{App_Client_ID}",
    "displayName" : "{App_DisplayName}"
    }
    
  4. Conceder Permissão do Aplicativo para a API do PowerBI

    Se você desejar conceder permissões em nome de todos os usuários de locatário, será possível executar o seguinte.

    Post https://graph.microsoft.com/beta/OAuth2PermissionGrants
    Authorization: Bearer ey..qw
    Content-Type: application/json
    { 
    "clientId":"{Service_Plan_ID}",
    "consentType":"AllPrincipals",
    "resourceId":"c78b2585-1df6-41de-95f7-dc5aeb7dc98e",
    "scope":"Dataset.ReadWrite.All Dashboard.Read.All Report.Read.All Group.Read Group.Read.All Content.Create Metadata.View_Any Dataset.Read.All Data.Alter_Any",
    "expiryTime":"2018-03-29T14:35:32.4943409+03:00",
    "startTime":"2017-03-29T14:35:32.4933413+03:00"
    }
    

    Se você estiver usando um locatário existente e não estiver interessado em conceder permissões em nome de todos os usuários de locatário, será possível conceder permissões a um usuário específico usando o seguinte.

    Post https://graph.microsoft.com/beta/OAuth2PermissionGrants
    Authorization: Bearer ey..qw
    Content-Type: application/json
    { 
    "clientId":"{Service_Plan_ID}",
    "consentType":"Principal",
    "principalId"= "{User_ObjectId}",
    "resourceId":"c78b2585-1df6-41de-95f7-dc5aeb7dc98e",
    "scope":"Dataset.ReadWrite.All Dashboard.Read.All Report.Read.All Group.Read Group.Read.All Content.Create Metadata.View_Any Dataset.Read.All Data.Alter_Any",
    "expiryTime":"2018-03-29T14:35:32.4943409+03:00",
    "startTime":"2017-03-29T14:35:32.4933413+03:00"
    }
    

    Para obter uma lista de usuários, é possível usar Listar usuários.

  5. Conceder Permissão do Aplicativo ao AAD

    Se você desejar conceder permissões em nome de todos os usuários de locatário, será possível executar o seguinte.

    Post https://graph.microsoft.com/beta/OAuth2PermissionGrants
    Authorization: Bearer ey..qw
    Content-Type: application/json
    { 
    "clientId":"{Service_Plan_ID}",
    "consentType":"AllPrincipals",
    "resourceId":"61e57743-d5cf-41ba-bd1a-2b381390a3f1",
    "scope":"User.Read Directory.AccessAsUser.All",
    "expiryTime":"2018-03-29T14:35:32.4943409+03:00",
    "startTime":"2017-03-29T14:35:32.4933413+03:00"
    }
    

    Se você estiver usando um locatário existente e não estiver interessado em conceder permissões em nome de todos os usuários de locatário, será possível conceder permissões a um usuário específico usando o seguinte.

    Post https://graph.microsoft.com/beta/OAuth2PermissionGrants
    Authorization: Bearer ey..qw
    Content-Type: application/json
    { 
    "clientId":"{Service_Plan_ID}",
    "consentType":"Principal",
    "principalId"= "{User_ObjectId}",
    "resourceId":"61e57743-d5cf-41ba-bd1a-2b381390a3f1",
    "scope":"User.Read Directory.AccessAsUser.All",
    "expiryTime":"2018-03-29T14:35:32.4943409+03:00",
    "startTime":"2017-03-29T14:35:32.4933413+03:00"
    }
    

    Para obter uma lista de usuários, é possível usar Listar usuários.

Criar Espaços de trabalho de aplicativo (necessário)

Você pode aproveitar os Espaços de trabalho de aplicativo para fornecer melhor isolamento, caso seu aplicativo esteja atendendo a vários clientes. Os dashboards e relatórios ficariam isolados entre seus clientes. Você poderia usar uma conta do Power BI por Espaço de trabalho de aplicativo para isolar ainda mais as experiências de aplicativos entre seus clientes.

Importante:

Não é possível usar um espaço de trabalho pessoal para tirar proveito da inserção para usuários que não são do Power BI.

Será necessário um usuário que tenha uma licença Pro para criar um Espaço de trabalho do aplicativo no Power BI. O usuário do Power BI que criar o Espaço de trabalho de aplicativo será um administrador desse espaço de trabalho por padrão.

Observação:

A conta mestre do aplicativo precisa ser um administrador do espaço de trabalho.

Migração de conteúdo

A migração do conteúdo de suas coleções de espaços de trabalho para o serviço do Power BI poderá ser feita paralelamente à sua solução atual e não requer nenhum tempo de inatividade.

Uma ferramenta de migração está disponível para uso a fim de ajudá-lo a copiar o conteúdo do Power BI Embedded para o serviço do Power BI. Principalmente se você tiver muito conteúdo. Para obter mais informações, consulte Power BI Embedded migration tool (Ferramenta de migração do Power BI Embedded).

A migração de conteúdo depende principalmente de duas APIs.

  1. Baixar PBIX – esta API pode baixar arquivos PBIX que foram carregados no Power BI depois de outubro de 2016.
  2. Importar PBIX – esta API carrega qualquer PBIX no Power BI.

Para alguns trechos de código relacionados, consulte Code snippets for migrating content from Power BI Embedded (Trechos de código para migrar conteúdo do Power BI Embedded).

Tipos de relatório

Há vários tipos de relatórios, cada um requerendo um fluxo de migração um pouco diferente.

Relatório e conjunto de dados armazenados em cache

Conjuntos de dados armazenados em cache referem-se a arquivos PBIX que tinham importado dados em vez de uma conexão dinâmica ou uma conexão do DirectQuery.

Fluxo

  1. Chame Baixar API de PBIX no espaço de trabalho PaaS.
  2. Salve o PBIX.
  3. Chame Importar PBIX para o espaço de trabalho SaaS.

Relatório e conjunto de dados do DirectQuery

Fluxo

  1. Chame GET https://api.powerbi.com/v1.0/collections/{collection_id}/workspaces/{wid}/datasets/{dataset_id}/Default.GetBoundGatewayDataSources e salve as cadeias de conexão recebidas.
  2. Chame Baixar API de PBIX no espaço de trabalho PaaS.
  3. Salve o PBIX.
  4. Chame Importar PBIX para o espaço de trabalho SaaS.
  5. Atualize a cadeia de conexão chamando – POST https://api.powerbi.com/v1.0/myorg/datasets/ {dataset_id}/Default.SetAllConnections
  6. Obtenha a ID GW e a ID da fonte de dados chamando – GET https://api.powerbi.com/v1.0/myorg/datasets/{dataset_id}/Default.GetBoundGatewayDataSources
  7. Atualize as credenciais do usuário chamando – PATCH https://api.powerbi.com/v1.0/myorg/gateways/{gateway_id}/datasources/{datasource_id}

Relatórios e conjunto de dados antigos

Esses são os conjuntos de dados/relatórios criados antes de outubro de 2016. Baixar PBIX não dá suporte a PBIXs carregados antes de outubro de 2016

Fluxo

  1. Obtenha o PBIX do seu ambiente de desenvolvimento (seu controle do código-fonte interno).
  2. Chame Importar PBIX para o espaço de trabalho SaaS.

Enviar relatório e conjunto de dados por push

Baixar PBIX não dá suporte a conjuntos de dados API Push. O conjunto de dados de API por push não podem ser portados do PaaS para o SaaS.

Fluxo

  1. Chame a API “Criar conjunto de dados” com o Json do conjunto de dados para criar conjunto de dados no espaço de trabalho do SaaS.
  2. Recrie o relatório para o conjunto de dados criado *.

É possível usar algumas soluções alternativas para migrar o relatório de api por push do PaaS para o SaaS fazendo o seguinte.

  1. Carregando o PBIX fictício para o espaço de trabalho do PaaS.
  2. Clone o relatório de api por push e associe-o ao PBIX fictício da etapa 1.
  3. Baixe o relatório de API por push com o PBIX fictício.
  4. Carregue o PBIX fictício para seu espaço de trabalho do SaaS.
  5. Crie um conjunto de dados por push em seu espaço de trabalho do SaaS.
  6. Associe novamente o relatório ao conjunto de dados de api por push.

Criar e carregar novos relatórios

Além do conteúdo que você migrou do serviço do Azure do Power BI Embedded, é possível criar seus relatórios e conjuntos de dados usando o Power BI Desktop e depois publicar esses relatórios em um espaço de trabalho do aplicativo. O usuário final que publicar os relatórios precisará ter uma licença Power BI Pro para publicar em um espaço de trabalho do aplicativo.

Recriar seu aplicativo

  1. Você precisará modificar seu aplicativo para usar as APIs REST do Power BI e o local do relatório em powerbi.com.

  2. Recrie sua autenticação AuthN/AuthZ usando a conta mestre do seu aplicativo. Você pode tirar proveito do uso de um token de inserção para permitir que esse usuário atue em nome de outros usuários.

  3. Insira seus relatórios de powerbi.com em seu aplicativo.

Mapear os usuários para um usuário do Power BI

No aplicativo, você mapeará os usuários que gerencia dentro do aplicativo para uma credencial mestre do Power BI para a finalidade do seu aplicativo. As credenciais desta conta mestre do Power BI serão armazenadas dentro do seu aplicativo e serão usadas para criar tokens de inserção.

O que fazer quando você estiver pronto para a produção

Quando estiver pronto para passar para a produção, você precisará fazer o seguinte.

  • Se você estiver usando um locatário separado para desenvolvimento, então será preciso certificar-se de que seus espaços de trabalho do aplicativo, juntamente com dashboards e relatórios, estão disponíveis em seu ambiente de produção. Também será preciso certificar-se de ter criado o aplicativo no Azure AD para seu locatário de produção e ter atribuído as permissões de aplicativo adequadas conforme indicado na Etapa 1.

  • Adquira uma capacidade que atenda às suas necessidades. É possível usar o Embedded analytics capacity planning whitepaper (White paper de planejamento de capacidade de análise inserida) para ajudar a entender o que pode ser preciso. Quando você estiver pronto para a compra, será possível fazê-la dentro do Centro de administração do Office 365.

    Informações:

    Para obter informações sobre como adquirir o Power BI Premium, consulte How to purchase Power BI Premium (Como comprar o Power BI Premium).

  • Edite o espaço de trabalho do aplicativo e atribua-o a uma capacidade Premium em avançado.

  • Implante seu aplicativo atualizado para a produção e comece a inserir relatórios do serviço do Power BI.

Após a migração

Você deve fazer uma limpeza no Azure.

  • Remova todos os espaços de trabalho da solução implantada dentro do serviço do Azure do Power BI Embedded.
  • Exclua todas as Coleções de Espaço de trabalho que existam no Azure.

Próximas etapas

Inserindo com o Power BI
Ferramenta de migração do Power BI Embedded
Trechos de código para migrar conteúdo do Power BI Embedded
Como inserir seus dashboards, relatórios e blocos do Power BI
Power BI Premium – o que é?
Repositório Git de API do JavaScript
Repositório Git de C# do Power BI
Exemplo inserido do JavaScript
White paper de planejamento de capacidade de análise inserida
White paper do Power BI Premium

Mais perguntas? Experimente perguntar à Comunidade do Power BI