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á.
Configure a função do Lambda para AWS IoT Greengrass
Agora você está pronto para configurar sua função do Lambda para o AWS IoT Greengrass.
Nesta etapa:
-
Use o console do AWS IoT para adicionar a função do Lambda ao seu grupo do Greengrass.
-
Defina configurações específicas do grupo para a função do Lambda.
-
Adicione uma assinatura ao grupo que permita que a função do Lambda publique mensagens MQTT no AWS IoT.
-
Defina as configurações de log local para o grupo.
No painel de navegação do console de AWS IoT, em Gerenciar, expanda Dispositivos Greengrass e, em seguida selecione Grupos (V1).
-
Em Grupos do Greengrass, selecione o grupo criado por você no Módulo 2.
-
Na página de configuração do grupo, selecione a guia Funções do Lambda e, em seguida, role para baixo até a seção Minhas funções do Lambda e selecione Adicionar função do Lambda.
-
Selecione o nome da função do Lambda que você criou na etapa anterior (Greengrass_HelloWorld, não o nome do alias).
-
Para a versão, selecione Alias: GG_HelloWorld.
-
Na seção Configuração da função do Lambda, faça as seguintes alterações:
-
Defina o Usuário e grupo do sistema como Usar padrão do grupo.
-
Defina Conteinerização da função do Lambda para Usar padrão do grupo.
-
Defina Timeout (Tempo limite) como 25 segundos. Essa função do Lambda permanece em espera por 5 segundos antes de cada invocação.
-
Para Fixado, selecione Verdadeiro.
nota
Uma função de longa duração (ou pinned) do Lambda é automaticamente iniciada após a inicialização do AWS IoT Greengrass e continua sendo executada no seu próprio contêiner. Isso contrasta com uma função do Lambda sob demanda, que é iniciada quando invocada e interrompida quando não há tarefas a serem executadas. Para obter mais informações, consulte Configuração do ciclo de vida das funções do Lambda do Greengrass.
-
-
Selecione Adicionar função do Lambda para salvar as alterações. Para obter informações sobre as propriedades de funções do Lambda, consulte Controlar a execução de funções do Lambda do Greengrass usando a configuração específica do grupo.
Em seguida, crie uma assinatura que permita que a função do Lambda envie mensagens MQTT
para o AWS IoT Core. A função do Lambda do Greengrass pode trocar mensagens MQTT com:
-
Dispositivos no grupo do Greengrass.
-
Conectores no grupo.
-
Outras funções do Lambda no grupo.
-
AWS IoT Core.
-
O serviço de sombra local. Para obter mais informações, consulte Módulo 5: Interagir com sombras de dispositivos.
O grupo usa assinaturas para controlar a maneira como essas entidades podem se comunicar umas com as outras. As assinaturas fornecem interações previsíveis e uma layer de segurança.
Uma assinatura consiste em uma origem, um destino e um tópico. A origem é o originador da mensagem. O destino é o destino da mensagem. O tópico permite que você filtre os dados enviados da origem para o destino. A origem ou o destino podem ser um dispositivo do Greengrass, uma função do Lambda, um conector, uma sombra do dispositivo ou o AWS IoT Core.
nota
Uma assinatura é direcionada de tal forma que as mensagens fluem em uma direção específica: da origem para o destino. Para permitir uma comunicação bidirecional, você deve configurar duas assinaturas.
nota
Atualmente, o filtro de tópicos da assinatura não permite mais do que um único caractere
+
em um tópico. O filtro de tópicos permite apenas um único caractere#
no final de um tópico.A função do Lambda
Greengrass_HelloWorld
só envia mensagens para o tópicohello/world
no AWS IoT Core, portanto, só é necessário criar uma assinatura da função do Lambda para o AWS IoT Core. Isso será feito na próxima etapa. -
-
Na página de configuração do grupo, selecione a guia Assinaturas e, em seguida, Adicionar assinatura.
Para obter um exemplo que mostra como criar uma assinatura usando a AWS CLI, consulte create-subscription-definition
na Referência de comandos da AWS CLI. -
No Tipo de origem, selecione a Função do Lambda e, para Origem, selecione Greengrass_Helloworld.
-
Para Tipo de destino, selecione Serviço e, para Destino, selecione IoT Cloud.
-
Em Filtro de tópicos, insira
hello/world
e, em seguida selecione Criar assinatura. -
Defina as configurações de registro do grupo. Neste tutorial, configure os componentes do sistema do AWS IoT Greengrass e funções do Lambda definidas pelo usuário para gravar logs no sistema de arquivos do dispositivo do núcleo.
-
Na página de configuração do grupo, selecione a guia Logs.
-
Na seção Configuração de logs local, selecione Editar.
-
Na caixa de diálogo Editar configuração de logs locais, mantenha os valores padrão para níveis de log e tamanhos de armazenamento e, em seguida, selecione Salvar.
Você pode usar logs para solucionar quaisquer problemas que encontrar ao executar este tutorial. Ao solucionar problemas, é possível alterar temporariamente o nível de log para Depurar. Para obter mais informações, consulte Acessar os logs do sistema de arquivos.
-
-
Se o módulo de tempo de execução do Java 8 não estiver instalado no dispositivo de núcleo, você deverá instalá-lo ou desabilitar o gerenciador de fluxo.
nota
Este tutorial não usa o gerenciador de fluxo, mas usa o fluxo de trabalho de Criação de grupo padrão que habilita o gerenciador de fluxo por padrão. Se o gerenciador de fluxofluxo estiver habilitado, mas o Java 8 não estiver instalado, haverá falha na implantação do grupo. Para obter mais informações, consulte os requisitos do gerenciador de fluxo.
Para desabilitar o gerenciador de fluxo:
-
Na página de configurações do grupo, selecione a guia Funções do Lambda.
-
Na seção Funções do Lambda do sistema, selecione Gerenciador de fluxo e selecione Editar.
-
Selecione Desabilitar e Salvar.
-