AWS Lambda
Guia do desenvolvedor

Criar funções Lambda com Ruby

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

O Lambda oferece suporte aos seguintes tempos de execução do Ruby:

Tempos de execução do Ruby

Nome Identifier

Ruby 2.5

ruby2.5

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 Ruby

  1. Abra o console do Lambda.

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

  3. Configure as definições a seguir:

    • Name (Nome)ruby-function.

    • Runtime (Tempo de execução)Ruby 2.5.

    • 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 do Lambda com um único arquivo de origem chamado lambda_function.rb. Você pode editar esse arquivo e adicionar mais arquivos no editor de códigos integrado. Escolha Save (Salvar) para salvar suas alterações e escolha Test (Testar) para executar seu código.

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. Consulte Trabalhar com funções do AWS Lambda no guia do usuário do AWS Cloud9 para obter mais informações.

O lambda_function.rb define uma função chamada lambda_handler que utiliza um objeto de evento e um objeto de contexto. Essa é a função de handler que o Lambda chama quando a função é invocada. O tempo de execução da função do Ruby obtém eventos de invocação do Lambda e os transmite ao 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 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. Outras informações estão disponíveis de variáveis do ambiente.

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 e retransmite todos os logs que sua função gera durante a invocação. Se a função retornar um erro, o Lambda formatará o erro e o retornará para o chamador.