Tutorial: Obtenha informações dos seus dados processados
Neste tutorial, você preenche um Painel em Tempo Real para capturar informações dos dados OPC UA enviados aos Hubs de Eventos no tutorial anterior. Usando o Microsoft Fabric Real-Time Intelligence, você traz seus dados dos Hubs de Eventos para o Microsoft Fabric e os mapeia em 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 em blocos visuais que capturam informações e mostram os valores ao longo do tempo.
Essas operações são as últimas etapas na experiência de tutorial de ponta a ponta de exemplo, que vai desde a implantação das Operações IoT do Azure na borda até a obtenção de informações dos dados desse dispositivo na nuvem.
Pré-requisitos
Antes de começar este tutorial, você deve concluir o Tutorial: Enviar telemetria de ativos para a nuvem usando um fluxo de dados
Você também precisa de uma assinatura do Microsoft Fabric. Na sua assinatura, você precisa acessar um espaço de trabalho com permissões de Colaborador ou superior.
Além disso, seu locatário do Fabric deve permitir a criação de painéis em tempo real. Esta é uma configuração que pode ser habilitada pelo administrador do locatário. Para obter mais informações, consulte Habilitar configurações de locatário no portal de administração.
Que problema vamos resolver?
Assim que os dados OPC UA chegarem à nuvem, você terá muitas informações disponíveis para análise. Talvez você queira organizar esses dados e criar relatórios contendo gráficos e visualizações para obter insights dos dados. As etapas neste tutorial ilustram como você pode conectar esses dados ao Real-Time Intelligence e criar um Painel em Tempo Real.
Ingerir dados em Inteligência em Tempo Real
Nesta seção, você configura um fluxo de eventos do Microsoft Fabric para conectar seu hub de eventos a um banco de dados KQL no Real-Time Intelligence. Esse processo inclui a configuração de um mapeamento de dados para transformar os dados de carga útil de seu 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 seus dados dos Hubs de Eventos para o Microsoft Fabric Real-Time Intelligence 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 fluxo de eventos no Microsoft Fabric para criar um novo recurso de fluxo de eventos em seu espaço de trabalho.
Depois que o eventstream for criado, você verá o editor principal onde você pode começar a criar o eventstream.
Adicionar hub de eventos como fonte
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 origem de Hubs de Eventos do Azure a um fluxo de eventos para adicionar a fonte do evento. Tenha em mente as seguintes notas:
- Você criará uma nova conexão na 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 em sua página Visão geral no portal do Azure.
- Para Grupo de consumidores, use a seleção padrão ($Default).
- Em Formato de dados, escolha Json (ele pode já estar selecionado por padrão).
Depois de concluir esse fluxo, o hub de eventos do Azure fica visível na exibição ao vivo do fluxo de eventos como uma fonte.
Verificar o fluxo de dados
Siga estas etapas para verificar seu trabalho até agora e verifique se os dados estão fluindo para o fluxo de eventos.
Inicie seu cluster onde você implantou as Operações do Azure IoT em tutoriais anteriores. O simulador de PLC OPC implantado com sua instância de Operações IoT do Azure deve começar a ser executado 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 se propaguem. Em seguida, na exibição ao vivo do fluxo de eventos, selecione a fonte AzureEventHub e atualize a visualização de dados. Você deve ver os dados JSON do simulador começarem a aparecer na tabela.
Gorjeta
Se os dados não tiverem chegado ao seu fluxo de eventos, convém verificar a atividade do hub de eventos para verificar se ele está recebendo mensagens. Isso ajudará você a isolar qual seção do fluxo deve ser depurada.
Preparar recursos do KQL
Nesta seção, você cria um banco de dados KQL em seu espaço de trabalho do Microsoft Fabric para usar como destino para seus dados.
Siga as etapas em Criar uma casa de eventos para criar uma casa de eventos de inteligência em tempo real com um banco de dados KQL filho. Você só precisa preencher a seção intitulada Criar uma casa de eventos.
Em seguida, crie uma tabela em seu banco de dados. Chame-o de OPCUA e use as seguintes colunas.
Nome da coluna Tipo de dados AssetId string Temperatura decimal Humidade decimal Carimbo de Data/Hora datetime Depois que a tabela OPCUA for criada, selecione seu banco de dados e use o botão Explorar seus dados para abrir uma janela de consulta.
Execute a seguinte consulta KQL para criar um mapeamento de dados para sua tabela. O mapeamento de dados será chamado de opcua_mapping.
.create table ['OPCUA'] ingestion json mapping 'opcua_mapping' '[{"column":"AssetId", "Properties":{"Path":"$[\'AssetId\']"}},{"column":"Temperature", "Properties":{"Path":"$[\'ThermostatTemperature\']"}},{"column":"Humidity", "Properties":{"Path":"$[\'ThermostatHumidity\']"}},{"column":"Timestamp", "Properties":{"Path":"$[\'EventProcessedUtcTime\']"}}]'
Adicionar tabela de dados como destino
Em seguida, retorne à sua visualização de fluxo de eventos, onde você pode adicionar sua nova tabela KQL como um destino de fluxo de eventos.
Siga as etapas em Adicionar um destino de banco de dados KQL a um fluxo de eventos para adicionar o destino. Tenha em mente as seguintes notas:
Use o modo de ingestão direta.
Na etapa Configurar, selecione a tabela OPCUA que você criou anteriormente.
Na etapa Inspecionar, abra as opções Avançadas. Em Mapeamento, selecione Mapeamento existente e escolha opcua_mapping.
Gorjeta
Se nenhum mapeamento existente for encontrado, tente atualizar o editor de fluxo de eventos e reiniciar as etapas para adicionar o destino. Como alternativa, você pode iniciar esse mesmo processo de configuração a partir da tabela KQL em vez do fluxo de eventos, conforme descrito em Obter dados do fluxo de eventos.
Depois de concluir esse fluxo, a tabela KQL fica visível na visualização ao vivo do fluxo de eventos como um destino.
Aguarde alguns minutos para que os dados se propaguem. Em seguida, selecione o destino KQL e atualize a visualização de dados para ver os dados JSON processados do fluxo de eventos que aparecem na tabela.
Se desejar, você também pode visualizar e consultar esses dados diretamente em seu banco de dados KQL.
Criar um painel em tempo real
Nesta seção, você criará um novo Painel em Tempo Real para visualizar os dados do tutorial. O painel permitirá a filtragem por ID de ativo e carimbo de data/hora, e exibirá resumos visuais de dados de temperatura e umidade.
Nota
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 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 fonte de dados
Siga as etapas na seção Criar um novo painel para criar um novo painel em tempo real a partir dos recursos de 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. Tenha em mente a seguinte observação:
- No painel Fontes de dados, seu banco de dados estará no hub de dados OneLake.
Configurar os parâmetros
Em seguida, configure alguns parâmetros para seu 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:
- Gravadora: Asset
- Tipo de parâmetro: Seleção única (já selecionada por padrão)
- Nome da variável: _asset
- Tipo de dados: string (já selecionado por padrão)
- Fonte: Consulta
Fonte de dados: seu banco de dados (já selecionado por padrão)
Selecione Editar consulta e adicione a seguinte consulta KQL.
OPCUA | summarize by AssetId
- Coluna de valor: AssetId
- Valor padrão: selecione o primeiro valor da consulta
Selecione Concluído para salvar o parâmetro.
Criar mosaico de gráfico de linhas
Em seguida, adicione um bloco ao seu painel para mostrar um gráfico de linhas de temperatura e umidade ao longo do tempo para o ativo selecionado e o intervalo de tempo.
Selecione + Adicionar bloco ou Novo bloco para adicionar um novo bloco.
Insira a seguinte consulta KQL para o bloco. Essa consulta aplica parâmetros de filtro dos seletores de painel para intervalo de tempo e ativo e extrai os registros resultantes com seu carimbo de data/hora, temperatura e umidade.
OPCUA | where Timestamp between (_startTime.._endTime) | where AssetId == _asset | project Timestamp, Temperature, Humidity
Execute a consulta para verificar se os dados podem ser encontrados.
Selecione + Adicionar visual ao lado dos resultados da consulta para adicionar um visual para esses dados. Crie um visual com as seguintes características:
- Nome da telha: Temperatura e umidade ao longo do tempo
- Tipo visual: Gráfico de linhas
- Dados:
- Colunas Y: Temperatura (decimal) e Humidade (decimal) (já inferidas por defeito)
- Colunas X: Timestamp (datetime) (já inferido por padrão)
- Eixo Y:
- Etiqueta: Unidades
- Eixo X:
- Etiqueta: Timestamp
Selecione Aplicar alterações para criar o bloco.
Veja o mosaico concluído no seu dashboard.
Criar blocos de valor máximo
Em seguida, crie alguns blocos para exibir os valores máximos de temperatura e umidade.
Selecione Novo bloco para criar um novo bloco.
Insira a seguinte consulta KQL para o bloco. Essa consulta aplica parâmetros de filtro dos seletores de painel para intervalo de tempo e ativo e obtém o valor de temperatura mais alto dos registros resultantes.
OPCUA | where Timestamp between (_startTime.._endTime) | where AssetId == _asset | top 1 by Temperature desc | summarize by Temperature
Execute a consulta para verificar se uma temperatura máxima pode ser encontrada.
Selecione + Adicionar visual para adicionar um visual para esses dados. Crie um visual com as seguintes características:
- Nome da telha: Temperatura máxima
- Tipo visual: Stat
- Dados:
- Coluna Valor: Temperatura (decimal) (já inferida por padrão)
Selecione Aplicar alterações para criar o bloco.
Exiba o bloco concluído no painel (talvez você queira redimensioná-lo para que o texto completo fique visível).
Abra as opções do bloco e selecione Duplicar bloco.
Isso cria um bloco duplicado no painel.
No novo bloco, selecione o ícone de lápis para editá-lo.
Substitua Temperatura na consulta KQL por Umidade, para que corresponda à consulta abaixo.
OPCUA | where Timestamp between (_startTime.._endTime) | where AssetId == _asset | top 1 by Humidity desc | summarize by Humidity
Execute a consulta para verificar se é possível encontrar uma humidade máxima.
No painel Formatação visual, atualize as seguintes características:
- Nome da telha: Humidade máxima
- Dados:
- Coluna Valor: Humidade (decimal) (já inferida por predefinição)
Selecione Aplicar alterações.
Veja o mosaico concluído no seu dashboard.
Salve seu painel completo.
Agora você tem um painel que exibe diferentes tipos de elementos visuais para os dados do ativo nestes tutoriais. A partir daqui, você pode experimentar os filtros e adicionar outros tipos de bloco para ver como um painel pode permitir que você faça mais com seus dados.
Como resolvemos o problema?
Neste tutorial, você usou um fluxo de eventos para ingerir seus dados de 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 as alterações de valores ao longo do tempo. Ao relacionar dados de borda de várias fontes juntos no Microsoft Fabric, você pode criar relatórios com visualizações e recursos interativos que oferecem informações mais detalhadas sobre a integridade, a utilização 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 informadas para melhores resultados de negócios.
Isso conclui a etapa final no fluxo do tutorial para usar o Azure IoT Operations para gerenciar dados de dispositivo desde a implantação até a análise na nuvem.
Clean up resources (Limpar recursos)
Se você continuar para o próximo tutorial, mantenha todos os seus recursos.
Se você quiser remover a implantação do Azure IoT Operations mas manter seu cluster, use o comando az iot ops delete :
az iot ops delete --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP
Se você quiser excluir todos os recursos criados para este início rápido, exclua o cluster do Kubernetes onde você implantou as Operações do Azure IoT e, em seguida, remova o grupo de recursos do Azure que continha o cluster.
Se você usou Codespaces para esses inícios rápidos, exclua seu Codespace do GitHub.
Nota
O grupo de recursos contém o namespace Hubs de Eventos criado neste tutorial.
Você também pode excluir seu espaço de trabalho do Microsoft Fabric e/ou todos os recursos nele associados a este tutorial, incluindo o fluxo de eventos, a casa de eventos e o Painel em Tempo Real.