Partilhar via


Tutorial: Implantar o Azure Stream Analytics como um módulo IoT Edge

Aplica-se a:Marca de verificação IoT Edge 1.5 IoT Edge 1.5

Importante

O IoT Edge 1.5 LTS é a versão suportada. O IoT Edge 1.4 LTS está em fim de vida útil a partir de 12 de novembro de 2024. Se você estiver em uma versão anterior, consulte Atualizar o IoT Edge.

Neste tutorial, você cria um trabalho do Azure Stream Analytics no portal do Azure e o implanta como um módulo IoT Edge sem código extra.

Neste tutorial, aprenderás como:

  • Crie uma tarefa do Azure Stream Analytics para processar dados na periferia.
  • Ligue a nova tarefa do Azure Stream Analytics a outros módulos do IoT Edge.
  • Implemente a tarefa do Azure Stream Analytics num dispositivo IoT Edge a partir do portal do Azure.

Diagrama que mostra a arquitetura de fluxo, incluindo preparação e implantação de um trabalho do Azure Stream Analytics.

O módulo do Stream Analytics neste tutorial calcula a temperatura média num período de 30 segundos graduais. Quando a média chega a 70, o módulo envia um alerta para que o dispositivo entre em ação. Neste caso, a ação consiste em redefinir o sensor simulado de temperatura. Em um ambiente de produção, você pode usar essa funcionalidade para desligar uma máquina ou tomar medidas preventivas quando a temperatura atingir níveis perigosos.

Por que usar o Azure Stream Analytics no IoT Edge?

Muitas soluções de IoT usam serviços de análise para obter informações sobre os dados à medida que chegam à nuvem a partir de dispositivos IoT. Com o Azure IoT Edge, você move a lógica do Azure Stream Analytics para o próprio dispositivo. O processamento de fluxos de telemetria na extremidade reduz a quantidade de dados carregados e o tempo necessário para reagir a insights acionáveis. O Azure IoT Edge e o Azure Stream Analytics integram-se para simplificar o desenvolvimento da sua carga de trabalho.

O Azure Stream Analytics usa uma sintaxe de consulta estruturada para análise de dados na nuvem e em dispositivos IoT Edge. Para obter mais informações, consulte a documentação do Azure Stream Analytics.

Pré-requisitos

Se não tiver uma conta do Azure, crie uma conta gratuita antes de começar.

  • Um dispositivo Azure IoT Edge.

    Use uma máquina virtual do Azure como um dispositivo IoT Edge seguindo as etapas no início rápido para dispositivos Linux ou Windows.

  • Um Hub IoT gratuito ou de camada padrão no Azure.

Criar uma tarefa do Azure Stream Analytics

Nesta seção, você cria um trabalho do Azure Stream Analytics que:

  • Recebe dados do seu dispositivo IoT Edge.
  • Consulta os dados de telemetria em busca de valores fora de um intervalo definido.
  • Executa ações no dispositivo IoT Edge com base nos resultados da consulta.

Criar uma conta de armazenamento

Ao criar um trabalho do Azure Stream Analytics para ser executado em um dispositivo IoT Edge, você precisa armazená-lo para que o dispositivo possa acessá-lo. Você pode usar uma conta de Armazenamento do Azure existente ou criar uma nova.

  1. No portal do Azure, vá para Criar um recurso>Armazenamento>Conta de armazenamento.

  2. Indique os valores seguintes para criar a conta de armazenamento:

    Campo Valor
    Subscrição Escolha a mesma subscrição do hub IoT.
    Grupo de recursos Use o mesmo grupo de recursos para todos os seus recursos de teste para os guias de início rápido e tutoriais do IoT Edge. Por exemplo, IoTEdgeResources.
    Nome Introduza um nome exclusivo para a conta de armazenamento.
    Localização Selecione um local perto de si.
  3. Mantenha os valores padrão para os outros campos e selecione Revisar + Criar.

  4. Reveja as suas definições e, em seguida, selecione Criar.

Criar uma nova tarefa

  1. No portal do Azure, selecione:

    1. Criar um recurso
    2. Internet das Coisas no menu à esquerda
    3. Digite Stream Analytics na barra de pesquisa para encontrá-lo no Azure Marketplace
    4. Selecione Criar e depois Trabalho de Stream Analytics no menu dropdown
  2. Forneça os seguintes valores para criar seu novo trabalho do Stream Analytics:

    Campo Valor
    Nome Indique um nome para o trabalho. Por exemplo, IoTEdgeJob
    Subscrição Escolha a mesma subscrição do hub IoT.
    Grupo de recursos Use o mesmo grupo de recursos para todos os recursos de teste criados durante os tutoriais e inícios rápidos do IoT Edge. Por exemplo, um recurso chamado IoTEdgeResources.
    País/Região Escolha uma localização perto de si.
    Ambiente de alojamento Selecione Borda. Essa opção permite implantar em um dispositivo IoT Edge em vez da nuvem.
  3. Selecione Rever e criar.

  4. Confirme as opções e selecione Criar.

Configurar o trabalho

Depois de criar seu trabalho do Stream Analytics no portal do Azure, configure-o com uma entrada, uma saída e uma consulta para executar nos dados que passam.

Esta seção mostra como criar um trabalho que recebe dados de temperatura de um dispositivo IoT Edge. Ele analisa os dados numa janela deslizante de 30 segundos. Se a temperatura média nessa janela ultrapassar 70 graus, o trabalho enviará um alerta para o dispositivo IoT Edge.

Nota

Você especifica de onde os dados vêm e vão na próxima seção, Configurar configurações do IoT Edge, ao implantar o trabalho.

Defina a sua entrada e saída

  1. Navegue para o trabalho do Stream Analytics no portal do Azure.

  2. Em Topologia de trabalho, selecione Entradas e, em seguida, selecione Adicionar entrada.

  3. Escolha Edge Hub na lista suspensa.

    Se você não vir a opção Edge Hub na lista, talvez tenha criado seu trabalho do Stream Analytics como um trabalho hospedado na nuvem. Tente criar um novo trabalho e certifique-se de selecionar Edge como o ambiente de hospedagem.

  4. No painel Nova entrada, insira temperatura como o nome de entrada.

  5. Mantenha os valores padrão para os outros campos e selecione Salvar.

  6. Em Topologia de trabalho, selecione Saídas e, em seguida, selecione Adicionar.

  7. Escolha Edge Hub na lista suspensa.

  8. No painel Nova saída , insira alert como o alias de saída.

  9. Mantenha os valores padrão para os outros campos e selecione Salvar.

Criar uma consulta

  1. Em Topologia de Trabalho, selecione Consulta.

  2. Substitua o texto padrão pela seguinte consulta:

    SELECT  
        'reset' AS command
    INTO
       alert
    FROM
       temperature TIMESTAMP BY timeCreated
    GROUP BY TumblingWindow(second,30)
    HAVING Avg(machine.temperature) > 70
    

    Nessa consulta, o código SQL envia um comando reset para a saída do alerta se a temperatura média da máquina em uma janela de 30 segundos atingir 70 graus. O comando reset é pré-programado no sensor como uma ação.

  3. Selecione Salvar consulta.

Configurar as definições do IoT Edge

Para implantar seu trabalho do Stream Analytics em um dispositivo IoT Edge, associe seu trabalho do Azure Stream Analytics a uma conta de armazenamento. Quando você implanta seu trabalho, a definição de tarefa é exportada para a conta de armazenamento como um contêiner.

  1. No serviço Stream Analytics, no menu Configurações , selecione Configurações da conta de armazenamento.

  2. Escolha a opção Selecionar armazenamento de Blob/ADLS Gen 2 nas suas subscrições .

  3. Sua conta de armazenamento do Azure é exibida automaticamente na página. Se não vir um, crie um armazenamento. Se precisar escolher um armazenamento diferente daquele listado no campo Conta de armazenamento, selecione-o a partir do menu deslizante.

  4. Selecione Salvar se tiver feito alterações.

Implementar a tarefa

Agora você está pronto para implantar o trabalho do Azure Stream Analytics em seu dispositivo IoT Edge.

Nesta seção, você usa o assistente Definir Módulos no portal do Azure para criar um manifesto de implantação. Um manifesto de implantação é um arquivo JSON que descreve todos os módulos que são implantados em um dispositivo. O manifesto também mostra os registros de contêiner que armazenam as imagens do módulo, como os módulos devem ser gerenciados e como os módulos podem se comunicar entre si. O dispositivo IoT Edge obtém o respetivo manifesto de implementação no Hub IoT e, em seguida, utiliza as informações contidas no mesmo para implementar e configurar todos os módulos que lhe foram atribuídos.

Neste tutorial, vai implementar dois módulos. O primeiro é o SimulatedTemperatureSensor, que é um módulo que simula um sensor de temperatura e humidade. O segundo é o seu trabalho do Stream Analytics. O módulo de sensor fornece o fluxo de dados que sua consulta de trabalho analisa.

  1. No portal do Azure, navegue para o seu hub IoT.

  2. Selecione Dispositivos no menu Gerenciamento de dispositivos e, em seguida, selecione seu dispositivo IoT Edge para abri-lo.

  3. Selecione Definir módulos.

  4. Se você implantou anteriormente o módulo SimulatedTemperatureSensor neste dispositivo, ele pode ser preenchido automaticamente. Caso contrário, adicione o módulo com as seguintes etapas:

    1. Selecione + Adicionar e escolha IoT Edge Module.
    2. Para o nome, digite SimulatedTemperatureSensor.
    3. Para o URI da imagem, digite mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.5.
    4. Deixe as outras configurações padrão e selecione Adicionar.
  5. Adicione a tarefa do Azure Stream Analytics Edge com os seguintes passos:

    1. Selecione + Adicionar e escolha Módulo do Azure Stream Analytics.
    2. Selecione a sua subscrição e a tarefa do Azure Stream Analytics Edge que criou.
    3. Selecione Salvar.

    Depois de salvar as alterações, os detalhes do trabalho do Stream Analytics são publicados no contêiner de armazenamento que você criou.

  6. Depois de concluída a adição do Stream Analytics na implantação, confirme que dois novos módulos aparecem na página Definir módulos.

    Captura de tela confirmando que dois novos módulos estão no seu dispositivo. A captura de tela também mostra onde o botão Revisar + criar está localizado.

  7. Selecione Rever e criar. O manifesto de implantação é exibido.

  8. Selecione Criar.

  9. Na página Definir módulos do seu dispositivo, após alguns minutos, você verá os módulos listados e em execução. Atualize a página se não vir módulos ou aguarde mais alguns minutos e atualize-a novamente.

Entenda os dois novos módulos

  1. Na guia Definir módulos do seu dispositivo, selecione o nome do módulo do Stream Analytics para levá-lo à página Atualizar módulo IoT Edge . Aqui você pode atualizar as configurações.

    A guia Configurações tem o URI da imagem que aponta para uma imagem padrão do Azure Stream Analytics. Essa única imagem é usada para cada módulo do Stream Analytics que é implantado em um dispositivo IoT Edge.

    A guia Configurações de Gêmeo de Módulo mostra o JSON que define a propriedade do Azure Stream Analytics (ASA) chamada ASAJobInfo. cujo valor aponta para a definição do trabalho no seu contentor de armazenamento. Esta propriedade é como a imagem do Stream Analytics é configurada com seus detalhes específicos do trabalho.

    Por padrão, o módulo do Stream Analytics tem o mesmo nome do trabalho em que se baseia. Você pode alterar o nome do módulo nesta página, se quiser, mas não é necessário.

  2. Selecione Aplicar se tiver feito alterações ou Cancelar se não tiver feito alterações.

Atribua rotas aos seus módulos

  1. Na página Definir módulos no dispositivo:<seu-nome-do-dispositivo> , selecione Avançar: Rotas.

  2. Na guia Rotas , você define como as mensagens são passadas entre módulos e o Hub IoT. As mensagens são construídas usando pares de nome e valor.

    Adicione os nomes e valores de rota com os pares mostrados na tabela a seguir. Substitua instâncias de {moduleName} pelo nome do seu módulo do Azure Stream Analytics. Este módulo deve ter o mesmo nome que você vê na lista de módulos do seu dispositivo na página Definir módulos , conforme mostrado no portal do Azure.

    Captura de ecrã a mostrar o nome dos seus módulos do Stream Analytics no seu dispositivo IoT Edge no portal do Azure.

    Nome Valor
    telemetriaToCloud FROM /messages/modules/SimulatedTemperatureSensor/* INTO $upstream
    alertasToCloud FROM /messages/modules/{moduleName}/* INTO $upstream
    alertasToReset FROM /messages/modules/{moduleName}/* INTO BrokeredEndpoint("/modules/SimulatedTemperatureSensor/inputs/control")
    telemetriaToAsa FROM /messages/modules/SimulatedTemperatureSensor/* INTO BrokeredEndpoint("/modules/{moduleName}/inputs/temperature")

    As rotas que você declara aqui definem o fluxo de dados por meio do dispositivo IoT Edge. Os dados de telemetria do SimulatedTemperatureSensor são enviados para o Hub IoT e para a entrada de temperatura que foi configurada no trabalho do Stream Analytics. As mensagens de saída de alerta são enviadas para o Hub IoT e para o módulo SimulatedTemperatureSensor para acionar o comando reset.

  3. Selecione Seguinte: Revisão + Criação.

  4. Na guia Revisão + Criação , você pode ver como as informações fornecidas no assistente são convertidas em um manifesto de implantação JSON.

  5. Quando terminar de revisar o manifesto, selecione Criar para concluir a configuração do módulo.

Ver dados

Aceda ao seu dispositivo IoT Edge para ver a interação entre o módulo Azure Stream Analytics e o módulo SimulatedTemperatureSensor.

Nota

Se você estiver usando uma máquina virtual para um dispositivo, use o Azure Cloud Shell para acessar diretamente todos os serviços autenticados do Azure.

  1. Verifique se todos os módulos estão em execução no Docker:

    iotedge list  
    
  2. Veja todos os dados de métricas e registos de sistema. Substitua {moduleName} pelo nome do seu módulo do Azure Stream Analytics:

    iotedge logs -f {moduleName}  
    
  3. Veja como o comando reset afeta o SimulatedTemperatureSensor visualizando os logs do sensor:

    iotedge logs SimulatedTemperatureSensor
    

    Você pode observar a temperatura da máquina subir gradualmente até atingir 70 graus por 30 segundos. Em seguida, o módulo do Stream Analytics aciona uma reposição e a temperatura da máquina baixa novamente para 21.

    Captura de tela do comando reset na saída de logs do módulo.

Clean up resources (Limpar recursos)

Se quiser continuar para o próximo artigo recomendado, mantenha os recursos e as configurações que criou e reutilize-os. Também pode continuar a utilizar o mesmo dispositivo IoT Edge como um dispositivo de teste.

Caso contrário, exclua as configurações locais e os recursos do Azure usados neste artigo para evitar cobranças.

Eliminar recursos do Azure

A eliminação de recursos e grupos de recursos do Azure é irreversível. Confirme que não elimina acidentalmente o grupo de recursos ou recursos errados. Se você criou o Hub IoT dentro de um grupo de recursos existente que tem recursos que deseja manter, exclua apenas o recurso do Hub IoT em si, não o grupo de recursos.

Para eliminar os recursos:

  1. Entre no portal do Azure e selecione Grupos de recursos.
  2. Selecione o nome do grupo de recursos que contém os recursos de teste do IoT Edge.
  3. Reveja a lista de recursos que o seu grupo de recursos contém. Se quiser excluir todos eles, selecione Excluir grupo de recursos. Se você quiser excluir apenas alguns deles, você pode selecionar cada recurso para excluí-los individualmente.

Próximos passos

Neste tutorial, você configura um trabalho do Azure Stream Analytics para analisar dados do seu dispositivo IoT Edge. Você carregou o módulo Azure Stream Analytics em seu dispositivo IoT Edge para processar e reagir a aumentos de temperatura localmente e enviou o fluxo de dados agregados para a nuvem. Para saber como o Azure IoT Edge pode ajudá-lo a criar mais soluções, experimente o próximo tutorial.