Como evitar invocações duplicadas de funções Lambda?

Última atualização: 18/11/2021

Minha função do AWS Lambda continua recebendo mais de uma solicitação de invocação para um único evento. Como evitar que minha função Lambda faça várias invocações do mesmo evento?

Breve descrição

Para ajudar a evitar invocações de função Lambda duplicadas, faça o seguinte com base no tipo de chamada que você está usando.

Observação: em invocações síncronas, os clientes e os produtos da AWS que invocam uma função Lambda são responsáveis por realizar novas tentativas. Em invocações assíncronas, o Lambda faz novas tentativas automaticamente, com atrasos entre as tentativas.

Resolução

Em invocações assíncronas

Examine o Amazon CloudWatch Logs da função Lambda para verificar o seguinte:

  • Se as invocações duplicadas têm o mesmo ID de solicitação
  • Se as invocações duplicadas retornam erros ou atingem o tempo limite

Em seguida, siga um destes procedimentos, de acordo com seu caso de uso:

Em invocações duplicadas que retornaram erros ou atingiram o tempo limite e que têm o mesmo ID de solicitação

Observação: invocações duplicadas que retornam erros ou tempo limite excedido e que têm o mesmo ID de solicitação indicam que o serviço do Lambda fez uma nova tentativa da função.

Configure o tratamento de erros para invocações assíncronas para reduzir o número de vezes que suas tentativas de função Lambda falharam em solicitações de invocação assíncronas.

Para obter mais informações, consulte Tratar erros e novas tentativas automáticas no AWS Lambda.

Para invocações duplicadas que não retornaram erros ou tempo limite excedido

Observação: invocações duplicadas que não retornam erros ou tempo limite excedido indicam novas tentativas do lado do cliente.

Em invocações síncronas

Observação: o comportamento de repetição da chamada síncrona varia entre os produtos da AWS, conforme o mapeamento da fonte de eventos de cada produto. Para obter mais informações, consulte Invocação orientada por eventos.