Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Testar funções de longa duração do Lambda - AWS IoT Greengrass

AWS IoT Greengrass Version 1 entrou na fase de vida útil prolongada em 30 de junho de 2023. Para obter mais informações, consulte política de manutenção do AWS IoT Greengrass V1. Após essa data, AWS IoT Greengrass V1 não lançaremos atualizações que forneçam recursos, aprimoramentos, correções de erros ou patches de segurança. Os dispositivos que funcionam AWS IoT Greengrass V1 não serão interrompidos e continuarão operando e se conectando à nuvem. É altamente recomendável que você migre para AWS IoT Greengrass Version 2, o que adiciona novos recursos significativos e suporte para plataformas adicionais.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

AWS IoT Greengrass Version 1 entrou na fase de vida útil prolongada em 30 de junho de 2023. Para obter mais informações, consulte política de manutenção do AWS IoT Greengrass V1. Após essa data, AWS IoT Greengrass V1 não lançaremos atualizações que forneçam recursos, aprimoramentos, correções de erros ou patches de segurança. Os dispositivos que funcionam AWS IoT Greengrass V1 não serão interrompidos e continuarão operando e se conectando à nuvem. É altamente recomendável que você migre para AWS IoT Greengrass Version 2, o que adiciona novos recursos significativos e suporte para plataformas adicionais.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Testar funções de longa duração do Lambda

Uma função de longa duração do Lambda é iniciada automaticamente durante a inicialização do núcleo AWS IoT Greengrass e executada em um único contêiner (ou sandbox). Todas as variáveis e lógica de pré-processamento definidas fora do manipulador de funções são mantidas para cada invocação do manipulador de funções. As várias invocações do manipulador de funções são colocadas em fila até que a execução das invocações anteriores tenha sido executada.

O código greengrassHelloWorldCounter.py usado neste módulo define uma variável my_counter fora do manipulador de funções.

nota

É possível exibir o código no console do AWS Lambda ou no SDK do AWS IoT Greengrass Core para Python no GitHub.

Nesta etapa, você cria assinaturas que permitem que a função do Lambda e a AWS IoT troquem mensagens MQTT. Em seguida, você implanta o grupo e testa a função.

  1. Na página de configuração do grupo, selecione Inscrições e, então, selecione Adicionar.

  2. Em Tipo de origem, selecione Função do Lambda e, em seguida, selecione Greengrass_HelloWorld_Counter.

  3. Em Tipo de destino, selecione Serviço, selecione IoT Cloud.

  4. Para Topic filter, insira hello/world/counter.

  5. Selecione Criar assinatura.

    Essa assinatura única assume uma única direção: da função Greengrass_HelloWorld_Counter do Lambda para AWS IoT. Para invocar (ou trigger) essa função do Lambda na nuvem, é necessário criar uma assinatura na direção oposta.

  6. Siga as etapas de 1 a 5 para adicionar outra assinatura que use o valores a seguir. Essa assinatura permite que a função do Lambda receba mensagens da AWS IoT. Use essa assinatura ao enviar uma mensagem do console do AWS IoT que chame a função.

    • Para a origem, selecione Serviço e, em seguida, selecione IoT Cloud.

    • Para o destino, selecione Função do Lambda e, em seguida, selecione Greengrass_HelloWorld_Counter.

    • Para o filtro de tópico, insira hello/world/counter/trigger.

    A extensão /trigger é usada neste filtro de tópicos porque você criou duas assinaturas e não deseja que uma interfira na outra.

  7. Verifique se o daemon do Greengrass está em execução, como descrito em Implantar configurações de nuvem em um dispositivo de núcleo.

  8. Na página de configuração do grupo, selecione Implantar.

  9. Depois que sua implantação for concluída, volte à página inicial do console do AWS IoT e, em seguida selecione Testar.

  10. Configure os campos a seguir.

    • Em Subscription topic (Tópico de assinatura), insira hello/world/counter.

    • Para Quality of Service (Qualidade de Serviço), selecione 0.

    • Em MQTT payload display (Exibição de carga MQTT), selecione Display payloads as strings (Exibir cargas como strings).

  11. Selecione Subscribe.

    Ao contrário da Parte 1 deste módulo, você deverá ver nenhuma mensagem depois de assinar hello/world/counter. Isso ocorre porque o código greengrassHelloWorldCounter.py que publica para o tópico hello/world/counter está dentro do manipulador de funções, que é executado somente quando a função é invocada.

    Neste módulo, você configurou a função Greengrass_HelloWorld_Counter do Lambda para ser invocada quando ela recebe uma mensagem MQTT no tópico hello/world/counter/trigger.

    A assinatura Greengrass_HelloWorld_Counter para IoT Cloud permite que a função envie mensagens para o AWS IoT no tópico hello/world/counter. A assinatura IoT Cloud para Greengrass_HelloWorld_Counter permite que o AWS IoT envie mensagens para a função no tópico hello/world/counter/trigger.

  12. Para testar o ciclo de vida de longa duração, invoque a função do Lambda publicando uma mensagem no tópico hello/world/counter/trigger. Você pode usar a mensagem padrão.

    Mensagem padrão Hello do console do AWS IoT enviada para hello/world/counter/trigger com o botão Publicar em um tópico em destaque.
    nota

    A função Greengrass_HelloWorld_Counter ignora o conteúdo das mensagens recebidas. Ela só executa o código no function_handler, que envia uma mensagem ao tópico hello/world/counter. É possível revisar esse código no SDK do AWS IoT Greengrass Core para Python no GitHub.

Sempre que uma mensagem é publicada no tópico hello/world/counter/trigger, a variável my_counter é incrementada. Essa contagem de invocação é mostrada nas mensagens enviadas da função do Lambda. Como o manipulador de função inclui um ciclo de espera de 20 segundos (time.sleep(20)), acionar repetidamente o manipulador colocará as respostas do núcleo AWS IoT Greengrass em fila.

Captura de tela mostrando o incremento de Invocation Count (Contagem de invocação) de 1, 2 e 3.
PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.