Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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.
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.
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.
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.
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.
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.
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 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.
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.
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.
Se quiser, você também pode exibir e consultar esses dados diretamente no 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.
Alterne para a guia Gerenciar e selecione Parâmetros. Selecione + Adicionar para adicionar um novo parâmetro.
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
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.
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.
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, TemperatureExecutar 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.
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.
Veja o bloco finalizado no seu painel.
Criar bloco de valor máximo
Em seguida, crie um bloco para exibir o valor máximo da temperatura.
Selecione o menu suspenso Adicionar visual e, em seguida, selecione Stat.
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 TemperatureExecutar 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.
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.
Exiba o bloco concluído no painel (talvez você queira redimensionar o bloco para que o texto completo fique visível).
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.