Pourquoi ma rubrique Amazon SNS ne reçoit-elle pas les notifications d'évènements Amazon S3 ?

Dernière mise à jour : 13/01/2023

J'ai créé une notification d'évènement Amazon Simple Storage Service (Amazon S3) pour envoyer des messages via ma rubrique Amazon Simple Notification Service (Amazon SNS). Toutefois, ma rubrique Amazon SNS ne publie pas les messages lorsque de nouveaux évènements se produisent dans mon compartiment Amazon S3.

Résolution

Vérifier que votre type d'évènement Amazon S3 est correctement configuré

Lorsque vous configurez une notification d'évènement Amazon S3, vous devez spécifier quels types d'événements Amazon S3 pris en charge entraînent l'envoi de la notification par Amazon S3. Si un type d'évènement que vous n'avez pas spécifié se produit dans votre compartiment Amazon S3, alors Amazon S3 n'envoie pas de notification.

Vérifier que les filtres de noms de clés d'objets sont au format encodé en URL (encodé en pourcentage)

Si vos notifications d'évènements sont configurées pour utiliser le filtrage des noms de clé d'objet, elles sont publiées uniquement pour les objets comportant des préfixes ou des suffixes spécifiques.

Si vous utilisez des caractères spéciaux dans vos préfixes ou suffixes, vous devez les saisir au format encodé en URL (encodé en pourcentage). Pour plus d'informations, consultez les Instructions d'attribution de noms de clé d'objet et Utilisation des métadonnées d'objet.

Remarque : un caractère générique (« * ») ne peut pas être utilisé dans les filtres comme préfixe ou suffixe pour représenter n'importe quel caractère.

Vérifiez que vous avez accordé à Amazon S3 les autorisations requises pour publier des messages sur votre rubrique

La politique basée sur les ressources de votre rubrique Amazon SNS doit permettre au compartiment Amazon S3 de publier des messages sur la rubrique.

Vérifiez la politique de gestion des identités et des accès AWS (IAM) de votre rubrique pour confirmer qu'elle dispose des autorisations requises. Ajoutez-les si nécessaire. Pour plus d'informations, consultez la section Accorder des autorisations de publication de messages sur une rubrique SNS ou une file d'attente SQS.

(Pour les rubriques avec le chiffrement côté serveur (SSE) activé) Vérifiez que votre rubrique dispose des autorisations AWS Key Management (AWS KMS) requises

Votre rubrique Amazon SNS doit utiliser une clé AWS KMS gérée par le client. Cette clé KMS doit inclure une politique de clé personnalisée qui donne à Amazon S3 des autorisations d'utilisation de clés suffisantes.

Pour configurer les autorisations AWS KMS requises, effectuez les étapes suivantes :

1.    Créez une nouvelle clé KMS gérée par le client qui inclut les autorisations requises pour Amazon S3.

2.    Configurez SSE pour votre rubrique Amazon SNS à l'aide de la clé KMS personnalisée que vous venez de créer.

3.    Configurez les autorisations AWS KMS qui permettent à Amazon S3 de publier des messages sur votre rubrique chiffrée.

Exemple de déclaration de politique IAM qui permet à Amazon S3 de publier des messages sur une rubrique Amazon SNS chiffrée

{
"version": "2012-10-17",
"statement": [{
    "effect": "allow",
    "principal": {"service": "s3.amazonaws.com"},
    "action": ["kms:generatedatakey*", "kms:decrypt"],
    "resource": "*"
}]
}

Si la notification d'événement Amazon S3 n'est toujours pas reçue sur la rubrique SNS, vérifiez alors la métrique Amazon SNS CloudWatch NumberOfMessagePublished. Cette métrique indique si Amazon S3 publie les événements. Si la métrique n'est pas renseignée, cela signifie qu'il y a un problème avec la configuration entre Amazon S3 et Amazon SNS.

Si la métrique NumberOfMessagePublished est renseignée, vérifiez les métriques NumberOfNotificationsDelivered et NumberOfNotificationsFailed. Ces statistiques indiquent si les messages sont correctement transmis aux points de terminaison abonnés à partir de votre rubrique Amazon SNS.

Amazon SNS prend en charge la journalisation de l'état de livraison des messages de notification envoyés aux rubriques utilisant des points de terminaison Amazon SNS. Cela inclut HTTP, Amazon Kinesis Data Firehose, AWS Lambda, point de terminaison d'application de plateforme, Amazon Simple Queue Service et AWS SMS. Activez la rubrique Amazon SNS intitulée « Journaux d'état de livraison » pour résoudre le problème de manière plus approfondie.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?