Warum empfängt mein Amazon-SNS-Thema keine Amazon-S3-Ereignisbenachrichtigungen?

Lesedauer: 3 Minute
0

Ich habe eine Amazon Simple Storage Service (Amazon S3)-Ereignisbenachrichtigung erstellt, um Nachrichten über mein Amazon Simple Notification Service (Amazon SNS)-Thema zu senden. Mein Amazon-SNS-Thema veröffentlicht jedoch keine Nachrichten, wenn neue Ereignisse in meinem Amazon-S3-Bucket auftreten.

Behebung

Überprüfen Sie, ob Ihr Amazon-S3-Ereignistyp korrekt konfiguriert ist

Wenn Sie eine Amazon-S3-Ereignisbenachrichtigung konfigurieren, müssen Sie angeben, welche unterstützten Amazon S3-Ereignistypen Amazon S3 veranlassen, die Benachrichtigung zu senden. Wenn ein Ereignistyp, den Sie nicht angegeben haben, in Ihrem Amazon-S3-Bucket auftritt, sendet Amazon S3 die Benachrichtigung nicht.

Vergewissern Sie sich, dass Ihre Objektschlüssel-Namensfilter in URL-codiertem (prozentcodiertem) Format vorliegen

Wenn Ihre Ereignisbenachrichtigungenso konfiguriert sind, dass sie die Filterung nach Objektschlüsselnamen verwenden, werden Benachrichtigungen nur für Objekte mit bestimmten Präfixen oder Suffixen veröffentlicht.

Wenn Sie Sonderzeichen in Ihren Präfixen oder Suffixen verwenden, müssen Sie diese in URL-codiertem (prozentcodiertem) Format eingeben. Weitere Informationen finden Sie unter Richtlinien zur Benennung von Objektschlüsseln und Arbeiten mit Objektmetadaten.

Hinweis: Ein Platzhalterzeichen („\ *“) kann in Filtern nicht als Präfix oder Suffix verwendet werden, um ein beliebiges Zeichen darzustellen.

Bestätigen Sie, dass Sie Amazon S3 die erforderlichen Berechtigungen zum Veröffentlichen von Nachrichten zu Ihrem Thema erteilt haben

Die ressourcenbasierte Richtlinie Ihres Amazon-SNS-Themas muss es dem Amazon-S3-Bucket erlauben, Nachrichten zu dem Thema zu veröffentlichen.

Überprüfen Sie die AWS Identity and Access Management (IAM)-Richtlinie Ihres Themas, um sicherzustellen, dass es über die erforderlichen Berechtigungen verfügt und fügen Sie diese bei Bedarf hinzu. Weitere Informationen finden Sie unter Erteilen von Berechtigungen zur Veröffentlichung von Nachrichten in einem SNS-Thema oder einer SQS-Warteschlange.

(Für Themen mit aktivierter serverseitiger Verschlüsselung (SSE)) Bestätigen Sie, dass Ihr Thema über die erforderlichen AWS-Key-Management (AWS KMS)-Berechtigungen verfügt

Ihr Amazon-SNS-Thema muss einen vom Kunden verwalteten AWS-KMS-Schlüssel verwenden. Dieser KMS-Schlüssel muss eine benutzerdefinierte Schlüsselrichtlinie enthalten, die Amazon S3 ausreichende Berechtigungen zur Schlüsselverwendung erteilt.

Um die erforderlichen AWS-KMS-Berechtigungen einzurichten, führen Sie die folgenden Schritte aus:

1.Erstellen Sie einen neuen KMS-Schlüssel, der vom Kunden verwaltet wird und die erforderlichen Berechtigungen für Amazon S3 enthält.

2.Konfigurieren Sie SSE für Ihr Amazon-SNS-Themaunter Verwendung des benutzerdefinierten KMS-Schlüssels, den Sie gerade erstellt haben.

3.Konfigurieren Sie AWS-KMS-Berechtigungen, die es Amazon S3 erlauben, Nachrichten zu Ihrem verschlüsselten Thema zu veröffentlichen.

Beispiel für eine IAM-Richtlinie, die es Amazon S3 ermöglicht, Nachrichten zu einem verschlüsselten Amazon-SNS-Thema zu veröffentlichen

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

Wenn die Amazon-S3-Ereignisbenachrichtigung zu dem SNS-Thema immer noch nicht eingegangen ist, überprüfen Sie die Amazon SNS CloudWatch-Metrik ** numberOfMessagePublished**. Diese Metrik zeigt an, ob Amazon S3 die Ereignisse veröffentlicht. Wenn die Metrik nicht aufgefüllt wird, gibt es ein Problem mit der Konfiguration von Amazon S3 zu Amazon SNS.

Wenn die Metrik NumberOfMessagePublished ausgefüllt ist, überprüfen Sie die Metriken NumberOfNotificationsDelivered und ** NumberOfNotificationsFailed**. Diese Metriken zeigen, ob die Nachrichten von Ihrem Amazon-SNS-Thema erfolgreich an die abonnierten Endpunkte zugestellt wurden.

Amazon SNS unterstützt die Protokollierung des Zustellungsstatus von Benachrichtigungen, die an Themen mit Amazon-SNS-Endpunkten gesendet wurden. Dazu gehören HTTP, Amazon Kinesis Data Firehose, AWS Lambda, Platform Application Endpunkt, Amazon Simple Queue Service undAWS SMS. Aktivieren Sie das Amazon-SNS-Thema Lieferstatusprotokolle, um das Problem weiter zu beheben.


Weitere Informationen

Veröffentlichungen von Amazon-S3-Ereignisbenachrichtigungen zu einem Thema zulassen

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr