Wie behebe ich Probleme mit Abonnement-Filterrichtlinien in Amazon SNS?

Lesedauer: 3 Minute
0

Meine Abonnement-Filterrichtlinie für Amazon Simple Notification Service (Amazon SNS) funktioniert nicht.

Lösung

**Wichtig:**Es dauert bis zu 15 Minuten, bis Ergänzungen oder Änderungen an einer Abonnement-Filterrichtlinie wirksam werden.

Ein Abonnement akzeptiert eine Nachricht nur unter den folgenden Bedingungen:

  • Wenn Sie den Bereich der Filterrichtlinie auf MessageAttributes festlegen, entspricht jeder Eigenschaftsname in der Filterrichtlinie einem Nachrichtenattributnamen. Für jeden passenden Eigenschaftsnamen in der Filterrichtlinie entspricht mindestens ein Eigenschaftswert dem Nachrichtenattributwert.
  • Wenn Sie den Geltungsbereich der Filterrichtlinie auf MessageBody festlegen, entspricht jeder Eigenschaftsname in der Filterrichtlinie einem Eigenschaftsnamen für den Nachrichtentext. Für jeden passenden Eigenschaftsnamen in der Filterrichtlinie entspricht mindestens ein Eigenschaftswert dem Eigenschaftswert des Nachrichtentexts.

Prüfen Sie, ob Ihre Filterrichtlinie Nachrichten abgelehnt hat, weil sie keine Attribute enthielten. Informationen zur attributbasierten Nachrichtenfilterung finden Sie in der Metrik NumberOfNotificationsFilteredOut-NoMessageAttributes in Anzeigen von CloudWatch-Metriken für Amazon SNS.

Weitere Informationen finden Sie unter Amazon SNS Nachrichtenfilterung.

Ein Tutorial zum Senden von Nachrichten mit Attributen finden Sie unter Um Nachrichten in Amazon-SNS-Themen mithilfe von AWS Management Console zu veröffentlichen.

Eine Anleitung zum Senden von Nachrichten mit nutzlastbasierter Filterung finden Sie unter Veröffentlichung mit plattformspezifischer Nutzlast

Sicherstellen, dass die in Ihrem Amazon-SNS-Thema veröffentlichten Nachrichten die erforderlichen Einschränkungen der Filterrichtlinien erfüllen

Eine vollständige Liste der Einschränkungen finden Sie unter Einschränkungen für Filterrichtlinien.

Sicherstellen, dass Ihre Abonnement-Filterrichtlinie korrekt auf Basis von attributebasierter Filterung oder nutzlastbasierter Filterung konfiguriert ist

Wenn die Nachricht das Feld MessageAttributes enthält, kann jedes Themenabonnement, das eine FilterPolicy festlegt, die Nachricht selektiv akzeptieren oder ablehnen. Dazu müssen Sie im Abonnement auch FilterPolicyScope auf MessageAttributes setzen.

Ebenso kann jedes Themenabonnement, das eine FilterPolicy enthält, die Nachricht selektiv akzeptieren oder ablehnen, wenn Sie FilterPolicyScope im Abonnement auf MessageBody setzen.

Weitere Informationen zu den richtigen Filterrichtlinienformaten finden Sie in folgenden Dokumenten:

Um die Nachrichten zu sehen, die Ihre Filterrichtlinie aufgrund nicht übereinstimmender oder falsch formatierter Attribute abgelehnt hat, überprüfen Sie die folgenden CloudWatch-Metriken für Amazon SNS:

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

Hinweis:

  • Die Metrik NumberOfNotificationsFilteredOut zeigt Nachrichten an, die Ihre Filterrichtlinie abgelehnt hat, weil die Nachrichtenattribute nicht mit den Richtlinienattributen übereinstimmten.
  • Die Metrik NumberOfNotificationsFilteredOut-InvalidAttributes zeigt Nachrichten an, die Ihre Filterrichtlinie abgelehnt hat, weil die Nachrichtenattribute kein gültiges Format hatten.
  • Die Metrik NumberOfNotificationsFilteredOut-MessageBody bestimmt die Anzahl der Nachrichten, die von Abonnement-Filterrichtlinien für die nutzlastbasierte Filterung abgelehnt wurden.
  • NumberOfNotificationsFilteredOut-InvalidMessageBody ist die Anzahl der Nachrichten, die von Abonnement-Filterrichtlinien abgelehnt wurden, weil der Nachrichtentext für die Filterung nicht gültig ist. Sie wurden beispielsweise aufgrund eines ungültigen JSON-Nachrichtentexts abgelehnt.
AWS OFFICIAL
AWS OFFICIALAktualisiert vor 9 Monaten