Como soluciono problemas de endpoints da API Gateway que se integram ao Lambda?

3 minuto de leitura
0

Desejo integrar um endpoint da Amazon API Gateway com o AWS Lambda, mas estou enfrentando problemas.

Breve descrição

Os motivos a seguir podem causar problemas para seu endpoint da API Gateway que se integra ao Lambda:

  • O API Gateway não tem permissões de função do Lambda.
  • Ocorre o controle de utilização.
  • Mapeamento do código de status HTTP incorreto ou ausente.
  • As exceções do serviço Lambda não são gerenciadas.

Resolução

Observação: a resolução a seguir usa o REST API Gateway para solucionar problemas.

Antes de começar, ative o Amazon CloudWatch Logs para solucionar erros do API Gateway. Em Nível de log, selecione INFO para gerar logs de execução para todas as solicitações.

O API Gateway não tem permissões de função do Lambda

O erro Permissões inválidas na função do Lambda ocorre quando a API Gateway não tem permissões para invocar a função do Lambda. Para resolver esse problema, consulte Como resolvo erros de “Permissões inválidas na função do Lambda” das APIs REST da API Gateway?

Observação: se você usar outro serviço para implantar seus recursos da API Gateway, como o AWS CloudFormation, conceda permissões ao recurso AWS::Lambda::Permission.

Ocorre o controle de utilização

Se o serviço de back-end for limitado devido a um grande número de solicitações, a API da API Gateway poderá retornar um Erro interno do servidor. Ative um mecanismo de recuo exponencial e repetição e, em seguida, tente a solicitação novamente. Se o problema persistir, verifique sua cota da API Gateway. Se você exceder a cota de serviço, solicite um aumento de cota.

Você também pode receber erros de Taxa excedida e 429 TooManyRequestsException devido a problemas de controle de utilização da função do Lambda. Para obter mais informações, consulte Como soluciono problemas de controle de utilização de funções do Lambda com erros de “Taxa excedida” e 429 “TooManyRequestsException”?

Solicite um aumento de cota para a simultaneidade da função do Lambda para que a função não seja limitada.

O mapeamento do código de status está incorreto ou ausente

Quando o mapeamento do código de status HTTP está incorreto ou ausente, é possível receber uma mensagem de erro 500 semelhante à seguinte:

“Falha na execução devido a um erro de configuração: O mapeamento de saída se refere a uma resposta de método inválida: 2xx/4xx/5xx”.

Para resolver esse erro, configure a solicitação e a resposta de integração da operação da API para retornar o código de status correto.

As exceções do serviço Lambda não são gerenciadas

Se você não gerenciar as exceções do serviço Lambda, como o tempo limite da função do Lambda, receberá um erro Lambda.Unknown. Para evitar o tempo limite de uma função do Lambda, torne o código da função do Lambda idempotente.

Para obter mais informações, consulte Padrões de tratamento de erros no Amazon API Gateway e no AWS Lambda.

Informações relacionadas

Como soluciono erros 5xx da API REST da API Gateway?