O que é o Power BI Embedded
O Power BI Embedded forneçe, de forma rápida e fácil, relatórios, análises e dashboards voltados para o cliente nos seus próprios aplicativos ao usar e marcar o Power BI como seu, assim reduzindo recursos do desenvolvedor ao automatizar o gerenciamento e a implantação de análises, enquanto obtém controle total dos recursos e das análises inteligentes do Power BI.
- Praticidade
O desenvolvedor não necessita criar nenhuma linha de codigo para gerar os relatórios e telas ou filtrar e cruzar dados.
- Segurança
O Power BI Embeded permite gerenciamento de segurança a nível de linha, onde é possivel restringir o acesso do usuário aos dados dentro de painéis, blocos, relatórios e conjuntos de dados em que usuários diferentes podem trabalhar com os mesmos artefatos ao mesmo tempo que veem dados diferentes.
- Preço
Na data desse artigo o modelo de cobrança para o Power BI Embedded é mensal ou por hora.
O processo
Suponhamos que temos uma solução onde utilizamos o Power BI e o período de utilização é apenas o horário comercial. Verificado que entre as 23:00 e 07:00 não há acesso ao sistema. Nesse caso temos um periodo ocioso de 8h/dia onde podemos pausar o recurso.
Para isso precisaremos criar uma Automation Account, instalar os modulos para conectar ao Azure e executar os cmdlets específicos, importar o script powershell e criar o schedule de execução.
1. Criando a Automation Account
- Clique em "Criar recurso" e em seguida procure por "Automation"
- Insira o nome do recurso, grupo de recursos e subscription e crie o recurso.
2. Instalando os modulos Az
- Com o recurso criado iremos instalar os modulos necessários para executar o script powershell.
- Clique em "Navegar para a Galeria"
- Será necessário instalar 2 modules: Az.Accounts e Az.PowerBIEmbedded
- Clique em "Importar"
- Aguarte até que os modulos estejam "Disponíveis"
3. Criando o script powershell
- Em "Processos de automação" Clique em "Runbooks"
- E em seguida "Criar um runbook"
- Adicione um nome ao arquivo, selecione a linguagem do script e clique em "Criar"
- Copie o código abaixo e insira no runbook criado.
Param(
[Parameter(Mandatory=$true)]
[string]$PBIName,
[Parameter(Mandatory=$true)]
[string]$PBIRg,
[Parameter(Mandatory=$true,
HelpMessage="Enter 'Start' or 'Stop' action.")]
[ValidateSet("Start", "Stop")]
[string]$Action
)
# Authenticate with your Automation Account
Write-Output "Connecting to Azure..."
$Conn = Get-AutomationConnection -Name AzureRunAsConnection
Connect-AzAccount -ServicePrincipal -Tenant $Conn.TenantID `
-ApplicationID $Conn.ApplicationID -CertificateThumbprint $Conn.CertificateThumbprint
# Startup PBI
IF ($Action -eq "Start") {
Write-Output "Starting the Power BI $PBIName"
Resume-AzPowerBIEmbeddedCapacity -Name $PBIName -ResourceGroupName $PBIRg -PassThru
}
# Pause PBI
IF ($Action -eq "Stop") {
Write-Output "Ending the Power BI $PBIName"
Suspend-AzPowerBIEmbeddedCapacity -Name $PBIName -ResourceGroupName $PBIRg -PassThru
}- E publique nosso runbook.
Explicando o codigo
Solicitamos 3 parametros:
- Nome do recurso do Power BI
- Nome do grupo de recursos que está o Power BI
- Ação que o runbook irá executar
Em seguida realizamos a autenticação no azure para conseguimos executar comantos Powershel na assinatura, por ultimo verificamos a ação solicitada e executamos o cmdlet powershell referente.
4.Criação do agendamento
- Clique em "Link para a agenda"
- Clique em "Vincule seu runbook com uma agenda"
- Preencha as informações, indicando Nome do agendamento, horário e recorrencia e clique em "Criar".
- Em seguida adicionaremos os parametros solicitados pelo runbook
- Com todas as informações preenchidas vamos criar o agendamento.
- Repita o mesmo processo alterando a ação para "Stop" e com isso teremos nosso agendamento completo
Com isso atingimos a missão de um dos pilares da nuvem -pague o que usar :)