

Aviso de fim do suporte: em 7 de outubro de 2026, AWS o suporte para o. AWS IoT Greengrass Version 1 Depois de 7 de outubro de 2026, você não poderá mais acessar os AWS IoT Greengrass V1 recursos. Para obter mais informações, visite [Migrar de AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html).

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
<a name="create-lambda"></a>

O exemplo de função do Lambda em Python deste módulo usa o [SDK do AWS IoT Greengrass Core](lambda-functions.md#lambda-sdks-core) para que o Python publique mensagens MQTT.

Nesta etapa:
+ Baixe o SDK AWS IoT Greengrass principal para Python no seu computador (não AWS IoT Greengrass no dispositivo principal).
+ 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.

 <a name="create-lambda-procedure"></a>

1. <a name="download-ggc-sdk"></a> Na página de downloads do [AWS IoT Greengrass Core SDK](what-is-gg.md#gg-core-sdk-download), baixe o AWS IoT Greengrass Core SDK para Python em seu computador.

1. 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` em `examples\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ópico `hello/world`.
   + A pasta `greengrasssdk`. Esse é o SDK.

1. Copie a pasta `greengrasssdk` para a pasta `HelloWorld` que contém `greengrassHelloWorld.py`.

1. Para criar o pacote de implantação de funções do Lambda, salve `greengrassHelloWorld.py` o `greengrasssdk` e a pasta `zip` em um arquivo compactado denominado `hello_world_python_lambda.zip`. O arquivo `py` e a pasta `greengrasssdk` devem estar na raiz do diretório.  
![\[Captura de tela mostrando o conteúdo compactado de hello_word_python_lambda.zip.\]](http://docs.aws.amazon.com/pt_br/greengrass/v1/developerguide/images/gg-get-started-017.png)

   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 executar `sudo 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.

1. Abra o console do Lambda e selecione **Criar função**.

1. Selecione **Author from scratch**.

1. Dê à função o nome **Greengrass\$1HelloWorld** e defina os campos restantes da seguinte forma:
   + Em **Runtime (Tempo de execução)**, selecione **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 por AWS IoT Greengrass.

   Escolha a opção **Criar função**.

1. Faça upload do pacote de implantação da função Lambda:

   1. <a name="lambda-console-upload"></a>Na guia **Código**, em **Fonte do código**, selecione **Fazer upload a partir de**. No menu suspenso, selecione o **arquivo .zip**.  
![\[O menu suspenso Fazer upload a partir de com o arquivo .zip destacado.\]](http://docs.aws.amazon.com/pt_br/greengrass/v1/developerguide/images/lra-console/upload-deployment-package.png)

   1. Selecione **Upload** e, em seguida, selecione seu pacote de implantação `hello_world_python_lambda.zip`. Selecione **Salvar**.

   1. <a name="lambda-console-runtime-settings-para"></a>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)**, selecione **Python 3.7**.
      + Em **Handler (Manipulador)**, insira **greengrassHelloWorld.function\$1handler**.  
![\[A seção “Configurações de tempo de execução” com o campo “Tempo de execução” definido como “Python 3.7" e o campo “Handler” definido como ".function_handler”. greengrassHelloWorld\]](http://docs.aws.amazon.com/pt_br/greengrass/v1/developerguide/images/gg-get-started-023-2.png)

   1. <a name="lambda-console-save-config"></a>Escolha **Salvar**.
**nota**  
O botão **Testar** no AWS Lambda console não funciona com essa função. O SDK AWS IoT Greengrass principal não contém módulos necessários para executar suas funções do Greengrass Lambda de forma independente no console. AWS Lambda Esses módulos (por exemplo, `greengrass_common`) são fornecidos às funções depois de serem implantados no núcleo do Greengrass.

1. <a name="publish-function-version"></a>Publique a função do Lambda:

   1. No menu **Ações** na parte superior da página, selecione **Publicar versão nova**.  
![\[Captura de tela do menu Actions (Ações) com Publish new version (Publicar nova versão) em destaque.\]](http://docs.aws.amazon.com/pt_br/greengrass/v1/developerguide/images/gg-get-started-026.png)

   1. Em **Version description (Descrição da versão)**, insira **First version** e, em seguida, selecione **Publish (Publicar)**.  
![\[Captura de tela do campo Version description (Descrição da versão) definido como First version (Primeira versão) e o botão Publish (Publicar) em destaque.\]](http://docs.aws.amazon.com/pt_br/greengrass/v1/developerguide/images/gg-get-started-027.png)

1. <a name="create-version-alias"></a>Crie um [alias](https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html) para a [versão](https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html) 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.

   1. No menu **Ações** na parte superior da página, selecione **Criar alias**.  
![\[Captura de tela do menu Actions (Ações) definido como Create alias (Criar alias).\]](http://docs.aws.amazon.com/pt_br/greengrass/v1/developerguide/images/gg-get-started-028.png)

   1. Nomeie o alias como **GG\$1HelloWorld**, defina a versão como **1** (que corresponde à versão que você acabou de publicar) e selecione **Salvar**.
**nota**  
AWS IoT Greengrass **não oferece suporte a aliases Lambda para as versões \$1LATEST.**

         
![\[Captura de tela de Criar um novo alias com o campo Nome definido como GG_ HelloWorld e o campo Versão definido como 1.\]](http://docs.aws.amazon.com/pt_br/greengrass/v1/developerguide/images/gg-get-started-029.png)