Criar um grafo de fluxo de dados no Operações do Azure IoT

Um grafo de fluxo de dados é um pipeline de processamento composável que transforma dados à medida que se move entre fontes e destinos. Um fluxo de dados padrão segue a sequência de enriquecer, filtrar, mapear. Um grafo de fluxo de dados permite encadear transformações em qualquer ordem, ramificar em caminhos paralelos e agregar dados ao longo das janelas de tempo.

Este artigo explica como criar um grafo de fluxo de dados passo a passo. Para obter uma visão geral dos grafos de fluxo de dados e das transformações disponíveis, consulte a visão geral dos grafos de fluxo de dados.

Atualmente, os grafos de fluxo de dados dão suporte apenas a endpoints MQTT, Kafka e OpenTelemetry. Eles não suportam outros tipos de endpoints como Data Lake, Microsoft Fabric OneLake, Azure Data Explorer e Local Storage.

Transformadas usam uma linguagem de expressão para calcular valores, condições de teste e campos de referência. Expressões referem-se a entradas por posição, não pelo nome: a primeira entrada na inputs lista é $1, a segunda é $2, e assim por diante. Funções integradas como cToF convertem e manipulam esses valores.

Para a lista completa de operadores, funções, tipos de dados e campos de metadados, veja a referência Expressions.

Pré-requisitos

  • Uma instância de Operações do Azure IoT implantada em um cluster do Kubernetes. Para obter mais informações, consulte Deploy Operações do Azure IoT.
  • O CLI do Azure instalado em seu computador de desenvolvimento. Verifique as extensões disponíveis do CLI do Azure para a versão mínima exigida para usar a extensão azure-iot-ops. Use az --version para verificar sua versão e az upgrade para atualizar, se necessário. Para obter mais informações, consulte Instale o CLI do Azure.

  • A extensão de Operações do Azure IoT da CLI do Azure. Use o seguinte comando para adicionar a extensão ou atualizá-la à versão mais recente:

    az extension add --upgrade --name azure-iot-ops
    

Os CLI do Azure exemplos deste artigo usam variáveis de ambiente para que você possa definir cada valor uma vez e então copiar e colar os comandos as-is. Se você está usando o ambiente Operações do Azure IoT Codespaces do quickstart, essas variáveis já estão definidas para você e você pode pular essa etapa. Caso contrário, defina as seguintes variáveis de ambiente no seu shell antes de executar os comandos.

Os seguintes scripts definem as variáveis de ambiente mais comumente usadas:

Variável de ambiente Descrição
SUBSCRIPTION_ID O ID da assinatura que contém sua instância do Operações do Azure IoT.
RESOURCE_GROUP O nome do grupo de recursos que contém sua instância do Operações do Azure IoT.
AIO_INSTANCE_NAME O nome da sua instância do Operações do Azure IoT. Para listar suas instâncias, execute az iot ops list -o table.
CLUSTER_NAME O nome do cluster Kubernetes habilitado para Azure Arc que hospeda sua instância.
LOCATION A região Azure para usar para novos recursos, por exemploeastus, .
SUBSCRIPTION_ID=<subscription-id>
RESOURCE_GROUP=<resource-group-name>
AIO_INSTANCE_NAME=<instance-name>
CLUSTER_NAME=<cluster-name>
LOCATION=<region>

Você só precisa definir as variáveis que este artigo utiliza. Este artigo pode usar variáveis adicionais de ambiente para nomes de recursos que você escolher. O artigo explica como posicioná-los onde são apresentados.

Este artigo também utiliza as GRAPH_NAME variáveis de ambiente e PROFILE para o gráfico de fluxo de dados e nomes de perfis. Defina cada um antes de executar os comandos relacionados.

Criar um grafo de fluxo de dados

Um grafo de fluxo de dados contém três tipos de elementos: fontes que trazem dados, transformações que os processam e destinos que os enviam. Conecte-os na ordem em que você deseja que os dados fluam.

  1. Na experiência de operações, vá para sua instância do Operações do Azure IoT.

  2. Selecione Grafo de fluxo de dados>Criar grafo de fluxo de dados.

    Captura de tela da experiência de operações mostrando o grafo de fluxo de dados.

  3. Insira um nome para o grafo de fluxo de dados e selecione um perfil de fluxo de dados. O perfil padrão é selecionado por padrão.

    Captura de tela da caixa de diálogo de Criar experiência de operações, mostrando o campo de nome e o menu suspenso de perfis.

  4. Crie seu pipeline adicionando elementos ao canvas.

    1. Adicione uma fonte: selecione o ponto de extremidade de origem e configure os tópicos nos quais você deseja se inscrever para receber as mensagens de entrada.

      Captura de tela do painel de configuração de fontes da experiência de operações, mostrando o menu suspenso de pontos finais e o campo de entrada de tópicos.

    2. Adicionar transformações: selecione uma ou mais transformações para processar os dados. As transformações disponíveis incluem map, filter, branch, concatenate, window e throttle. Para obter detalhes sobre cada tipo de transformação, consulte a visão geral dos grafos de fluxo de dados.

      Captura de tela do menu de seleção de transformação da experiência de operações mostrando os tipos de transformação disponíveis.

      Captura de tela da interface de operações que mostra um exemplo de configuração de transformação de ramificação.

    3. Adicionar um destino: selecione o ponto de extremidade de destino e configure o tópico ou caminho para o qual enviar dados processados.

      Captura de tela da experiência de operações mostrando um exemplo de destino.

  5. Conecte os elementos na ordem em que você deseja que os dados fluam.

    Captura de tela do quadro de experiência operacional mostrando um pipeline com fonte, transformação e destino conectados.

  6. Selecione Salvar para implantar o grafo de fluxo de dados.

Configure a origem

A fonte define onde os dados entram no pipeline. Especifique uma referência de ponto de extremidade e um ou mais tópicos.

No editor do grafo de fluxo de dados, selecione o elemento de origem e configure:

Configurações Descrição
Ponto de extremidade O ponto de extremidade do fluxo de dados a ser utilizado. Selecione o padrão para o agente MQTT local.
Topics Um ou mais tópicos para se inscrever no recebimento de mensagens.

Adicionar transformações

Transforma dados de processo entre a origem e o destino. Cada transformação faz referência a um artefato embutido e possui regras de configuração.

As transformações integradas disponíveis são:

Transformar Artefato Descrição
Map azureiotoperations/graph-dataflow-map:1.0.0 Renomear, reestruturar, computar e copiar campos.
Filter azureiotoperations/graph-dataflow-filter:1.0.0 Solte mensagens que correspondam a uma condição.
Branch azureiotoperations/graph-dataflow-branch:1.0.0 Encaminhe cada mensagem para um true ou false caminho com base em uma condição.
Concatenate azureiotoperations/graph-dataflow-concatenate:1.0.0 Mescle dois ou mais caminhos em um só.
Window azureiotoperations/graph-dataflow-window:1.0.0 Colete mensagens em um intervalo de tempo e, em seguida, agregar.
Throttle azureiotoperations/graph-dataflow-throttle:1.0.0 Limite a taxa de mensagens por padrão de tópico do MQTT.

Para obter mais informações sobre como enriquecer mensagens com dados externos, consulte Enriquecer com dados externos.

No editor do grafo de fluxo de dados, selecione Adicionar transformação e escolha o tipo de transformação. Configure as regras no editor visual.

Encadeamento de várias transformações

Encadeie qualquer número de transformações. Conecte-os na nodeConnections seção na ordem em que você deseja que os dados fluam:

Arraste conexões entre transformações na tela para definir a ordem de processamento.

Configurar o destino

O destino define para onde os dados processados vão. Especifique uma referência de ponto de extremidade e um tópico ou caminho.

Selecione o elemento de destino e configure:

Configurações Descrição
Ponto de extremidade O ponto de extremidade de fluxo de dados para o qual enviar dados.
Topic O tópico ou caminho para o qual publicar dados processados.

Para o roteamento dinâmico de tópicos com base no conteúdo da mensagem, consulte Encaminhar mensagens para tópicos diferentes.

Verifique se o grafo de fluxo de dados está funcionando

Depois de implantar um grafo de fluxo de dados, verifique se ele está em execução:

Na experiência de operações, selecione seu gráfico de fluxo de dados para visualizar seu status. Um grafo saudável mostra um estado em execução.