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 appelle une fonction Lambda. L'état du mappage des sources d'événements sont soit Création, Activation, Activé, Désactivation, Désactivé, Mise à jour ou Suppression.

Les sondeurs Lambda lancent en permanence un appel à l'action de l'API ReceiveMessage vers la file d'attente Amazon SQS. Si l'appel d'API ReceiveMessage n'aboutit pas, la ressource EventSourceMapping est désactivée.

Résolution

Autorisations relatives à la fonction Lambda

Assurez-vous que votre rôle d'exécution de la fonction Lambda a accès aux autorisations suivantes :

Autorisations AWS Key Management Service (AWS KMS)

Si la file d'attente Amazon SQS est configurée avec le chiffrement SSE-KMS, assurez-vous que :

**Remarque :**Les files d'attente Amazon SQS avec chiffrement SSE-KMS ne peuvent pas appeler de fonction Lambda dans un autre compte AWS (comptes croisés).

Historique des événements CloudTrail

Vous pouvez utiliser AWS CloudTrail pour rechercher des événements. CloudTrail est activé par défaut pour votre compte AWS.

Pour un enregistrement continu des événements sur votre compte AWS, créez un suivi. À l'aide d'un suivi, CloudTrail crée des journaux des appels d'API effectués sur votre compte. Ces journaux sont envoyés vers un compartiment Amazon Simple Storage Service (Amazon S3) que vous spécifiez. Si vous ne configurez pas de suivi, vous pouvez toujours consulter les événements les plus récents dans la console CloudTrail dans Historique des événements.

1.    Ouvrez la console CloudTrail.

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

3.    Suivez les instructions pour visualiser, 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 le paramètre ESMDisableReason avec plus d'informations sur la raison pour laquelle le déclencheur Amazon SQS n'est pas actif.

Pour plus d'informations, consultez la section Journalisation des appels d'API Lambda avec CloudTrail.

Alarmes Amazon CloudWatch (facultatif)

Vous pouvez créer une alarme 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, appelez 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

De quelles autorisations ai-je besoin pour accéder à une file d'attente Amazon SQS ?

Comment résoudre les défaillances de la fonction Lambda ?

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an