Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Walkthrough: Konfigurieren eines Buckets für Benachrichtigungen (SNS-Thema oder SQS-Warteschlange)
Sie können Amazon-S3-Benachrichtigungen über den Amazon Simple Notification Service (Amazon SNS) oder den Amazon Simple Queue Service (Amazon SQS) erhalten. In diesem Walkthrough fügen Sie Ihrem Bucket eine Benachrichtigungskonfiguration mit einem Amazon SNS-Thema und einer Amazon SQS-Warteschlange hinzu.
Anmerkung
FIFO-Warteschlangen (First-In-First-Out) von Amazon Simple Queue Service werden nicht als Ziel für Amazon-S3-Ereignisbenachrichtigungen unterstützt. Um eine Benachrichtigung für ein Amazon S3 S3-Ereignis an eine Amazon SQS SQS-FIFO-Warteschlange zu senden, können Sie Amazon verwenden. EventBridge Weitere Informationen finden Sie unter Amazon aktivieren EventBridge.
Themen
Walkthrough-Übersicht
Dieser Walkhrough hilft Ihnen bei folgenden Aufgaben:
-
Veröffentlichung von Ereignissen des Typs
s3:ObjectCreated:*
in einer Amazon SQS-Warteschlange. -
Veröffentlichung von Ereignissen des Typs
s3:ReducedRedundancyLostObject
in einem Amazon SNS-Thema.
Weitere Informationen zur Benachrichtigungskonfiguration finden Sie unter Verwenden von Amazon SQS, Amazon SNS und Lambda
Alle diese Schritte können Sie auf der Konsole erledigen, ohne Code schreiben zu müssen. Darüber hinaus werden Codebeispiele AWS SDKs für Java und .NET bereitgestellt, die Ihnen helfen, Benachrichtigungskonfigurationen programmgesteuert hinzuzufügen.
In dieser Vorgehensweise werden die folgenden Schritte beschrieben:
-
Erstellen einer Amazon SQS-Warteschlange
Mit der Amazon-SQS-Konsole erstellen Sie eine SQS-Warteschlange. Sie können auf alle Meldungen zugreifen, die Amazon S3 programmgesteuert an die Warteschlange sendet. Für diese schrittweise Anleitung überprüfen Sie die Benachrichtigungsmitteilungen in der Konsole.
Sie ordnen der Warteschlange eine Zugriffsrichtlinie zu, um Amazon S3 die Berechtigung zu erteilen, Meldungen zu veröffentlichen.
-
Erstellen Sie ein Amazon SNS-Thema.
Erstellen Sie mit der Amazon-SNS-Konsole ein SNS-Thema und abonnieren Sie das Thema. Auf diese Weise werden alle darin veröffentlichten Ereignisse an Sie weitergegeben. Sie geben als Kommunikationsprotokoll E-Mail an. Nachdem Sie ein Thema erstellt haben, sendet Amazon SNS eine E-Mail. Sie verwenden den Link in der E-Mail, um das Abonnement des Themas zu bestätigen.
Sie ordnen dem Thema eine Zugriffsrichtlinie zu, um Amazon S3 die Berechtigung zu erteilen, Meldungen zu veröffentlichen.
-
Fügen Sie einem Bucket eine Benachrichtigungskonfiguration hinzu.
Schritt 1: Erstellen einer Amazon SQS-Warteschlange
Führen Sie die Schritte zum Erstellen und Abonnieren einer Amazon Simple Queue Service (Amazon SQS)-Warteschlange (Amazon SQS) aus.
-
Erstellen Sie mit der Amazon SQS-Konsole eine Warteschlange. Anweisungen finden Sie unter Erste Schritte mit Amazon SQS im Amazon Simple Queue Service-Entwicklerhandbuch.
-
Ersetzen Sie die der Warteschlange zugeordnete Zugriffsrichtlinie durch die folgende Richtlinie.
-
Wählen Sie in der Amazon-SQS-Konsole in der Liste Warteschlangen den Warteschlangennamen aus.
-
Wählen Sie im Tab Zugriffsrichtlinie die Option Bearbeiten aus.
-
Ersetzen Sie die Zugriffsrichtlinie, die der Warteschlange angefügt ist. Geben Sie darin Ihren Amazon-SQS-ARN, den Quell-Bucket-Namen und die Bucket-Eigentümer-Konto-ID an.
{ "Version": "2012-10-17", "Id": "example-ID", "Statement": [ { "Sid": "example-statement-ID", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": [ "SQS:SendMessage" ], "Resource": "
SQS-queue-ARN
", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:*:*:awsexamplebucket1
" }, "StringEquals": { "aws:SourceAccount": "bucket-owner-account-id
" } } } ] } -
Wählen Sie Speichern.
-
-
(Optional) Wenn für die Amazon SQS SQS-Warteschlange oder das Amazon SNS SNS-Thema serverseitige Verschlüsselung mit AWS Key Management Service (AWS KMS) aktiviert ist, fügen Sie dem zugehörigen, vom Kunden verwalteten Schlüssel für symmetrische Verschlüsselung die folgende Richtlinie hinzu.
Sie müssen die Richtlinie einem von Kunden verwalteten Schlüssel hinzufügen, da Sie den AWS -verwalteten Schlüssel für Amazon SQS oder Amazon SNS nicht ändern können.
{ "Version": "2012-10-17", "Id": "example-ID", "Statement": [ { "Sid": "example-statement-ID", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*" } ] }
Weitere Informationen zur Verwendung von SSE für Amazon SQS und Amazon SNS mit AWS KMS finden Sie im Folgenden:
-
Schlüsselverwaltung im Amazon Simple Notification Service-Entwicklerhandbuch.
-
Schlüsselverwaltung im Amazon Simple Queue Service-Entwicklerhandbuch.
-
-
Notieren Sie den ARN der Warteschlange.
Die SQS-Warteschlange, die Sie erstellt haben, ist eine weitere Ressource in Ihrem AWS-Konto. Es hat einen eindeutigen Amazon-Ressourcennamen (ARN). Sie benötigen diesen ARN im nächsten Schritt. Der ARN muss das folgende Format aufweisen:
arn:aws:sqs:
aws-region
:account-id
:queue-name
Schritt 2: Erstellen eines Amazon SNS-Themas
Gehen Sie wie folgt vor, um ein Amazon SNS-Thema zu erstellen und zu abonnieren.
-
Erstellen Sie mit der Amazon SNS-Konsole ein Thema. Eine Anleitung finden Sie unter Amazon SNS-Thema anlegen im Amazon Simple Notification Service-Entwicklerhandbuch.
-
Abonnieren Sie das Thema. Für diese Übung geben Sie email als Kommunikationsprotokoll an. Eine Anleitung finden Sie unter Amazon SNS-Thema abonnieren im Amazon Simple Notification Service-Entwicklerhandbuch.
Sie erhalten eine E-Mail, in der Sie aufgefordert werden, das Abonnement des Themas zu bestätigen. Bestätigen Sie das Abonnement.
-
Ersetzen Sie die dem Thema zugeordnete Zugriffsrichtlinie durch die folgende Richtlinie. Geben Sie darin Ihren SNS-Themen-ARN, den Bucket-Namen und die Konto-ID des Bucket-Eigentümers an.
{ "Version": "2012-10-17", "Id": "example-ID", "Statement": [ { "Sid": "Example SNS topic policy", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": [ "SNS:Publish" ], "Resource": "
SNS-topic-ARN
", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:*:*:
" }, "StringEquals": { "aws:SourceAccount": "amzn-s3-demo-bucket
bucket-owner-account-id
" } } } ] } -
Notieren Sie den ARN des Themas.
Das von Ihnen erstellte SNS-Thema ist eine weitere Ressource in Ihrem AWS-Konto, und es hat einen eindeutigen ARN. Sie benötigen diesen ARN im nächsten Schritt. Der ARN hat das folgende Format:
arn:aws:sns:
aws-region
:account-id
:topic-name
Schritt 3: Hinzufügen einer Benachrichtigungskonfiguration zu Ihrem Bucket
Sie können Bucket-Benachrichtigungen entweder mithilfe der Amazon S3 S3-Konsole oder programmgesteuert mithilfe von aktivieren. AWS SDKs Wählen Sie eine der Optionen für die Konfiguration von Benachrichtigungen über Ihren Bucket. Dieser Abschnitt enthält Codebeispiele unter Verwendung von AWS SDKs für Java und .NET.
Option A: Aktivieren von Benachrichtigungen über einen Bucket unter Verwendung der Konsole
Fügen Sie mithilfe der Amazon-S3-Konsole eine Benachrichtigungskonfiguration hinzu, die Amazon S3 zu Folgendem auffordert:
-
Veröffentlichen von Ereignissen des Typs All object create events (Alle Objekterstellungsereignisse) in Ihrer Amazon SQS-Warteschlange.
-
Veröffentlichen von Ereignissen des Typs Object in RRS lost (Objekt in RRS verloren) in Ihrem Amazon SNS-Thema.
Nachdem Sie die Benachrichtigungskonfiguration gespeichert haben, veröffentlicht Amazon S3 eine Testmeldung, die Sie per E-Mail erhalten.
Detaillierte Anweisungen finden Sie unter Aktivieren und Konfigurieren von Ereignis-Benachrichtigungen mit der Amazon-S3-Konsole.
Option B: Aktivieren Sie Benachrichtigungen für einen Bucket mithilfe der AWS SDKs
Schritt 4: Testen der Einrichtung
Jetzt können Sie die Einrichtung testen, indem Sie ein Objekt in Ihren Bucket hochladen und die Ereignis-Benachrichtigung in der Amazon-SQS-Konsole überprüfen. Anweisungen finden Sie unter Empfangen einer Nachricht im Abschnitt "Erste Schritte" im Amazon Simple Queue Service-Entwicklerhandbuch.