AWS Lambda
Guia do desenvolvedor

Criação de funções do Lambda com Python

Você pode executar Python code no AWS Lambda. O Lambda fornece tempos de execução para o Python que executa o seu código para processar eventos. O seu código é executado em um ambiente que inclui o SDK para Python (boto3), com as credenciais de uma função do AWS Identity and Access Management (IAM) que você gerencia.

O Lambda oferece suporte aos seguintes tempos de execução do Python.

Tempos de execução do Python

Nome Identificador AWS SDK para Python Sistema operacional

Python 3.6

python3.6

boto3-1.7.74 botocore-1.10.74

Amazon Linux

Python 3.7

python3.7

boto3-1.9.42 botocore-1.12.42

Amazon Linux

Python 2.7

python2.7

N/D

Amazon Linux

As funções Lambda usam uma função de execução para obter permissão para gravar logs no Amazon CloudWatch Logs e acessar outros serviços e recursos. Se você ainda não tiver uma função de execução para o desenvolvimento de funções, crie uma.

Para criar uma função de execução

  1. Abra a página Roles no console do IAM.

  2. Selecione Create role.

  3. Crie uma função com as seguintes propriedades.

    • Trusted entity (Entidade confiável)Lambda.

    • Permissions (Permissões)AWSLambdaBasicExecutionRole.

    • Nome da funçãolambda-role.

    A política AWSLambdaBasicExecutionRole tem as permissões necessárias para a função gravar logs no CloudWatch Logs.

Você pode adicionar permissões à função posteriormente ou trocá-la para uma função diferente específica de uma única função.

Para criar uma função do Python

  1. Abra o console do Lambda.

  2. Selecione Create function (Criar função).

  3. Configure as definições a seguir:

    • Name (Nome)my-function.

    • Runtime (Tempo de execução)Python 3.7.

    • Role (Função)Choose an existing role (Escolher uma função existente).

    • Existing role (Função existente)lambda-role.

  4. Selecione Create function (Criar função).

  5. Para configurar um evento de teste, escolha Test (Testar).

  6. Em Event name (Nome do evento), insira test.

  7. Escolha Criar.

  8. Para executar a função, escolha Test (Testar).

O console cria uma função Lambda com um único arquivo de origem chamado lambda_function. Você pode editar esse arquivo e adicionar mais arquivos no editor de códigos integrado. Para salvar suas alterações, escolha Save. Em seguida, para executar o código, escolha Test.

nota

O console do Lambda usa o AWS Cloud9 para fornecer um ambiente de desenvolvimento integrado no navegador. Você também pode usar o AWS Cloud9 para desenvolver funções Lambda em seu próprio ambiente. Para obter mais informações, consulte Trabalhar com funções do AWS Lambda no guia do usuário do AWS Cloud9.

O arquivo lambda_function exporta uma função chamada lambda_handler que usa um objeto de evento e um objeto de contexto. Esta é a função de handler que o Lambda chama quando a função é invocada. O tempo de execução da função do Python recebe eventos de invocação do Lambda e os transmite ao handler. Na configuração da função, o valor do handler é .

Cada vez que você salva o código da função, o console do Lambda cria um pacote de implantação, que é um arquivo ZIP que contém o código da função. À medida que o desenvolvimento da função progredir, você desejará armazenar o código da função no controle de origem, adicionar bibliotecas e automatizar implantações. Comece criando um pacote de implantação e atualizando o seu código na linha de comando.

O tempo de execução da função transmite um objeto de contexto para o handler, além do evento de invocação. O objeto de contexto contém informações adicionais sobre a invocação, a função e o ambiente de execução. Mais informações sobre variáveis do ambiente estão disponíveis.

A função do Lambda é fornecida com um grupo de logs do CloudWatch Logs. O tempo de execução da função envia detalhes sobre cada invocação para o CloudWatch Logs. Ele transmite todos os logs que sua função envia durante a invocação. Se a sua função retornar um erro, o Lambda formatará o erro e o retornará para o chamador.