Passer au contenu

Pourquoi mon déclencheur Lambda Amazon SQS a-t-il été désactivé ?

Lecture de 3 minute(s)
0

J'ai configuré ma fonction AWS Lambda pour traiter les messages dans une file d'attente Amazon Simple Queue Service (Amazon SQS), mais le déclencheur SQS n'est pas actif.

Brève description

Vous pouvez utiliser une fonction Lambda pour traiter les messages dans une file d'attente Amazon SQS. Le mappage des sources d'événements se lit à partir d'une source d'événements et invoque une fonction Lambda.

Les systèmes de sondage Lambda lancent en permanence un appel d’API ReceiveMessage vers la file d'attente Amazon SQS. Si l'appel d'API ReceiveMessage n'aboutit pas, la ressource AWS::Lambda::EventSourceMapping est désactivée.

Résolution

Vérifier les autorisations relatives à la fonction Lambda

Assurez-vous que votre rôle d'exécution de la fonction Lambda dispose des autorisations nécessaires pour les actions d'API ChangeMessageVisibility, DeleteMessage, GetQueueAttributes et ReceiveMessage.

Vérifier les autorisations AWS KMS

Si la file d'attente Amazon SQS est configurée avec le chiffrement SSE-KMS d'AWS Key Management Service (AWS KMS), assurez-vous que :

Remarque : Les files d'attente Amazon SQS avec chiffrement SSE-KMS ne peuvent pas invoquer de fonction Lambda dans un compte croisé AWS.

Résoudre les problèmes liés à CloudTrail

Vous pouvez utiliser l'historique des événements AWS CloudTrail pour rechercher des événements de données et consulter les codes d'erreur à des fins de résolution de problèmes.
Remarque : CloudTrail est activé par défaut pour votre compte AWS.

Pour obtenir un enregistrement continu des événements de votre compte AWS, créez un journal de suivi. Le journal de suivi crée des journaux des appels d'API effectués sur votre compte.
Remarque : Vous pouvez également consulter l'historique des événements les plus récents dans la console CloudTrail.

Procédez comme suit :

1. Ouvrez la console CloudTrail.

2. Dans le volet de navigation, choisissez Historique des événements.

3. Suivez les instructions pour consulter, afficher et filtrer les événements CloudTrail en fonction de votre cas d'utilisation.

Vous pouvez également télécharger l'historique des événements enregistrés sous forme de fichier au format CSV ou JSON.

Vérifiez le nom de l'événement CloudTrail LambdaESMDisabled. Le journal des événements contient l'événement de données LambdaESMDisable avec d’autres informations sur les raisons pour lesquelles le déclencheur Amazon SQS n'est pas actif.

Pour plus d'informations, consultez la section Utilisation de CloudTrail pour résoudre les problèmes liés aux sources d'événements Lambda désactivées.

(Facultatif) Créer des alarmes CloudWatch

Vous pouvez créer une alarme Amazon CloudWatch pour que les métriques Amazon SQS soient informées du nombre de messages reçus, envoyés, supprimés, etc. Par exemple, vous pouvez utiliser la métrique Amazon SQS NumberOfMessagesReceived pour obtenir le nombre de messages récents renvoyés. Si le nombre est égal à 0, invoquez une nouvelle fonction Lambda pour vérifier l'état du déclencheur Amazon SQS. Si le déclencheur Amazon SQS est toujours désactivé, utilisez la nouvelle fonction Lambda pour l'activer.

Pour plus d'informations, consultez la section Métriques CloudWatch disponibles pour Amazon SQS.

Informations connexes

Comment accorder l'accès à une file d'attente Amazon SQS ?

Comment puis-je corriger les échecs de la fonction Lambda ?

AWS OFFICIELA mis à jour il y a 6 mois