Streaming em tempo real no Power BI

O Power BI com streaming em tempo real ajuda você a transmitir dados e atualizar painéis em tempo real. Qualquer visual ou painel criado no Power BI pode exibir e atualizar dados e visuais em tempo real. Os dispositivos e fontes de dados de streaming podem ser sensores de fábrica, fontes de mídia social, métricas de uso de serviços ou muitos outros coletores ou transmissores de dados sensíveis ao tempo.

Este artigo mostra como configurar e usar modelos semânticos de streaming em tempo real no Power BI.

Screenshot of the Environmental sensors dashboard, showing the results of the data in real-time.

Tipos de modelos semânticos em tempo real

Primeiro, é importante entender os tipos de modelos semânticos em tempo real projetados para exibição em blocos e painéis e como esses modelos semânticos diferem.

Os três tipos de modelos semânticos em tempo real a seguir são projetados para exibição em painéis em tempo real:

  • Modelo semântico de push
  • Modelo semântico de streaming
  • Modelo semântico de streaming PubNub

Esta seção explica como esses modelos semânticos diferem uns dos outros. As seções posteriores descrevem como enviar dados por push para cada um desses modelos semânticos.

Modelo semântico de push

Com um modelo semântico push, os dados são enviados por push para o serviço do Power BI. Quando o modelo semântico é criado, o serviço do Power BI cria automaticamente um novo banco de dados no serviço para armazenar os dados.

Como há um banco de dados subjacente que armazena os dados à medida que eles chegam, você pode criar relatórios com os dados. Esses relatórios e seus visuais são como qualquer outro visual de relatório. Você pode usar todos os recursos de criação de relatórios do Power BI, como visuais do Power BI, alertas de dados e blocos de painel fixos.

Depois de criar um relatório usando o modelo semântico push, você pode fixar qualquer um dos visuais de relatório em um painel. Nesse painel, os elementos visuais são atualizados em tempo real sempre que os dados são atualizados. No serviço do Power BI, o painel dispara uma atualização de bloco sempre que novos dados são recebidos.

Há duas considerações a serem observadas sobre blocos fixados de um modelo semântico push:

  • Fixar um relatório inteiro usando a opção Fixar ao vivo não resultará na atualização automática dos dados.
  • Depois de fixar um visual em um painel, você pode usar as Perguntas e Respostas para fazer perguntas sobre o modelo semântico push em linguagem natural. Depois de fazer uma consulta de P&R , você pode fixar o visual resultante de volta ao painel, e esse visual também será atualizado em tempo real.

Modelo semântico de streaming

Um modelo semântico de streaming também envia dados para o serviço do Power BI, com uma diferença importante: o Power BI armazena os dados apenas em um cache temporário, que expira rapidamente. O cache temporário é usado apenas para exibir elementos visuais que têm algum histórico transitório, como um gráfico de linhas que tem uma janela de tempo de uma hora.

Um modelo semântico de streaming não tem banco de dados subjacente, portanto, você não pode criar visuais de relatório usando os dados que fluem do fluxo. Portanto, você não pode usar a funcionalidade de relatório, como filtragem, visuais do Power BI e outras funções de relatório.

A única maneira de visualizar um modelo semântico de streaming é adicionar um bloco e usar o modelo semântico de streaming como uma fonte de dados de streaming personalizada. Os blocos de streaming personalizados baseados em um modelo semântico de streaming são otimizados para exibir rapidamente dados em tempo real. Há pouca latência entre enviar os dados para o serviço do Power BI e atualizar o visual, porque não há necessidade de os dados serem inseridos ou lidos de um banco de dados.

Na prática, é melhor usar modelos semânticos de streaming e seus visuais de streaming em situações em que é crítico minimizar a latência entre enviar e visualizar dados. Você deve ter os dados enviados por push em um formato que possa ser visualizado como está, sem mais agregações. Exemplos de dados que estão prontos no estado em que se encontram incluem temperaturas e médias pré-calculadas.

Modelo semântico de streaming PubNub

Com um modelo semântico de streaming PubNub, o cliente Web do Power BI usa o SDK PubNub para ler um fluxo de dados PubNub existente. O serviço do Power BI não armazena dados. Como o cliente da Web faz essa chamada diretamente, se você permitir apenas o tráfego de saída aprovado da sua rede, deverá listar o tráfego para o PubNub conforme permitido. Para obter instruções, consulte o artigo de suporte sobre como aprovar o tráfego de saída para o PubNub.

Assim como no modelo semântico de streaming, com o modelo semântico de streaming PubNub não há banco de dados subjacente do Power BI. Você não pode criar visuais de relatório em relação aos dados que fluem e não pode usar a funcionalidade de relatório, como filtragem ou visuais do Power BI. Você pode visualizar um modelo semântico de streaming PubNub somente adicionando um bloco ao painel e configurando um fluxo de dados PubNub como a origem.

Os blocos baseados em um modelo semântico de streaming PubNub são otimizados para exibir rapidamente dados em tempo real. Como o Power BI está diretamente conectado ao fluxo de dados PubNub, há pouca latência entre enviar os dados para o serviço do Power BI e atualizar o visual.

Matriz de modelo semântico de streaming

A tabela a seguir descreve os três tipos de modelos semânticos para streaming em tempo real e lista seus recursos e limitações.

Funcionalidade Emitir via push Transmissão PubNub
Os blocos do painel são atualizados em tempo real à medida que os dados são enviados por push Sim.
Para elementos visuais criados por meio de relatórios e, em seguida, fixados ao painel.
Sim.
Para blocos de streaming personalizados adicionados diretamente ao painel.
Sim.
Para blocos de streaming personalizados adicionados diretamente ao painel.
Atualização dos blocos do painel com animações suaves Não. Sim. Sim.
Dados armazenados permanentemente no Power BI para análise histórica Sim. Não.
Os dados são armazenados temporariamente por uma hora para renderizar elementos visuais.
Não.
Criar relatórios do Power BI sobre os dados Sim. Não. Não.
Taxa máxima de ingestão de dados 1 pedidos
16 MB/pedido
5 pedidos
15 KB/pedido
N/D
Os dados não estão sendo enviados por push para o Power BI.
Limites na taxa de transferência de dados 1 milhão de linhas/hora Nenhum. N/D
Os dados não estão sendo enviados por push para o Power BI.

Enviar dados por push para modelos semânticos

Esta seção descreve como criar e enviar dados por push para os três tipos principais de modelos semânticos em tempo real que você pode usar no streaming em tempo real.

Você pode enviar dados por push para um modelo semântico usando os seguintes métodos:

  • As APIs REST do Power BI
  • A interface do usuário do modelo semântico de streaming do Power BI
  • Azure Stream Analytics

Usar APIs REST do Power BI para enviar dados por push

Você pode usar as APIs REST do Power BI para criar e enviar dados para modelos semânticos por push e para modelos semânticos de streaming. Quando você cria um modelo semântico usando APIs REST do Power BI, o sinalizador especifica se o defaultMode modelo semântico é push ou streaming.

Se nenhum defaultMode sinalizador for definido, o modelo semântico assumirá como padrão um modelo semântico push. Se o valor for definido como pushStreaming, o defaultMode modelo semântico será um modelo semântico de push e streaming e fornecerá os benefícios de ambos os tipos de modelo semântico.

Nota

Quando você usa modelos semânticos com o sinalizador defaultMode definido como pushStreaming, se uma solicitação exceder a restrição de tamanho de 15 KB para um modelo semântico de streaming, mas for menor que a restrição de tamanho de 16 MB para um modelo semântico por push, a solicitação será bem-sucedida e os dados serão atualizados no modelo semântico por push. No entanto, todos os blocos de streaming falham temporariamente.

Depois que um modelo semântico é criado, você pode usar as APIs REST PostRows para enviar dados por push. Todas as solicitações para APIs REST são protegidas usando o Microsoft Entra ID OAuth.

Usar a interface do usuário do modelo semântico de streaming para enviar dados por push

No serviço Power BI, você pode criar um modelo semântico selecionando a abordagem de API , conforme mostrado na captura de tela a seguir:

Screenshot of the New streaming semantic model choices, showing the API selection.

Ao criar o novo modelo semântico de streaming, você pode habilitar a análise de dados históricos, conforme mostrado na captura de tela a seguir. Esta seleção tem um impacto significativo.

Screenshot of the New streaming semantic model, showing Historic data analysis enabled.

Quando a análise de dados históricos está desabilitada, como é por padrão, você cria um modelo semântico de streaming conforme descrito anteriormente. Quando a análise de dados históricos está habilitada, o modelo semântico criado se torna um modelo semântico de streaming e um modelo semântico por push. Essa configuração é equivalente a usar as APIs REST do Power BI para criar um modelo semântico com seu defaultMode conjunto como pushStreaming, conforme descrito anteriormente.

Nota

Os modelos semânticos de streaming criados usando a interface do usuário do serviço Power BI não exigem autenticação do Microsoft Entra. Nesses modelos semânticos, o proprietário do modelo semântico recebe uma URL com uma chave de linha, que autoriza o solicitante a enviar dados por push para o modelo semântico sem usar um token de portador OAuth do Microsoft Entra ID. No entanto, a abordagem Microsoft Entra ID ainda funciona para enviar dados para o modelo semântico.

Usar o Azure Stream Analytics para enviar dados por push

Você pode adicionar o Power BI como uma saída no Azure Stream Analytics e, em seguida, visualizar esses fluxos de dados no serviço do Power BI em tempo real. Esta seção descreve os detalhes técnicos desse processo.

O Azure Stream Analytics usa as APIs REST do Power BI para criar seu fluxo de dados de saída para o Power BI, com defaultMode definido como pushStreaming. O modelo semântico resultante pode usar push e streaming. Quando você cria o modelo semântico, o Azure Stream Analytics define o sinalizador retentionPolicy como basicFIFO. Com essa configuração, o banco de dados que suporta o modelo semântico de push armazena 200.000 linhas e descarta linhas de forma FIFO (first-in, first-out).

Importante

Se sua consulta do Azure Stream Analytics resultar em uma saída muito rápida para o Power BI, por exemplo, uma ou duas vezes por segundo, o Azure Stream Analytics começará a enviar as saídas em lote em uma única solicitação. Esse envio em lote pode fazer com que o tamanho da solicitação exceda o limite de blocos de streaming e os blocos de streaming podem falhar na renderização. Nesse caso, a prática recomendada é diminuir a taxa de saída de dados para o Power BI. Por exemplo, em vez de um valor máximo a cada segundo, solicite um valor máximo durante 10 segundos.

Configurar seu modelo semântico de streaming em tempo real no Power BI

Para começar a usar o streaming em tempo real, escolha uma das seguintes maneiras de consumir dados de streaming no Power BI:

  • Blocos com elementos visuais de streaming de dados
  • Modelos semânticos criados a partir de dados de streaming que persistem no Power BI

Para qualquer opção, você precisa configurar dados de streaming no Power BI. Para que seu modelo semântico de streaming em tempo real funcione no Power BI:

  1. Em um painel existente ou novo, selecione Adicionar um bloco.

  2. Na página Adicionar um mosaico, selecione Dados de Transmissão em Sequência Personalizados e, em seguida, selecione Seguinte.

    Screenshot of the Add a tile page, showing the Custom Streaming Data selection.

  3. Na página Adicionar um bloco de dados de streaming personalizado, você pode selecionar um modelo semântico existente ou selecionar Gerenciar modelos semânticos para importar seu modelo semântico de streaming, caso já tenha criado um. Se você ainda não tiver dados de streaming configurados, selecione Adicionar modelo semântico de streaming para começar.

    Screenshot of the dashboard, showing the Add streaming semantic model link in the Add a custom streaming data tile.

  4. Na página Novo modelo semântico de streaming, selecione API, Azure Stream ou PubNub e selecione Avançar.

    Screenshot of the New streaming semantic model choices, showing API, Azure Stream, and PubNub options.

Criar um modelo semântico de streaming

Há três maneiras de criar um feed de dados de streaming em tempo real que o Power BI pode consumir e visualizar:

  • API REST do Power BI usando um ponto de extremidade de streaming em tempo real
  • Azure Stream
  • PubNub

Esta seção descreve as opções Power BI REST API e PubNub e explica como criar um bloco de streaming ou modelo semântico a partir da fonte de dados de streaming. Em seguida, você pode usar o modelo semântico para criar relatórios. Para obter mais informações sobre a opção Azure Stream, consulte Saída do Power BI do Azure Stream Analytics.

Usar a API REST do Power BI

A API REST do Power BI facilita o streaming em tempo real para os desenvolvedores. Depois de selecionar API na tela Novo modelo semântico de streaming e selecionar Avançar, você pode fornecer entradas que permitem que o Power BI se conecte e use seu ponto de extremidade. Para obter mais informações sobre a API, consulte Usar as APIs REST do Power BI.

Screenshot of the New streaming semantic model dialog, showing the Power BI REST API entries for a connection.

Se você quiser que o Power BI armazene os dados enviados por esse fluxo de dados, para que você possa fazer relatórios e análises sobre os dados coletados, habilite a análise de dados históricos.

Depois de criar com êxito seu fluxo de dados, você obtém um ponto de extremidade REST API URL. Seu aplicativo pode chamar o ponto de extremidade usando POST solicitações para enviar seus dados de streaming para o modelo semântico do Power BI. Em suas POST solicitações, verifique se o corpo da solicitação corresponde ao JSON de exemplo fornecido pela interface do usuário do Power BI. Por exemplo, envolva seus objetos JSON em uma matriz.

Atenção

Para modelos semânticos de streaming criados na interface do usuário do serviço Power BI, o proprietário do modelo semântico obtém uma URL que inclui uma chave de recurso. Essa chave autoriza o solicitante a enviar dados por push para o modelo semântico sem usar um token de portador OAuth do Microsoft Entra ID. Tenha em mente as implicações de ter uma chave secreta na URL quando você trabalha com esse tipo de modelo semântico e método.

Use PubNub

A integração do streaming PubNub com o Power BI ajuda você a criar e usar seus fluxos de dados PubNub de baixa latência no Power BI. Quando você seleciona PubNub na tela Novo modelo semântico de streaming e seleciona Avançar, você vê a seguinte tela:

Screenshot of the New streaming semantic model dialog, showing the PubNub entries for connection.

Importante

Você pode proteger os canais PubNub usando uma chave de autenticação do PubNub Access Manager (PAM). Essa chave é compartilhada com todos os usuários que têm acesso ao painel. Para obter mais informações sobre o controle de acesso PubNub, consulte Gerenciar acesso.

Os fluxos de dados PubNub geralmente são de alto volume e nem sempre são adequados para armazenamento e análise histórica em sua forma original. Para usar o Power BI para análise histórica de dados PubNub, você deve agregar o fluxo PubNub bruto e enviá-lo para o Power BI, por exemplo, usando o Azure Stream Analytics.

Exemplo de streaming em tempo real no Power BI

Veja um exemplo de como o streaming em tempo real no Power BI funciona. Este exemplo usa um fluxo disponível publicamente do PubNub. Siga o exemplo para ver o valor do streaming em tempo real por si mesmo.

  1. No serviço do Power BI, selecione ou crie um novo painel. Na parte superior do ecrã, selecione Editar>Adicionar um mosaico.

  2. No ecrã Adicionar um mosaico, selecione Dados de Transmissão em Sequência Personalizados e, em seguida, selecione Seguinte.

    Screenshot of the dashboard, showing the Add tile with the Custom streaming data selection.

  3. Na página Adicionar um bloco de dados de streaming personalizado, selecione Adicionar modelo semântico de streaming.

    Screenshot of the dashboard, showing the Add streaming semantic model link in the Add a custom streaming data tile.

  4. Na página Novo modelo semântico de streaming, selecione PubNub e, em seguida, selecione Avançar.

  5. No ecrã seguinte, introduza um nome de modelo semântico, introduza os seguintes valores nos dois campos seguintes e, em seguida, selecione Seguinte.

    • Sub-chave: sub-c-99084bc5-1844-4e1c-82ca-a01b18166ca8
    • Nome do canal: pubnub-sensor-network

    Screenshot of the New streaming semantic model dialog, showing how to create a Semantic model name and entries in the Sub-key and Channel name fields.

  6. Na tela seguinte, mantenha os valores preenchidos automaticamente e selecione Criar.

    Screenshot of the New streaming semantic model dialog, showing defaults for the Semantic model name and Values from stream fields.

  7. De volta ao seu espaço de trabalho do Power BI, crie um novo painel e, na parte superior da tela, selecione Editar>Adicionar um bloco.

  8. Selecione Dados de streaming personalizados e selecione Avançar.

  9. Na página Adicionar um bloco de dados de streaming personalizado, selecione seu novo modelo semântico de streaming e selecione Avançar.

    Brinque com o modelo semântico de exemplo. Ao adicionar campos de valor a gráficos de linhas e adicionar outros blocos, você pode obter um painel em tempo real semelhante à seguinte captura de tela:

    Screenshot of the Environmental sensors dashboard, showing the results in real-time.

Vá em frente para criar seus próprios modelos semânticos e transmitir dados ao vivo para o Power BI.

Perguntas e respostas

Aqui estão algumas perguntas e respostas comuns sobre streaming em tempo real no Power BI.

É possível usar filtros em modelos semânticos push ou streaming?

Os modelos semânticos de streaming não suportam filtragem. Para modelos semânticos push, você pode criar um relatório, filtrar o relatório e, em seguida, fixar os visuais filtrados em um painel. No entanto, não há como alterar o filtro no visual quando ele estiver no painel.

Você pode fixar o bloco de relatório dinâmico no painel separadamente e, em seguida, alterar os filtros. No entanto, os blocos de relatório dinâmicos não serão atualizados em tempo real à medida que os dados forem enviados. Você precisa atualizar manualmente o visual selecionando o ícone Atualizar no canto superior direito da página do painel.

Quando você aplica filtros a modelos semânticos por push que têm DateTime campos com precisão de milissegundos, os operadores de equivalência não são suportados. Operadores como maior ou menor que >< operam corretamente.

Como você vê o valor mais recente em modelos semânticos de push ou streaming?

Os modelos semânticos de streaming são projetados para exibir os dados mais recentes. Você pode usar o tipo visual Card streaming para ver facilmente os valores numéricos mais recentes. Os visuais do cartão não suportam DateTime tipos Text de dados.

Para modelos semânticos push, se você tiver um carimbo de data/hora no esquema, poderá tentar criar um relatório visual com o last N filtro.

Como você pode fazer modelagem em modelos semânticos em tempo real?

A modelagem não é possível em um modelo semântico de streaming, porque os dados não são armazenados permanentemente. Para um modelo semântico push, você pode usar a API REST de modelo semântico de criação para criar um modelo semântico com relação e medidas e usar as APIs REST da tabela de atualização para adicionar medidas às tabelas existentes.

Como você pode limpar todos os valores em um modelo semântico de push ou streaming?

Em um modelo semântico push, você pode usar a chamada da API REST de exclusão de linhas. Não há como limpar dados de um modelo semântico de streaming, embora os dados se limpem após uma hora.

Se você configurar uma saída do Azure Stream Analytics para o Power BI, mas não a vir no Power BI, o que está errado?

Siga estas etapas para solucionar o problema:

  1. Reinicie o trabalho do Azure Stream Analytics.
  2. Tente reautorizar sua conexão do Power BI no Azure Stream Analytics.
  3. Certifique-se de que está a verificar a mesma área de trabalho no serviço do Power BI que especificou para a saída do Azure Stream Analytics.
  4. Certifique-se de que a consulta do Azure Stream Analytics produz explicitamente saídas para a saída do Power BI usando a INTO palavra-chave.
  5. Determine se o trabalho do Azure Stream Analytics tem dados fluindo através dele. O modelo semântico é criado somente quando os dados estão sendo transmitidos.
  6. Analise os logs do Azure Stream Analytics para ver se há avisos ou erros.

Atualização automática da página

Você pode usar a atualização automática de página em um nível de página de relatório para definir um intervalo de atualização para elementos visuais que só fica ativo quando a página está sendo consumida. A atualização automática de página está disponível apenas para fontes de dados DirectQuery. O intervalo mínimo de atualização depende do tipo de espaço de trabalho em que o relatório é publicado e das configurações de administrador de capacidade para espaços de trabalho Premium.

Para obter mais informações sobre a atualização automática de página, consulte Atualização automática de página no Power BI.