Chamada de funções do Lambda - AWS Lambda

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á.

Chamada de funções do Lambda

É possível invocar funções do Lambda de forma direta ao usar o console do Lambda, um endpoint HTTP(S) de URL da função, a API do Lambda, um SDK da AWS, a AWS Command Line Interface (AWS CLI) e toolkits da AWS. Também é possível configurar outros serviços da AWS para invocar a função em resposta a eventos ou solicitações externas ou em uma programação. Por exemplo, o Amazon Simple Storage Service (Amazon S3) pode invocar a função quando um objeto é criado em um bucket do S3, ou o Amazon EventBridge (CloudWatch Events) pode invocar a função em uma programação. Também é possível configurar o Lambda para ler itens de um fluxo ou de uma fila e invocar a função para processá-los.

Quando você invocar uma função, poderá optar por invocá-la de forma síncrona ou assíncrona. Com a invocação síncrona, você aguarda a função processar o evento e retornar uma resposta. Com a invocação assíncrona, o Lambda coloca o evento na fila para processamento e retorna uma resposta imediatamente. Para chamada assíncrona, o Lambda manipula novas tentativas e pode enviar registros de chamada para um destino.

Chamar funções do Lambda em outro AWS service (Serviço da AWS)

Para que outro serviço da AWS invoque diretamente a função, é necessário criar um acionador. Um acionador corresponde a um recurso que você configura para permitir que outro serviço da AWS invoque a função quando ocorrerem determinados eventos ou condições. A função pode ter vários triggers. Cada acionador atua como um cliente ao invocar a função de forma independente, e cada evento que o Lambda transmite para a função tem dados de somente um acionador.

Você pode criar um acionador para a função usando o console do Lambda. Você também pode configurar outro serviço para invocar a função usando a propriedade Events no AWS Serverless Application Model (AWS SAM). Para obter mais informações, consulte AWS::Serverless::Function no AWS Serverless Application Model Developer Guide.

Para criar um acionador usando o console do Lambda
  1. Abra a página Funções do console do Lambda.

  2. Selecione a função para a qual deseja criar um acionador.

  3. No painel Visão geral da função, escolha Adicionar gatilho.

  4. Selecione o serviço da AWS no qual deseja invocar a função.

  5. Preencha as opções no painel Configuração de acionador e escolha Adicionar.

    Dependendo do AWS service (Serviço da AWS) que você escolher para invocar a função, as opções de configuração do acionador serão diferentes.

Para obter uma lista completa dos serviços da AWS que podem invocar a função do Lambda usando um acionador, e para obter mais informações sobre como configurar acionadores para diferentes serviços, consulte Usar o Lambda com outros serviços.

Invocar funções do Lambda em um fluxo ou uma fila

Para que sua função do Lambda processe itens de um fluxo ou de uma fila, como um fluxo do Amazon Kinesis ou uma fila do Amazon Simple Queue Service (Amazon SQS), é necessário criar um mapeamento da origem do evento. Um mapeamento da origem do evento é um recurso no Lambda que lê itens de um fluxo ou de uma fila e cria eventos contendo lotes de itens com a finalidade de enviar para a função do Lambda. Cada evento que seus processos de função pode conter centenas ou milhares de itens.

É possível criar um mapeamento da origem do evento para a função do Lambda usando o console do Lambda, a AWS CLI, a API do Lambda ou um SDK da AWS. Você também pode adicionar um mapeamento da origem do evento usando o AWS SAM ou o AWS CloudFormation. Para criar um mapeamento da origem do evento no console do Lambda, siga as instruções para criar um acionador em Chamar funções do Lambda em outro AWS service (Serviço da AWS) e selecione um dos serviços da AWS compatível com mapeamentos das origens dos eventos como sua origem.

Para criar um mapeamento da origem do evento usando a AWS CLI, a API do Lambda ou um SDK da AWS, além de visualizar uma lista dos serviços da AWS com os quais os mapeamentos da origem do evento podem ser usados, consulte Mapeamentos de fonte de eventos do Lambda. Para obter mais informações sobre a criação de um mapeamento da origem do evento usando a propriedade Events no AWS SAM, consulte AWS::Serverless::Function no AWS Serverless Application Model Developer Guide.

Erros e novas tentativas

Dependendo de como a função é invocada, o comportamento de escalabilidade e os tipos de erros que ocorrem podem variar. Quando você invocar uma função de forma síncrona, receberá erros na resposta e poderá tentar novamente. Quando você realiza uma invocação de forma assíncrona, usa um mapeamento da origem do evento ou configura outro serviço para invocar a função, os requisitos de nova tentativa e a maneira como a função é escalada para lidar com um grande número de eventos podem variar. Para ter mais informações, consulte Lidar com erros e novas tentativas automáticas no AWS Lambda.