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á.
Crie e empacote uma função do Lambda
O exemplo de função do Lambda em Python deste módulo usa o SDK do AWS IoT Greengrass Core para que o Python publique mensagens MQTT.
Nesta etapa:
-
Faça download do SDK do AWS IoT Greengrass Core para Python para o computador (e não para o dispositivo de núcleo do AWS IoT Greengrass).
-
Crie um pacote de implantação de funções do Lambda que contém o código da função e as dependências.
-
Use o console do Lambda para criar uma função do Lambda e fazer upload do pacote de implantação.
-
Publique uma versão da função do Lambda e crie um alias que aponte para a versão.
Para concluir este módulo, o Python 3.7 deve ser instalado no dispositivo principal.
-
Na página de downloads do SDK do AWS IoT Greengrass Core, baixe o AWS IoT Greengrass SDK do Core para Python em seu computador.
-
Descompacte o pacote baixado para obter o código da função do Lambda e o SDK.
A função do Lambda neste módulo usa:
-
O arquivo
greengrassHelloWorld.py
emexamples\HelloWorld
. Este é o código da função do Lambda. A cada cinco segundos, a função publica uma das duas possíveis mensagens no tópicohello/world
. -
A pasta
greengrasssdk
. Esse é o SDK.
-
-
Copie a pasta
greengrasssdk
para a pastaHelloWorld
que contémgreengrassHelloWorld.py
. -
Para criar o pacote de implantação de funções do Lambda, salve
greengrassHelloWorld.py
ogreengrasssdk
e a pastazip
em um arquivo compactado denominadohello_world_python_lambda.zip
. O arquivopy
e a pastagreengrasssdk
devem estar na raiz do diretório.Para sistemas semelhantes ao UNIX (incluindo o terminal Mac), é possível usar o comando a seguir para empacotar o arquivo e a pasta:
zip -r hello_world_python_lambda.zip greengrasssdk greengrassHelloWorld.py
nota
Dependendo da sua distribuição, pode ser necessário instalar
zip
primeiro (por exemplo, ao executarsudo apt-get install zip
). O comando de instalação pode ser diferente para sua distribuição.Agora, você está pronto para criar sua função do Lambda e fazer upload do pacote de implantação.
-
Abra o console do Lambda e selecione Criar função.
-
Escolha Author from scratch.
-
Dê à função o nome
Greengrass_HelloWorld
e defina os campos restantes da seguinte forma:-
Em Runtime (Tempo de execução), escolha Python 3.7.
-
Em Permissões, mantenha a configuração padrão. Isso cria uma função de execução que concede permissões básicas do Lambda. Essa função não é usada pelo AWS IoT Greengrass.
Escolha Criar função.
-
-
Faça upload do pacote de implantação da função Lambda:
-
Na guia Código, em Fonte do código, selecione Fazer upload a partir de. No menu suspenso, selecione arquivo .zip.
-
Escolha Upload e, em seguida, selecione seu pacote de implantação
hello_world_python_lambda.zip
. Escolha Save (Salvar). -
Na guia Código da função, em Configurações de runtime, selecione Editar e insira os valores a seguir.
-
Em Runtime (Tempo de execução), escolha Python 3.7.
-
Em Handler (Manipulador), insira
greengrassHelloWorld.function_handler
.
-
-
Escolha Save (Salvar).
nota
O botão Testar no console do AWS Lambda não funciona com essa função. O SDK do AWS IoT Greengrass Core não contém módulos necessários para executar suas funções do Lambda do Greengrass de forma independente no console do AWS Lambda. Esses módulos (por exemplo,
greengrass_common
) são fornecidos às funções depois de serem implantados no núcleo do Greengrass.
-
-
Publique a função do Lambda:
-
No menu Ações na parte superior da página, selecione Publicar versão nova.
-
Em Version description (Descrição da versão), insira
First version
e, em seguida, selecione Publish (Publicar).
-
-
Crie um alias para a versão da função do Lambda:
nota
Os grupos do Greengrass podem fazer referência a uma função do Lambda por alias (recomendado) ou por versão. Usar um alias facilita o gerenciamento de atualizações de código porque você não precisa alterar a tabela de assinaturas nem a definição do grupo ao atualizar a função do código. Em vez disso, você pode simplesmente apontar o alias para a nova versão da função.
-
No menu Ações na parte superior da página, selecione Criar alias.
-
Nomeie o alias como
GG_HelloWorld
, defina a versão como1
(que corresponde à versão que você acabou de publicar) e selecione Salvar.nota
O AWS IoT Greengrass não oferece suporte a alias do Lambda para as versões $LATEST.
-