Por que meu gatilho do Lambda Amazon SQS foi desativado?

3 minuto de leitura
0

Configurei minha função do AWS Lambda para processar mensagens em uma fila do Amazon Simple Queue Service (Amazon SQS), mas o gatilho do SQS não está ativo.

Breve descrição

Você pode usar uma função do Lambda para processar mensagens em uma fila do Amazon SQS. O mapeamento da origem do evento lê de uma fonte de eventos e invoca uma função do Lambda. O estado do mapeamento da origem do eventoé Criar, Habilitar, Habilitado, Desabilitar, Desabilitado, Atualizar ou Excluir.

Os pesquisadores do Lambda constantemente fazem a chamada de ação ReceiveMessage API para a fila do Amazon SQS. Se a chamada de API ReceiveMessage não for concluída, então o recurso EventSourceMapping está desativado.

Resolução

Permissões da função do Lambda

Verifique se a sua função de execução de função do Lambda tem acesso às seguintes permissões:

Permissões do AWS Key Management Service (AWS KMS)

Se a fila do Amazon SQS estiver configurada com a criptografia SSE-KMS, verifique se:

Observação: As filas do Amazon SQS com criptografia SSE-KMS não podem invocar uma função Lambda em uma conta diferente da AWS (conta cruzada).

Histórico de eventos do CloudTrail

Você pode usar o AWS CloudTrail para pesquisar eventos. O CloudTrail está ativado por padrão em sua conta da AWS.

Para receber um registro contínuo dos eventos em sua conta da AWS, crie uma trilha. Usando uma trilha, o CloudTrail cria registros das chamadas de API feitas em sua conta. Esses registros são entregues em um bucket do Amazon Simple Storage Service (Amazon S3) que você especifica. Se você não configurar uma trilha, ainda poderá ver os eventos mais recentes no console do CloudTrail no Histórico de eventos.

1.    Abra o console do CloudTrail.

2.    No painel de navegação, escolha o Histórico de eventos.

3.    Siga as instruções para visualizar, exibir e filtrar os eventos de CloudTrail para o seu uso de caso.

Você também pode baixar o histórico de eventos registrados como um arquivo no formato JSON ou CSV.

Verifique o nome do evento do CloudTrail LambdaESMDisabled. O log de eventos contém o parâmetro ESMDisableReason com mais informações sobre a causa pela qual os gatilhos do Amazon SQS não estão ativos.

Para obter mais informações, consulte Como registrar chamadas da API Lambda com o CloudTrail.

Alarmes do Amazon CloudWatch (opcional)

Você pode criar um alarme do CloudWatch para métricas do Amazon SQS para ser notificado sobre o número de mensagens recebidas, enviadas, excluídas etc. Por exemplo, você pode usar a métrica NumberOfMessagesReceived do Amazon SQS para receber o número de mensagens recentes retornadas. Se a contagem for 0, invoque uma nova função do Lambda para verificar o status do gatilho do Amazon SQS. Se o gatilho do Amazon SQS ainda estiver desativado, use a nova função do Lambda para ativá-lo.

Para obter mais informações, consulte as Métricas disponíveis do CloudWatch para o Amazon SQS.

Informações relacionadas

Quais permissões eu preciso para acessar uma fila do Amazon SQS?

Como soluciono falhas de funções do Lambda?

AWS OFICIAL
AWS OFICIALAtualizada há um ano