Comment résoudre les problèmes liés à la politique de filtrage des abonnements dans Amazon SNS ?

Lecture de 4 minute(s)
0

Ma politique de filtrage des abonnements Amazon Simple Notification Service (Amazon SNS) ne fonctionne pas.

Résolution

Important : tout ajout ou modification apporté à une politique de filtrage des abonnements peut nécessiter jusqu'à 15 minutes pour prendre effet.

Un abonnement peut uniquement recevoir un message si les conditions suivantes sont respectées :

  • Lorsque le champ de la politique de filtrage est défini sur MessageAttributes, chaque nom de propriété de la politique de filtrage doit correspondre à un nom d'attribut de message. Pour chaque nom de propriété correspondant dans la politique de filtrage, au moins une valeur de propriété doit correspondre à la valeur d'attribut du message.
  • Lorsque le champ de la politique de filtrage est défini sur MessageBody, chaque nom de propriété de la politique de filtrage doit correspondre à un nom de propriété du corps du message. Pour chaque nom de propriété correspondant dans la politique de filtrage, au moins une valeur de propriété doit correspondre à la valeur de propriété du corps du message

Vérifiez si votre politique de filtrage a rejeté les messages parce qu'ils ne contenaient pas d'attributs. Dans le cas d'un filtrage des messages basé sur les attributs, consultez la métrique NumberOfNotificationsFilteredOut-NoMessageAttributes dans les métriques Amazon CloudWatch pour Amazon SNS.

Pour en savoir plus, veuillez consulter la section Filtrage des messages Amazon SNS.

Pour obtenir des instructions pour l'envoi de messages avec des attributs, consultez la section Publication de messages dans des rubriques Amazon SNS à l'aide de la console de gestion AWS.

Pour obtenir des instructions pour l'envoi de messages avec un filtrage basé sur la charge utile, consultez la section Publication avec une charge utile spécifique à la plate-forme.

Vérifiez que les messages publiés dans votre rubrique Amazon SNS répondent aux contraintes de politique de filtrage requises

Pour obtenir la liste complète des restrictions, consultez la section Contraintes de politique de filtrage.

Vérifiez que votre politique de filtrage d'abonnement est correctement configurée en fonction du filtrage basé sur les attributs ou du filtrage basé sur la charge utile

Si le message inclut le champ MessageAttributes, tout abonnement à une rubrique définissant une FilterPolicy peut accepter ou rejeter le message de manière sélective. Pour ce faire, vous devez également définir FilterPolicyScope sur MessageAttributes dans l'abonnement.

De même, tout abonnement à une rubrique qui inclut une FilterPolicy peut accepter ou rejeter le message de manière sélective si vous définissez FilterPolicyScope sur MessageBody dans l'abonnement.

Pour en savoir plus sur les formats de politique de filtrage appropriés, consultez la documentation suivante :

Pour voir les messages rejetés par votre politique de filtrage en raison d'attributs non concordants ou d'un formatage incorrect, consultez les métriques CloudWatch pour Amazon SNS suivantes :

  • NumberOfNotificationsFilteredOut
  • NumberOfNotificationsFilteredOut-InvalidAttributes
  • NumberOfNotificationsFilteredOut-InvalidMessageBody
  • NumberOfNotificationsFilteredOut-MessageBody

Remarque :

  • la métrique NumberOfNotificationsFilteredOut indique les messages rejetés par la politique de filtrage parce que leurs attributs ne correspondaient pas aux attributs de la politique.
  • La métrique NumberOfNotificationsFilteredOut-InvalidAttributes indique les messages rejetés par la politique de filtrage parce que leurs attributs ne suivaient pas un format valide.
  • La métrique NumberOfNotificationsFilteredOut-MessageBody détermine le nombre de messages rejetés par les politiques de filtrage des abonnements pour le filtrage basé sur la charge utile.
  • La métrique NumberOfNotificationsFilteredOut-InvalidMessageBody représente le nombre de messages rejetés par les politiques de filtrage des abonnements parce que le corps du message n'était pas valide pour le filtrage. Par exemple, les messages rejetés en raison d'un corps de message JSON non valide.
AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 9 mois