Tutorial: Obtenha insights dos seus dados processados

Neste artigo, você cria um painel em tempo real para capturar insights dos dados do OPC UA enviados aos Hubs de Eventos no artigo anterior. Usando Microsoft Fabric Real-Time Intelligence, você traz seus dados dos Hubs de Eventos para Microsoft Fabric e mapeia-os para um banco de dados KQL que pode ser uma fonte para painéis em tempo real. Em seguida, você cria um painel para exibir esses dados nos blocos visuais que capturam insights e mostram os valores ao longo do tempo.

Essas operações são as últimas etapas na experiência de exemplo de ponta a ponta, que vai desde a implantação do Operações do Azure IoT na borda até a obtenção de insights a partir dos dados desse dispositivo na nuvem.

Pré-requisitos

Antes de começar este tutorial, conclua o Tutorial: Enviar mensagens de ativos para a nuvem usando um fluxo de dados.

Você também precisa dos seguintes recursos de Fabric:

  • Uma Assinatura do Microsoft Fabric. Na sua assinatura, você precisa ter acesso a um espaço de trabalho com permissões de Colaborador ou superior.
  • Um tenant do Microsoft Fabric que permite criar dashboards em tempo real. O administrador do locatário pode habilitar essa configuração. Para obter mais informações, consulte Habilitar configurações de locatário no portal de administração.

Que problema vamos resolver?

Quando os dados do OPC UA chegam à nuvem, você pode analisar uma grande quantidade de informações. Organize os dados e crie relatórios com grafos e visualizações para obter insights. Este artigo mostra como conectar os dados ao Real-Time Intelligence e criar um painel em tempo real.

Ingerir dados na Inteligência em Tempo Real

Nesta seção, você configurará um fluxo de eventos do Microsoft Fabric para conectar seu hub de eventos a um banco de dados KQL na Inteligência em Tempo Real. Esse processo inclui a criação de um mapeamento de dados para transformar os dados do payload do formato JSON em colunas no KQL.

Criar um fluxo de eventos

Nesta seção, você cria um fluxo de eventos que será usado para trazer os dados dos Hubs de Eventos para a Inteligência em Tempo Real do Microsoft Fabric e, eventualmente, para um banco de dados KQL.

Comece navegando até a experiência de Inteligência em Tempo Real no Microsoft Fabric e abrindo seu espaço de trabalho do Fabric.

Siga as etapas em Criar um eventstream no Microsoft Fabric para criar um novo recurso eventstream no seu espaço de trabalho.

Depois que o eventstream for criado, você verá o editor principal, onde poderá começar a criar o eventstream.

Adicionar o hub de eventos como uma origem

Em seguida, adicione seu hub de eventos do tutorial anterior como uma fonte de dados para o fluxo de eventos.

Siga as etapas em Adicionar a origem dos Hubs de Eventos do Azure a um fluxo de eventos para adicionar a origem do evento. Tenha as seguintes observações em mente:

  • Você criará uma nova conexão de nuvem com a autenticação da Chave de Acesso Compartilhado.
    • Verifique se a autenticação local está habilitada no hub de eventos. Você pode definir isso na página de visão geral no portal do Azure.
  • Para Grupo de consumidores, use a seleção padrão ($Default).
  • Para Formato de dados, escolha JSON (ele já pode ter sido selecionado por padrão).

Depois de concluir esse fluxo, o hub de eventos do Azure ficará visível no modo de exibição ao vivo do fluxo de eventos como uma origem.

Captura de tela do fluxo de eventos com uma fonte do AzureEventHub.

Verificar o fluxo de dados

Siga estas etapas para verificar seu trabalho até o momento e garantir que os dados estejam fluindo para o fluxo de eventos.

  1. Inicie seu cluster onde você implantou o Operações do Azure IoT em tutoriais anteriores. O simulador OPC PLC implantado com sua instância de Operações IoT do Azure deve começar a executar e enviar dados para o agente MQTT. Você pode verificar essa parte do fluxo usando mqttui, conforme descrito em Verificar se os dados estão fluindo.

  2. Aguarde alguns minutos para que os dados sejam propagados. Em seguida, na exibição ao vivo do fluxo de eventos, selecione a origem AzureEventHub e atualize a Pré-visualização de dados. Você deve ver os dados JSON do simulador começarem a aparecer na tabela.

    Captura de tela do fluxo de eventos com dados da fonte do AzureEventHub.

Dica

Se os dados não tiverem chegado ao seu eventstream, verifique se a atividade do hub de eventos está recebendo mensagens. Isso o ajudará a isolar qual seção do fluxo será depurado.

Preparar os recursos KQL

Nesta seção, você criará um banco de dados KQL no seu espaço de trabalho do Microsoft Fabric para usar como destino para seus dados.

  1. Siga as etapas em Criar um Eventhouse para criar um Eventhouse da Inteligência de dados temporais com um banco de dados KQL filho. Você só precisa preencher a seção intitulada Criar um Eventhouse.

  2. Em seguida, crie uma tabela no seu banco de dados. Chame-o de OPCUA e use as colunas a seguir.

    Nome da coluna Tipo de dados
    ID do Ativo cadeia
    Temperatura decimal
    Carimbo de data/hora datetime
  3. Depois que a tabela OPCUA for criada, selecione seu banco de dados e use o botão Consultar com código para abrir uma janela Consulta.

    Captura de tela mostrando o botão Explorar seus dados.

  4. Exclua o código existente e execute a seguinte consulta KQL para criar um mapeamento de dados para sua tabela. O mapeamento de dados será chamado opcua_mapping.

    .create table ['OPCUA'] ingestion json mapping 'opcua_mapping' '[{"column":"AssetId", "Properties":{"Path":"$[\'AssetId\']"}},{"column":"Temperature", "Properties":{"Path":"$[\'ThermostatTemperatureF\']"}},{"column":"Timestamp", "Properties":{"Path":"$[\'EventProcessedUtcTime\']"}}]'
    

Adicionar a tabela de dados como um destino

Em seguida, retorne à visualização do fluxo de eventos, onde você poderá adicionar sua nova tabela KQL como um destino do fluxo de eventos.

Siga as etapas em Adicionar um destino do Banco de Dados KQL a um fluxo de eventos para adicionar o destino. Tenha as seguintes observações em mente:

  • Use o modo de ingestão direta.

  • Na etapa Configurar, selecione a tabela OPCUA criada anteriormente.

  • Na etapa Inspecionar, selecione opcua_mapping, selecione Mapeamento existente e escolha opcua_mapping.

    Captura de tela adicionando um mapeamento existente.

    Dica

    Se não forem encontrados mapeamentos existentes, tente atualizar o editor do fluxo de eventos e reiniciar as etapas para adicionar o destino. Como alternativa, você pode iniciar esse mesmo processo de configuração da tabela KQL em vez de do fluxo de eventos, conforme descrito em Obter dados do Eventstream.

Depois de concluir esse fluxo, a tabela KQL ficará visível na exibição ao vivo do fluxo de eventos como um destino.

Aguarde alguns minutos para que os dados se propaguem e para que o status do destino seja alterado para Ativo. Você deve começar a ver os dados do hub de eventos aparecerem na visualização prévia. Se os dados não aparecerem na versão prévia, aguarde mais alguns minutos e atualize a visualização novamente.

Captura de tela do fluxo de eventos com dados no destino do banco de dados KQL.

Se quiser, você também pode exibir e consultar esses dados diretamente no banco de dados KQL.

Captura de tela dos mesmos dados que estão sendo consultados do banco de dados KQL.

Crie um dashboard em tempo real

Nessa seção, você criará um novo Painel em Tempo Real para visualizar os dados do seu tutorial. O painel permitirá a filtragem por ID do ativo e carimbo de data/hora e exibirá resumos visuais de dados de temperatura.

Observação

Você só poderá criar Painéis em Tempo Real se o administrador do locatário tiver habilitado a criação de Painéis em Tempo Real no seu locatário do Fabric. Para obter mais informações, consulte Habilitar configurações de locatário no portal de administração.

Criar painel e conectar a fonte de dados

Siga as etapas na seção Criar um novo painel para criar um novo Painel em Tempo Real com base nos recursos da Inteligência em Tempo Real.

Em seguida, siga as etapas na seção Adicionar fonte de dados para adicionar seu banco de dados como uma fonte de dados. Lembre-se da seguinte observação:

  • No painel Fontes de dados, seu banco de dados estará no Banco de dados Eventhouse/KQL.

Configurar parâmetros

Em seguida, configure alguns parâmetros do painel para que os visuais possam ser filtrados por ID de ativo e carimbo de data/hora. O painel vem com um parâmetro padrão para filtrar por intervalo de tempo, portanto, você só precisa criar um que possa filtrar por ID de ativo.

  1. Alterne para a guia Gerenciar e selecione Parâmetros. Selecione + Adicionar para adicionar um novo parâmetro.

    Captura de tela da adição de um parâmetro a um painel.

  2. Crie um novo parâmetro com as seguintes características:

    • Etiqueta: Recurso
    • Tipo de parâmetro: seleção única (já selecionado por padrão)
    • Nome da variável: _asset
    • Tipo de dados: cadeia de caracteres (já selecionado por padrão)
    • Origem: Consulta
      • Fonte de dados: seu banco de dados (já selecionado por padrão)

      • Selecione Editar consulta e adicione a consulta KQL a seguir.

        OPCUA
        | summarize by AssetId
        
    • Coluna de valor: AssetId
    • Valor padrão: selecione o primeiro valor da consulta
  3. Selecione Concluído para salvar seu parâmetro. Em seguida, selecione Fechar para fechar o painel de parâmetros.

Criar bloco de gráfico de linha

Em seguida, adicione um bloco ao painel para mostrar um gráfico de linhas de temperatura ao longo do tempo para o ativo selecionado e o intervalo de tempo.

  1. Na guia Página Inicial, selecione a lista suspensa Adicionar visual e, em seguida, selecione Gráfico de linhas para adicionar um novo bloco de gráfico de linhas.

    Captura de tela da adição de um bloco de gráfico de linhas a um painel.

  2. No Editor de Consultas, insira a seguinte consulta KQL para o bloco. Esta consulta aplica os parâmetros de filtro dos seletores do painel para intervalo de tempo e ativo e retorna os registros resultantes com seus respectivos carimbos de data/hora e temperatura.

    OPCUA 
    | where Timestamp between (_startTime.._endTime)
    | where AssetId == _asset
    | project Timestamp, Temperature
    

    Executar a consulta para verificar se os dados podem ser encontrados. O visual do gráfico de linhas exibe os dados. O visual do gráfico de linhas requer pelo menos dois pontos de dados a serem exibidos, portanto, se você não vir nenhum dado, talvez queira selecionar um intervalo de tempo maior ou aguardar a chegada de mais dados ao banco de dados antes de executar a consulta.

    Captura de tela da adição de uma consulta de bloco.

  3. Selecione a guia Visualização e defina ou verifique os seguintes valores:

    • Tipo visual: gráfico de linhas (seleção padrão)
    • Geral:
      • Nome do bloco: Temperatura ao longo do tempo
    • Dados:
      • Colunas de Y: Deduzir: Temperatura (decimal) (seleção padrão)
      • Colunas X: Inferido: data/hora (datetime) (seleção padrão)
    • Eixo Y:
      • Rótulo: Unidades
    • Eixo X:
      • Rótulo: Carimbo de data/hora

    Selecione Concluído para criar o bloco.

    Captura de tela mostrando a adição de um visual de bloco.

Veja o bloco finalizado no seu painel.

Captura de tela do painel com um bloco.

Criar bloco de valor máximo

Em seguida, crie um bloco para exibir o valor máximo da temperatura.

  1. Selecione o menu suspenso Adicionar visual e, em seguida, selecione Stat.

  2. No Editor de Consultas, insira a seguinte consulta KQL para o bloco. Esta consulta aplica parâmetros de filtro com base nos seletores do painel para o intervalo de tempo e o ativo, e retorna o maior valor de temperatura dos registros resultantes.

    OPCUA
    | where Timestamp between (_startTime.._endTime)
    | where AssetId == _asset
    | top 1 by Temperature desc
    | summarize by Temperature
    

    Executar a consulta para verificar se uma temperatura máxima pode ser encontrada. O valor máximo da temperatura deve ser exibido na visualização visual.

  3. Selecione a guia Visualização e defina ou verifique os seguintes valores:

    • Tipo visual: Estatística (seleção padrão)
    • Geral:
      • Nome do bloco: Temperatura máxima
    • Dados:
      • Coluna de valor: Inferir: Temperatura (decimal) (seleção padrão)

    Selecione Concluído para criar o bloco.

    Captura de tela da adição de um visual de estatística.

  4. Exiba o bloco concluído no painel (talvez você queira redimensionar o bloco para que o texto completo fique visível).

    Captura de tela do painel com dois blocos.

  5. Salve o seu painel finalizado.

Agora, você tem um painel que exibe diferentes tipos de visualizações dos dados de ativos destes tutoriais. A partir daí, você pode fazer experiências com os filtros e adicionar outros tipos de blocos para ver como um painel pode permitir que você faça mais com seus dados.

Como resolvemos o problema?

Nesse tutorial, você usou um eventstream para ingerir dados do Hubs de Eventos em um banco de dados KQL no Microsoft Fabric Real-Time Intelligence. Em seguida, você criou um Painel em Tempo Real alimentado por esses dados, que rastreia visualmente a mudança de valores ao longo do tempo. Ao relacionar dados de borda de várias fontes no Microsoft Fabric, você pode criar relatórios com visualizações e recursos interativos que oferecem insights mais profundos sobre a integridade, o uso e as tendências operacionais dos ativos. Isso pode capacitá-lo a aumentar a produtividade, melhorar o desempenho dos ativos e impulsionar a tomada de decisões informada para melhores resultados de negócios.

Isso conclui a etapa final no fluxo do tutorial para usar o Operações do Azure IoT para gerenciar dados do dispositivo desde a implantação até a análise na nuvem.

Limpar os recursos

Se você continuar para o próximo tutorial, mantenha todos os seus recursos.

Se você quiser remover a implantação do Operações do Azure IoT, mas manter seu cluster, use o comando az iot ops delete:

az iot ops delete --name $AIO_INSTANCE_NAME --resource-group $RESOURCE_GROUP

Se você quiser excluir todos os recursos criados para este início rápido, exclua o cluster do Kubernetes no qual você implantou as Operações do Azure IoT e remova o grupo de recursos do Azure que continha o cluster.

Observação

O grupo de recursos contém o namespace Hubs de Eventos que você criou nesse tutorial.

Você também pode excluir seu espaço de trabalho do Microsoft Fabric e/ou todos os recursos nele associados a esse tutorial, incluindo o eventstream, o Eventhouse e o Real-Time Dashboard.