Exercício - Implementar o processamento de telemetria IoT

Concluído

Este exercício fornece uma visão geral do uso de aplicativos do Azure IoT Central para configurar regras e exportar dados de telemetria de IoT. Para obter mais informações, consulte:

Neste exercício, irá:

  • Crie uma função do Azure que registre uma carga útil de solicitação HTTP.
  • Configure e valide regras de telemetria IoT de um aplicativo do Azure IoT Central.
  • Crie uma conta de Armazenamento do Azure que armazenará a telemetria IoT.
  • Configure e valide a exportação de dados de um aplicativo do Azure IoT Central.

Pré-requisitos

  • Uma subscrição do Azure
  • Uma conta Microsoft ou uma conta Microsoft Entra com a função de Administrador Global no inquilino do Microsoft Entra associada à subscrição do Azure e com a função de Proprietário ou Colaborador na subscrição do Azure
  • Conclusão da unidade de exercício Configurar o Azure IoT Central

Criar uma função do Azure que registra uma carga de solicitação HTTP

Antes de configurar as regras de aplicativo do Azure IoT Central, você criará um aplicativo Azure Function que ajudará a validar o processamento de regras. Ao implementar seu aplicativo nativo da nuvem, você pode facilmente substituir o aplicativo Azure Function por qualquer outro componente que ofereça suporte à funcionalidade de webhook HTTP.

  1. Em um navegador da Web, navegue até o portal do Azure e entre para acessar a assinatura do Azure que você usará neste módulo.

  2. Use a caixa Pesquisar recursos, serviços e documentos no início da página do portal do Azure para pesquisar e selecione Aplicativo de função.

  3. Na folha Aplicativo de função, selecione + Novo ou + Criar.

  4. Na guia Noções básicas da folha Criar aplicativo de função, defina as seguintes configurações e selecione Revisar + criar:

    Definição Configuração
    Subscrição Selecione o nome da assinatura do Azure que você usará neste módulo.
    Grupo de Recursos Crie um novo grupo de recursos chamado iot-central-apps-RG.
    Nome da Aplicação de Funções Insira um nome exclusivo que consista em letras minúsculas, dígitos ou traços e comece com uma letra.
    Publicar Selecione Código.
    Pilha de runtime Selecione .NET.
    Versão Selecione 3.1.
    País/Região Selecione a região do Azure mais próxima do local do seu ambiente de laboratório, de preferência combinando com o local da sua implantação do Azure IoT Central.
    Sistema operativo Windows
    Tipo de plano Consumo (Sem servidor)

    Screenshot of the Azure portal Create Function App blade Basics tab.

  5. Selecione Criar.

    Nota

    Aguarde até que o provisionamento do aplicativo Azure Function seja concluído. Isso pode levar até dois minutos.

  6. Na janela do navegador que exibe o portal do Azure com a folha de status de provisionamento do aplicativo Azure Function, selecione Ir para recurso.

  7. Na folha da aplicação Azure Function, selecione Funções e, em seguida, selecione + Criar.

  8. Na folha Criar função, selecione a entrada do modelo de gatilho HTTP e, em seguida, selecione Criar. Se solicitado, aceite os padrões para o modelo de gatilho HTTP.

    Screenshot of the Azure portal Azure Function app Add function blade.

  9. Na folha HttpTrigger1, na barra de menus vertical, selecione Código + Teste.

  10. No HttpTrigger1 | Código + folha de teste, substitua o código existente pelo seguinte conteúdo e selecione Salvar para salvar as alterações:

    #r "Newtonsoft.Json"
    
    using System.Net;
    using Microsoft.AspNetCore.Mvc;
    using Microsoft.Extensions.Primitives;
    using Newtonsoft.Json;
    
    public static async Task<IActionResult> Run(HttpRequest req, ILogger log)
    {
        log.LogInformation("C# HTTP trigger function processed a request.");
    
        string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
        dynamic data = JsonConvert.DeserializeObject(requestBody);
    
        string responseMessage = $"Payload: {data}. \nThis HTTP triggered function executed successfully."; 
        log.LogInformation(responseMessage);
    
        return new OkObjectResult(responseMessage);
    }
    

    Nota

    A função registra a carga da solicitação HTTP, que deve representar os dados de telemetria encaminhados para o ponto de extremidade do aplicativo de função pelo aplicativo Azure IoT Central criado no exercício anterior neste módulo.

  11. No HttpTrigger1 | Código + folha de teste, selecione Obter URL de função e registre o valor da URL da função do Azure.

  12. Para testar a função recém-criada, no HttpTrigger1 | Código + Folha de teste , selecione Testar/Executar. Selecione a guia Entrada e, em seguida, selecione Executar.

    Screenshot of the Code + Test blade of the HttpTrigger1 blade with the Input tab selected.

  13. Para verificar os resultados, no HttpTrigger1 | Code + Test blade, revise o painel de log e verifique se os dados de carga útil correspondem aos exibidos na guia Saída .

    Screenshot of the Code + Test blade of the HttpTrigger1 blade with the Output tab selected.

    Nota

    Talvez seja necessário selecionar Executar pela segunda vez para gerar os resultados no painel de log.

Configurar e validar regras de telemetria IoT de um aplicativo do Azure IoT Central

  1. Inicie outra janela do navegador da Web e navegue até a página Meus aplicativos do IoT Central.

  2. Se solicitado, entre para acessar a assinatura do Azure que você usou na unidade de exercício Configurar o Azure IoT Central.

  3. Na página Meus aplicativos, selecione a entrada adatum-iot-custom-application.

  4. No menu vertical, em Estender, selecione Regras.

  5. Na página Regras, selecione Criar uma regra e defina as seguintes configurações:

    Definição Configuração
    Nome da regra Insira a regra de teste de aplicativo personalizado do Adatum IoT.
    Modelo de dispositivo Selecione Raspberry Pi.
    Agregação de tempo Ligue-o com o valor do intervalo de tempo definido como 5 minutos.
    Telemetria Selecione a humidade.
    Operador Selecione é maior do que.
    Agregação Selecione Média.
    Introduza um valor Digite 30.
    Ação Selecione + Webhook.
    Display name Insira o webhook da função do Azure.
    URL de retorno de chamada Cole o valor da URL da função do Azure que você registrou na tarefa anterior deste exercício.

    Nota

    O valor da telemetria de umidade é intencionalmente baixo artificialmente, para invocar a funcionalidade webhook e acionar a função. Em cenários da vida real, você o ajustaria para corresponder à condição que justifica o acionamento de um alerta ou a tomada de uma ação de correção.

  6. Na página Regras, selecione Concluído e, em seguida, selecione Guardar.

  7. Alterne para a janela do navegador que exibe a página do Simulador do Raspberry Pi Azure IoT Online que você usou no exercício anterior deste módulo. Nesta página, verifique se o dispositivo simulado está enviando mensagens para o aplicativo Azure IoT Central. Se o simulador tiver parado, selecione Executar diretamente após o painel de código.

  8. Volte para a janela do navegador da Web exibindo o HttpTrigger1 | Código + folha de teste no portal do Azure. No menu vertical, selecione a entrada Monitor e no HttpTrigger1 | Código + Folha de teste , selecione a guia Logs .

  9. Verifique se o painel de logs exibe as mensagens geradas em resposta ao gatilho HTTP originado do webhook do aplicativo Azure IoT Central que você configurou anteriormente nesta tarefa.

Criar uma conta de Armazenamento do Azure que armazene telemetria IoT

  1. Alterne para a janela do navegador da Web exibindo o portal do Azure.

  2. No portal do Azure, use a caixa de texto Pesquisar recursos, serviços e documentos para pesquisar e selecione Contas de armazenamento.

  3. Na folha Contas de armazenamento, selecione + Novo ou + Criar.

  4. Na guia Noções básicas da folha Criar conta de armazenamento, defina as seguintes configurações (deixe os outros com seus valores padrão):

    Definição Configuração
    Subscrição Selecione o nome da assinatura do Azure que você usará neste módulo.
    Grupo de Recursos Selecione iot-central-apps-RG.
    Nome da conta de armazenamento Insira um nome exclusivo que contenha entre 3 e 24 letras minúsculas e dígitos e comece com uma letra.
    Desempenho selecione Standard.
    Redundância Selecionar armazenamento com redundância local (LRS)

    Screenshot of the Azure portal, Create storage account blade, Basics tab.

  5. Na guia Noções básicas da folha Criar conta de armazenamento, selecione Revisar + criar e, em seguida, selecione Criar.

    Nota

    Aguarde a conclusão do provisionamento da conta de armazenamento do Azure. Isto pode demorar cerca de dois minutos.

  6. Após a conclusão do provisionamento, selecione Ir para o recurso.

  7. Na folha Conta de armazenamento do Azure, no menu vertical, selecione Contêineres e, em seguida, selecione + Contêiner.

  8. Na folha Novo contêiner, na caixa de texto Nome, digite iotcontainer, deixe o nível de acesso público definido como Privado (sem acesso anônimo) e selecione Criar.

    Screenshot of the Azure portal, New container blade.

  9. Na folha Conta de armazenamento do Azure, no menu vertical, na seção Segurança + Rede , selecione Chaves de acesso. Selecione Mostrar chaves e registre o valor da cadeia de conexão correspondente a key1.

    Screenshot of the Azure portal, Access keys blade.

Configurar e validar a exportação de dados de um aplicativo do Azure IoT Central

  1. Alterne para a janela do navegador da Web exibindo a página adatum-iot-custom-application no portal do IoT Central Application.

  2. No portal do Aplicativo Central IoT, na página adatum-iot-custom-application, no menu vertical, na seção Estender, selecione Exportação de dados e, em seguida, selecione Adicionar uma exportação.

    Screenshot of the Azure IoT Central portal, Data export page.

  3. Na página Criar nova exportação, defina as seguintes configurações:

    Definição Configuração
    Nome da exportação Insira a exportação de aplicativo personalizado do Adatum IoT.
    Tipo de dados a exportar Selecione Telemetria.
    Destinos Selecione criar um novo.
    Novo nome de destino Entre no Adatum Blob Storage.
    Tipo de destino Selecione Armazenamento de Blobs do Azure.
    Connection string Cole o valor da cadeia de conexão copiada na tarefa anterior deste exercício.
    Contentor Digite iotcontainer.

    Screenshot of the Azure IoT Central application export new destination settings.

  4. Selecione Criar e, em seguida, selecione Salvar na página Criar nova exportação.

  5. Alterne para a janela do navegador que exibe a página do Simulador do Raspberry Pi Azure IoT Online que você usou anteriormente neste exercício. Nesta página, diretamente após o painel de código, selecione Executar e verifique se o dispositivo simulado está enviando mensagens para o aplicativo Azure IoT Central.

  6. Alterne para a janela do navegador exibindo a folha da conta de armazenamento do Azure no portal do Azure.

  7. Na folha Conta de armazenamento do Azure, no menu vertical, selecione Contêineres.

  8. Na lista de contêineres, selecione a entrada iotcontainer .

  9. Na folha iotcontainer, verifique a presença de uma nova pasta com um nome baseado em GUID.

    Nota

    Se a pasta não estiver presente, aguarde cerca de um minuto e selecione Atualizar.

  10. Na folha iotcontainer, selecione a pasta recém-gerada e navegue por suas subpastas até chegar a um blob em qualquer uma de suas subpastas.

  11. Na folha iotcontainer, selecione o blob que você identificou na etapa anterior. Na folha blob, selecione a guia Editar para exibir seu conteúdo.

    Screenshot of the content of a blob representing telemetry exported from the Azure IoT Central application.

  12. Alterne para a janela do navegador exibindo a página do Simulador do Raspberry Pi Azure IoT Online. Nesta página, logo após o painel de código, selecione Parar e verifique se o dispositivo simulado não envia mais mensagens para o aplicativo Azure IoT Central.

Resultados

Parabéns! Concluiu o segundo exercício deste módulo. Neste exercício, você:

  • Criada uma função do Azure que registra uma carga útil de solicitação HTTP.
  • Regras de telemetria IoT configuradas e validadas de um aplicativo do Azure IoT Central.
  • Criou uma conta de Armazenamento do Azure que armazenará a telemetria IoT.
  • Exportação de dados configurada e validada de um aplicativo do Azure IoT Central.

Limpar os recursos

Para evitar cobranças desnecessárias ao usar recursos do Azure, você deve excluir o grupo de recursos iot-central-apps-RG criado no início deste exercício. Para fazer isso, no portal do Azure, navegue até a folha iot-central-apps-RG e selecione a entrada Excluir grupo de recursos na barra de ferramentas. Na caixa de texto DIGITE O NOME DO GRUPO DE RECURSOS, digite iot-central-apps-RGe selecione Excluir.