AWS Lambda
Guia do desenvolvedor

Criar funções Lambda com Ruby

Você pode executar Ruby code no AWS Lambda. O Lambda fornece tempos de execução para o Ruby que executa o seu código para processar eventos. O seu código é executado em um ambiente que inclui o AWS SDK para Ruby, 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 Ruby.

Tempos de execução do Ruby

Nome Identificador SDK da AWS para Ruby Sistema operacional

Ruby 2.5

ruby2.5

3.0.1

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 Ruby

  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)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 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. 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.rb 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 Ruby recebe eventos de invocação do Lambda e os transmite ao handler. Na configuração da função, o valor do handler é lambda_function.lambda_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.