Tutorial: Obtenha insights dos seus dados processados
Importante
A Versão Prévia das Operações da Internet das Coisas do Azure – habilitadas pelo Azure Arc – está atualmente em versão prévia. Você não deve usar esse software em versão prévia em ambientes de produção.
Você precisará implantar uma nova instalação das Operações da Internet das Coisas do Azure quando uma versão em disponibilidade geral for disponibilizada. Você não poderá atualizar uma instalação de versão prévia.
Veja os Termos de Uso Complementares para Versões Prévias do Microsoft Azure para obter termos legais que se aplicam aos recursos do Azure que estão em versão beta, versão prévia ou que, de outra forma, ainda não foram lançados em disponibilidade geral.
Nesse tutorial, você preenche um Painel em tempo real para capturar insights dos dados do OPC UA que você enviou aos Hubs de Eventos no tutorial anterior. Ao usar a Inteligência em Tempo Real do Microsoft Fabric, você transfere seus dados dos Hubs de Eventos para o Microsoft Fabric e mapeia-os para um banco de dados KQL que pode ser uma fonte dos 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 completa do tutorial de exemplo, que vai desde a implantação do Azure IoT Operations Preview na borda até a obtenção de insights dos dados do dispositivo na nuvem.
Pré-requisitos
Antes de começar esse 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 ter acesso a um espaço de trabalho com permissões de Colaborador ou superior.
Além disso, o locatário do seu Fabric deve permitir a criação de Painéis em Tempo Real. Essa é uma configuração que pode ser habilitada pelo administrador do seu locatário. Para obter mais informações, consulte Habilitar configurações de locatário no portal de administração.
Que problema vamos resolver?
Depois que os dados do OPC UA chegarem à nuvem, você terá muitas informações disponíveis para analisar. Talvez você queira organizar esses dados e criar relatórios com gráficos e visualizações para obter insights dos dados. As etapas nesse tutorial ilustram como você pode conectar esses 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 configuração de um mapeamento de dados para transformar os dados da carga útil do seu formato JSON nas 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 Azure IoT Operations 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, no modo de exibição ao vivo do fluxo eventos, selecione a origem do AzureEventHub e atualize a 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 fluxo de eventos, 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 em Tempo Real com um banco de dados KQL filho. Você só precisa concluir 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 AssetId string Temperatura decimal Umidade decimal Timestamp datetime Depois que a tabela OPCUA tiver sido criada, selecione-a e use o botão Explorar seus dados para abrir uma janela de consulta para a tabela.
Execute a consulta KQL a seguir 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":"$[\'ThermostatTemperature\']"}},{"column":"Humidity", "Properties":{"Path":"$[\'ThermostatHumidity\']"}},{"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, abra as opções Avançado. Em Mapeamento, 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 sejam propagados. 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 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 de ativo e carimbo de data/hora e exibirá resumos visuais dos dados de temperatura e umidade.
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:
- No painel Fontes de dados, seu banco de dados estará no Hub de dados do OneLake.
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:
- Rótulo: ativo
- 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.
Criar o bloco 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 e o intervalo de tempo selecionados.
Selecione + Adicionar bloco ou Novo bloco para adicionar um novo bloco.
Insira a consulta KQL a seguir para o bloco. Essa consulta aplica parâmetros de filtro dos seletores do painel de intervalo de tempo e de 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
Executar a consulta para verificar se os dados podem ser encontrados.
Selecione + Adicionar visuais ao lado dos resultados da consulta para adicionar um visual nesses dados. Crie um visual com as seguintes características:
- Nome do bloco: temperatura e umidade ao longo do tempo
- Tipo visual: Gráfico de linhas
- Dados:
- Colunas Y: Temperatura (decimal) e Umidade (decimal) (já inferida por padrão)
- Colunas X: Carimbo de data/hora (data/hora) (já inferido por padrão)
- Eixo Y:
- Rótulo: Unidades
- Eixo X:
- Rótulo: Carimbo de data/hora
Selecione Aplicar alterações para criar o bloco.
Exiba o bloco concluído no painel.
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 consulta KQL a seguir 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
Executar a consulta para verificar se uma temperatura máxima pode ser encontrada.
Selecione + Adicionar visuais para adicionar um visual a esses dados. Crie um visual com as seguintes características:
- Nome do bloco: Temperatura máxima
- Tipo visual: Stat
- Dados:
- Coluna de valor: Temperatura (decimal) (já inferido por padrão)
Selecione Aplicar alterações 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).
Abra as opções do bloco e selecione Bloco duplicado.
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, de modo 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 uma umidade máxima pode ser encontrada.
No painel Formatação visual, atualize as seguintes características:
- Nome do bloco: umidade máxima
- Dados:
- Coluna do valor: Umidade (decimal) (já inferida por padrão)
Selecione Aplicar alterações.
Exiba o bloco concluído no painel.
Salve seu painel concluído.
Agora você tem um painel que exibe diferentes tipos de recursos visuais para os dados de ativos nesses 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 Azure IoT Operations 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 das Operações do Azure IoT, mas manter o 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 no qual você implantou as Operações do Azure IoT e remova o grupo de recursos do Azure que continha o cluster.
Se você usou os Codespaces para esses inícios rápidos, exclua seu Codespace do GitHub.
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.