

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.

# Amazon-S3-Ereignisbenachrichtigungen
<a name="EventNotifications"></a>

Sie können die Amazon-S3-Funktion für Ereignis-Benachrichtigungen verwenden, um Benachrichtigungen zu erhalten, wenn bestimmte Ereignisse in Ihrem S3-Bucket eintreten. Um Benachrichtigungen zu aktivieren, fügen Sie eine Benachrichtigungskonfiguration hinzu, die die Ereignisse angibt, die Amazon S3 veröffentlichen soll. Stellen Sie sicher, dass es auch die Ziele angibt, an die Amazon S3 die Benachrichtigungen senden soll. Sie speichern dieses Konfiguration in der einem Bucket zugeordneten *Benachrichtigung*-Unterressourcen. Weitere Informationen finden Sie unter [Konfigurationsoptionen für Allzweck-Buckets](UsingBucket.md#bucket-config-options-intro). Amazon S3 stellt eine API für Sie bereit, mit der Sie diese Subressource verwalten können. 

**Wichtig**  
Amazon-S3-Ereignis-Benachrichtigungen sind so konzipiert, dass sie mindestens einmal zugestellt werden. Ereignis-Benachrichtigungen stellen Ereignisse typischerweise in wenigen Sekunden bereit, manchmal kann dies aber auch eine Minute oder länger dauern. 

## Übersicht über Amazon-S3-Ereignis-Benachrichtigungen
<a name="notification-how-to-overview"></a>

Zurzeit kann Amazon S3 Benachrichtigungen für die folgenden Ereignisse veröffentlichen:
+ Neues Objekt erstellte Ereignisse
+ Ereignisse zum Entfernen von Objekten
+ Wiederherstellen von Objekt-Ereignissen
+ Ereignis für ein verlorenes RRS-Objekt (Reduced Redundancy Storage)
+ Replikationsereignisse
+ S3-Lebenszyklus-Ablaufereignisse
+ S3-Lebenszyklus-Übergangsereignisse
+ Aktivieren der automatischen S3-Intelligent-Tiering-Archivierung
+ Ereignismarkierungen von Objekten
+ PUT-Ereignisse der Objekt-ACL

Eine vollständige Beschreibung aller unterstützten Ereignistypen finden Sie unter [Unterstützte Ereignistypen für SQS, SNS und Lambda](notification-how-to-event-types-and-destinations.md#supported-notification-event-types). 

Amazon S3 kann Ereignis-Benachrichtigungsmeldungen an die folgenden Ziele senden. Sie spezifizieren den Wert des Amazon-Ressourcennamens (ARN) dieser Ziele in der Benachrichtigungskonfiguration.
+ Amazon Simple Notification Service (Amazon SNS)-Themen
+ Amazon Simple Queue Service (Amazon SQS)-Warteschlangen
+ AWS Lambda Funktion
+ Amazon EventBridge

Weitere Informationen finden Sie unter [Unterstützte Ereignisziele](notification-how-to-event-types-and-destinations.md#supported-notification-destinations).

**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](enable-event-notifications-eventbridge.md).

**Warnung**  
Wenn Ihre Benachrichtigung in den selben Bucket schreibt, der die Benachrichtigung auslöst, kann dies zu einer Ausführungsschleife führen. Wenn der Bucket z. B. eine Lambda-Funktion immer dann auslöst, wenn ein Objekt hochgeladen wird, und die Funktion ein Objekt in den Bucket hochlädt, löst sich die Funktion indirekt selbst aus. Um dies zu vermeiden, verwenden Sie zwei Buckets oder konfigurieren Sie den Auslöser so, dass er nur für einen Präfix gilt, der für eingehende Objekte verwendet wird.  
Weitere Informationen und ein Beispiel für die Verwendung von Amazon S3-Benachrichtigungen mit AWS Lambda finden Sie [unter AWS Lambda Using with Amazon S3](https://docs.aws.amazon.com/lambda/latest/dg/with-s3.html) im *AWS Lambda Developer Guide*. 

Weitere Informationen zur Anzahl der Konfigurationen für Ereignisbenachrichtigungen, die Sie pro Bucket erstellen können, finden Sie unter [Amazon-S3-Service-Quotas](https://docs.aws.amazon.com/general/latest/gr/s3.html#limits_s3) in der *Allgemeinen AWS -Referenz*.

Weitere Informationen zu Ereignis-Benachrichtigungen finden Sie in den folgenden Abschnitten.

**Topics**
+ [Übersicht über Amazon-S3-Ereignis-Benachrichtigungen](#notification-how-to-overview)
+ [Ereignis-Benachrichtigungstypen und -ziele](notification-how-to-event-types-and-destinations.md)
+ [Verwenden von Amazon SQS, Amazon SNS und Lambda](how-to-enable-disable-notification-intro.md)
+ [Verwenden EventBridge](EventBridge.md)

# Ereignis-Benachrichtigungstypen und -ziele
<a name="notification-how-to-event-types-and-destinations"></a>

Amazon S3 unterstützt verschiedene Arten von Ereignis-Benachrichtigungen und Ziele, wo die Benachrichtigungen veröffentlicht werden können. Sie können den Ereignistyp und das Ziel angeben, wenn Sie Ihre Ereignis-Benachrichtigungen konfigurieren. Für jede Ereignisbenachrichtigung kann nur ein Ziel angegeben werden. Amazon-S3-Ereignisbenachrichtigungen senden für jede Benachrichtigungsmeldung einen Ereigniseintrag.

**Topics**
+ [Unterstützte Ereignisziele](#supported-notification-destinations)
+ [Unterstützte Ereignistypen für SQS, SNS und Lambda](#supported-notification-event-types)
+ [Unterstützte Ereignistypen für Amazon EventBridge](#supported-notification-event-types-eventbridge)
+ [Ereignisreihenfolge und doppelte Ereignisse](#event-ordering-and-duplicate-events)

## Unterstützte Ereignisziele
<a name="supported-notification-destinations"></a>

Amazon S3 kann Ereignis-Benachrichtigungsmeldungen an die folgenden Ziele senden.
+ Amazon Simple Notification Service (Amazon SNS)-Themen
+ Amazon Simple Queue Service (Amazon SQS)-Warteschlangen
+ AWS Lambda
+ Amazon EventBridge

Für jede Ereignisbenachrichtigung kann jedoch nur ein Zieltyp angegeben werden.

**Anmerkung**  
Sie müssen Amazon S3 die Berechtigungen erteilen, Meldungen in einem Amazon SNS-Thema oder einer Amazon SQS-Warteschlange zu veröffentlichen. Sie müssen Amazon S3 außerdem die Erlaubnis erteilen, eine AWS Lambda Funktion in Ihrem Namen aufzurufen. Anweisungen zum Erteilen dieser Berechtigungen finden Sie unter [Erteilen von Berechtigungen zur Veröffentlichung von Ereignis-Benachrichtigungsmeldungen an einem Ziel](grant-destinations-permissions-to-s3.md). 

### Amazon-SNS-Thema
<a name="amazon-sns-topic"></a>

Amazon SNS ist ein flexibler, vollständig verwalteter Push-Messaging-Service. Sie können diesen Dienst verwenden, um Nachrichten an mobile Geräte oder verteilte Services zu senden. Mit SNS , können Sie eine Nachricht einmal veröffentlichen und ein- oder mehrmals übermitteln. Derzeit ist nur ,Standard-SNS als S3-Ereignis-Benachrichtigungsziel zulässig, während SNS FIFO nicht zulässig ist.

Amazon SNS koordiniert und verwaltet das Senden und Zustellen von Nachrichten an abonnierte Endpunkte oder Clients. Sie können mit der Amazon SNS-Konsole ein Amazon SNS-Thema erstellen, an das Ihre Benachrichtigungen gesendet werden können. 

Das Thema muss sich in demselben Bereich AWS-Region wie Ihr Amazon S3 S3-Bucket befinden. Anweisungen zum Erstellen eines Amazon-SNS-Themas finden Sie unter [Erste Schritte mit Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html) im *Entwicklerhandbuch zu Amazon Simple Notification Service* und in den [Häufig gestellten Fragen zu Amazon SNS](https://aws.amazon.com/sns/faqs/).

Damit Sie das Amazon SNS-Thema nutzen können, das Sie als Ereignis-Benachrichtigungsziel erstellen, brauchen Sie Folgendes:
+ Den Amazon-Ressourcennamen (ARN) für das Amazon SNS-Thema
+ Ein gültiges Amazon-SNS-Themen-Abonnement. Damit werden Themenabonnenten benachrichtigt, wenn eine Nachricht zu Ihrem Amazon-SNS-Thema veröffentlicht wird.

### Amazon SQS-Warteschlange
<a name="amazon-sqs-queue"></a>

Amazon SQS bietet zuverlässige und skalierbare gehostete Warteschlangen zum Speichern von Nachrichten, die zwischen den Computern gesendet werden. Mit Amazon SQS können Sie beliebige Datenvolumen übertragen, ohne dass andere Services stets verfügbar sein müssen. Sie können mit der Amazon SQS-Konsole eine Amazon SQS-Warteschlange erstellen, an die Ihre Benachrichtigungen gesendet werden können. 

Die Amazon SQS SQS-Warteschlange muss sich in derselben Warteschlange befinden AWS-Region wie Ihr Amazon S3 S3-Bucket. Anweisungen zum Erstellen einer Amazon-SQS-Warteschlange finden Sie unter [Was ist Amazon Simple Queue Service](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html) und [Erste Schritte mit Amazon SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-getting-started.html) im *Entwicklerhandbuch für Amazon Simple Queue Service*. 

Damit Sie die Amazon SQS-Warteschlange als Ereignis-Benachrichtigungsziel nutzen können, brauchen Sie Folgendes:
+ Der Amazon-Ressourcennamen (ARN) für die Amazon-SQS-Warteschlange

**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](enable-event-notifications-eventbridge.md).

### Lambda-Funktion
<a name="lambda-function"></a>

Sie können AWS Lambda sie verwenden, um andere AWS Dienste mit benutzerdefinierter Logik zu erweitern oder Ihr eigenes Backend zu erstellen, das AWS skalierbar, leistungsstark und sicher arbeitet. Mit Lambda können Sie diskrete ereignisabhängige Anwendungen erstellen, die nur ausgeführt werden, wenn sie benötigt werden. Sie können damit auch diese Anwendungen automatisch von ein paar Anfragen pro Tag auf Tausende pro Sekunde skalieren. 

Lambda kann benutzerdefinierten Code in Reaktion auf Amazon-S3-Bucket-Ereignisse ausführen. Sie laden Ihren benutzerdefinierten Code auf Lambda hoch und erstellen eine sogenannte Lambda-Funktion. Wenn Amazon S3 ein Ereignis eines bestimmten Typs erkennt, kann es das Ereignis in Lambda veröffentlichen AWS Lambda und Ihre Funktion in Lambda aufrufen. Lambda führt als Antwort Ihre Funktion aus. Ein Ereignistyp, den er möglicherweise erkennt, ist beispielsweise ein objekterstelltes Ereignis.

Sie können die AWS Lambda Konsole verwenden, um eine Lambda-Funktion zu erstellen, die die AWS Infrastruktur verwendet, um den Code in Ihrem Namen auszuführen. Die Lambda-Funktion muss sich in derselben Region wie Ihr S3-Bucket befinden. Sie müssen auch den Namen oder den ARN einer Lambda-Funktion haben, um die Lambda-Funktion als Ziel für Ereignis-Benachrichtigungen einzurichten.

**Warnung**  
Wenn Ihre Benachrichtigung in den selben Bucket schreibt, der die Benachrichtigung auslöst, kann dies zu einer Ausführungsschleife führen. Wenn der Bucket z. B. eine Lambda-Funktion immer dann auslöst, wenn ein Objekt hochgeladen wird, und die Funktion ein Objekt in den Bucket hochlädt, löst sich die Funktion indirekt selbst aus. Um dies zu vermeiden, verwenden Sie zwei Buckets oder konfigurieren Sie den Auslöser so, dass er nur für einen Präfix gilt, der für eingehende Objekte verwendet wird.  
Weitere Informationen und ein Beispiel für die Verwendung von Amazon S3-Benachrichtigungen mit AWS Lambda finden Sie [unter AWS Lambda Using with Amazon S3](https://docs.aws.amazon.com/lambda/latest/dg/with-s3.html) im *AWS Lambda Developer Guide*. 

### Amazon EventBridge
<a name="eventbridge-dest"></a>

Amazon EventBridge ist ein serverloser Event-Bus, der Ereignisse von AWS Diensten empfängt. Sie können Regeln einrichten, um Ereignisse abzugleichen und sie an Ziele wie einen AWS -Service oder einen HTTP-Endpunkt zu übermitteln. Weitere Informationen finden Sie unter [Was steht EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) im * EventBridge Amazon-Benutzerhandbuch*.

Im Gegensatz zu anderen Zielen können Sie EventBridge für einen Bucket Ereignisse, an die gesendet werden sollen, entweder aktivieren oder deaktivieren. Wenn Sie die Zustellung aktivieren, werden alle Ereignisse an gesendet EventBridge. Darüber hinaus können Sie EventBridge Regeln verwenden, um Ereignisse an weitere Ziele weiterzuleiten.

## Unterstützte Ereignistypen für SQS, SNS und Lambda
<a name="supported-notification-event-types"></a>

Amazon S3 kann Ereignisse der folgenden Typen veröffentlichen. Sie spezifizieren diese Ereignistypen in der Benachrichtigungskonfiguration.


|  Ereignistypen |  Description  | 
| --- | --- | 
|  `s3:TestEvent`  |  Wenn eine Benachrichtigung aktiviert ist, veröffentlicht Amazon S3 eine Testbenachrichtigung. Damit soll sichergestellt werden, dass das Thema vorhanden ist und dass der Bucket-Eigentümer über die Berechtigung verfügt, das angegebene Thema zu veröffentlichen. Wenn das Aktivieren der Benachrichtigung fehlschlägt, erhalten Sie keine Testbenachrichtigung.  | 
|  `s3:ObjectCreated:*` `s3:ObjectCreated:Put` `s3:ObjectCreated:Post` `s3:ObjectCreated:Copy` `s3:ObjectCreated:CompleteMultipartUpload`  |  Amazon-S3-API-Operationen wie `PUT`, `POST` und `COPY` können ein Objekt erstellen. Mit diesen Ereignistypen können Sie Benachrichtigungen aktivieren, wenn ein Objekt mit einer bestimmten API-Operation erstellt wird. Sie können auch den `s3:ObjectCreated:*` Ereignistyp verwenden, um eine Benachrichtigung unabhängig von der API anfordern, die zum Erstellen eines Objekts verwendet wurde.  `s3:ObjectCreated:CompleteMultipartUpload` enthält Objekte, die mithilfe von [https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html) für Kopiervorgänge erstellt werden.  | 
|  `s3:ObjectRemoved:*` `s3:ObjectRemoved:Delete` `s3:ObjectRemoved:DeleteMarkerCreated`  |  Durch Verwendung der `ObjectRemoved`-Ereignistypen können Sie eine Benachrichtigung aktivieren, wenn ein Objekt oder mehrere Objekte aus einem Bucket entfernt werden. Sie können eine Benachrichtigung anfordern, wenn ein Objekt gelöscht wird, oder wenn ein versionsfähiges Objekt permanent gelöscht wird. Dazu wird der Ereignistyp `s3:ObjectRemoved:Delete` verwendet. Alternativ können Sie eine Benachrichtigung anfordern, wenn eine Löschmarkierung für ein versioniertes Objekt mit `s3:ObjectRemoved:DeleteMarkerCreated` erstellt wird. Eine entsprechende Anleitung zum Löschen von versionierten Objekten finden Sie unter [Löschen von Objekten aus einem versioning-fähigen Bucket](DeletingObjectVersions.md). Sie können auch eine Wildcard `s3:ObjectRemoved:*` verwenden, um bei jedem Löschen eines Objekts eine Benachrichtigung anzufordern.  Diese Ereignisbenachrichtigungen warnen Sie nicht vor automatischen Löschungen aufgrund von Lebenszykluskonfigurationen oder fehlgeschlagenen Operationen.  | 
|  `s3:ObjectRestore:*` `s3:ObjectRestore:Post` `s3:ObjectRestore:Completed` `s3:ObjectRestore:Delete`  |  Durch die Verwendung der `ObjectRestore`-Ereignistypen können Sie beim Wiederherstellen von Objekten aus den Speicherklassen S3 Glacier Flexible Retrieval und S3 Glacier Deep Archive sowie aus den Zugriffsebenen S3 Intelligent-Tiering Archive Access und S3 Intelligent-Tiering Deep Archive Access Benachrichtigungen zur Ereignisauslösung und zum Abschluss erhalten. Sie können auch Benachrichtigungen erhalten, wann die wiederhergestellte Kopie eines Objekts abläuft. Der `s3:ObjectRestore:Post`-Ereignistyp informiert Sie über die Initiierung von Objektwiederherstellungen. Der `s3:ObjectRestore:Completed`-Ereignistyp informiert Sie über den Abschluss von Wiederherstellungen. Der `s3:ObjectRestore:Delete`-Ereignistyp benachrichtigt Sie, wenn die temporäre Kopie eines wiederhergestellten Objekts abläuft.  | 
| s3:ReducedRedundancyLostObject | Sie erhalten dieses Benachrichtigungsereignis, wenn Amazon S3 erkennt, dass ein Objekt der RRS-Speicherklasse verloren geht. | 
|  `s3:Replication:*` `s3:Replication:OperationFailedReplication` `s3:Replication:OperationMissedThreshold` `s3:Replication:OperationReplicatedAfterThreshold` `s3:Replication:OperationNotTracked`  |  Mithilfe der `Replication`-Ereignistypen können Sie Benachrichtigungen für Replikationskonfigurationen erhalten, bei denen S3-Replikationsmetriken oder eine Begrenzung der S3-Replikationszeit (S3 RTC) aktiviert sind. Sie können den minute-by-minute Fortschritt von Replikationsereignissen überwachen, indem Sie ausstehende Byte, ausstehende Vorgänge und die Replikationslatenz verfolgen. Informationen zu Replikationsmetriken finden Sie unter [Überwachen der Replikation mit Metriken, Ereignisbenachrichtigungen und Status](replication-metrics.md). [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/AmazonS3/latest/userguide/notification-how-to-event-types-and-destinations.html)  | 
|  `s3:LifecycleExpiration:*` `s3:LifecycleExpiration:Delete` `s3:LifecycleExpiration:DeleteMarkerCreated`  |  Durch die Verwendung der `LifecycleExpiration`-Ereignistypen können Sie eine Benachrichtigung erhalten, wenn Amazon S3 ein Objekt basierend auf Ihrer S3-Lebenszyklus-Konfiguration löscht. Der Ereignistyp `s3:LifecycleExpiration:Delete` benachrichtigt Sie, wenn ein Objekt in einem unversionierten Bucket gelöscht wird. Es benachrichtigt Sie auch, wenn eine Objektversion durch eine S3-Lebenszyklus-Konfiguration dauerhaft gelöscht wird. Der Ereignistyp `s3:LifecycleExpiration:DeleteMarkerCreated` benachrichtigt Sie, wenn S3 Lebenszyklus eine Löschmarke erstellt, wenn eine aktuelle Version eines Objekts im versionierten Bucket gelöscht wird.   | 
| s3:LifecycleTransition | Sie erhalten dieses Benachrichtigungsereignis, wenn ein Objekt von einer S3-Lebenszykluskonfiguration in eine andere Amazon-S3-Speicherklasse überführt wird. | 
| s3:IntelligentTiering | Sie erhalten dieses Benachrichtigungsereignis, wenn ein Objekt innerhalb der Speicherklasse S3 Intelligent-Tiering in die Stufe Archive Access oder Deep Archive Access verschoben wird.  | 
|  `s3:ObjectTagging:*` `s3:ObjectTagging:Put` `s3:ObjectTagging:Delete`  |  Durch die Verwendung der `ObjectTagging`-Ereignistypen können Sie die Benachrichtigung aktivieren, wenn ein Objekt-Tag zu einem Objekt hinzugefügt oder daraus gelöscht wird. Der `s3:ObjectTagging:Put`-Ereignistyp benachrichtigt Sie, wenn ein Tag für ein Objekt PUT ist oder ein vorhandenes Tag aktualisiert wird. Der `s3:ObjectTagging:Delete`-Ereignistyp benachrichtigt Sie, wenn ein Tag aus einem Objekt entfernt wird. | 
| s3:ObjectAcl:Put | Sie erhalten dieses Benachrichtigungsereignis, wenn eine ACL für ein Objekt PUT ist oder wenn eine vorhandene ACL geändert wird. Ein Ereignis wird nicht generiert, wenn eine Anforderung keine Änderung an der ACL eines Objekts zur Folge hat. | 

## Unterstützte Ereignistypen für Amazon EventBridge
<a name="supported-notification-event-types-eventbridge"></a>

Eine Liste der Ereignistypen, die Amazon S3 an Amazon sendet EventBridge, finden Sie unter[Verwenden EventBridge](EventBridge.md).

## Ereignisreihenfolge und doppelte Ereignisse
<a name="event-ordering-and-duplicate-events"></a>

Amazon S3 Event Notifications ist so konzipiert, dass Benachrichtigungen mindestens einmal zugestellt werden. Es kann jedoch nicht garantiert werden, dass die Benachrichtigungen in der Reihenfolge ankommen, in der die Ereignisse aufgetreten sind. In seltenen Fällen kann der Wiederholungsmechanismus von Amazon S3 zu doppelten S3-Ereignisbenachrichtigungen für dasselbe Objektereignis führen. Weitere Informationen zum Umgang mit doppelten oder nicht in der richtigen Reihenfolge befindlichen Ereignissen finden Sie unter [Manage event ordering and duplicate events with Amazon S3 Event Notifications](https://aws.amazon.com/blogs/storage/manage-event-ordering-and-duplicate-events-with-amazon-s3-event-notifications/) im *AWS Storage Blog*.

# Verwenden von Amazon SQS, Amazon SNS und Lambda
<a name="how-to-enable-disable-notification-intro"></a>

Die Aktivierung von Benachrichtigungen erfolgt auf Bucket-Ebene. Sie speichern Informationen zur Benachrichtigungskonfiguration in der *Benachrichtigungen*-Unterressourcen die einem Bucket zugeordnet sind. Nachdem Sie die Bucket-Benachrichtigungskonfiguration erstellt oder geändert haben, dauert es normalerweise etwa fünf Minuten, bis die Änderungen wirksam werden. Ein `s3:TestEvent` tritt auf, wenn die Benachrichtigung zum ersten Mal aktiviert wird. Sie können jede der folgenden Methoden verwenden, um die Benachrichtigungskonfiguration zu verwalten:
+ **Verwenden der Amazon-S3-Konsole** – Die Benutzeroberfläche der Konsole ermöglicht Ihnen, eine Benachrichtigungskonfiguration für einen Bucket einzurichten, ohne Code schreiben zu müssen. Weitere Informationen finden Sie unter [Aktivieren und Konfigurieren von Ereignis-Benachrichtigungen mit der Amazon-S3-Konsole](enable-event-notifications.md).
+ **Programmgesteuert mithilfe der AWS SDKs — Intern werden sowohl die** Konsole als auch die Amazon S3 S3-REST-API SDKs aufgerufen, um *Benachrichtigungs-Subressourcen* zu verwalten, die dem Bucket zugeordnet sind. Beispiele für Benachrichtigungskonfigurationen, die AWS SDK verwenden, finden Sie unter [Walkthrough: Konfigurieren eines Buckets für Benachrichtigungen (SNS-Thema oder SQS-Warteschlange)](ways-to-add-notification-config-to-bucket.md).
**Anmerkung**  
Sie können auch die REST-API-Aufrufe in Amazon S3 direkt von Ihrem Code aus durchführen. Dies kann jedoch umständlich sein, da Sie dazu Code schreiben müssen, um Ihre Anforderungen zu authentifizieren. 

Unabhängig von der verwendeten Methode speichert Amazon S3 die Benachrichtigungskonfiguration als XML in der mit dem jeweiligen Bucket verknüpften Unterressourcen *Benachrichtigungen*. Weitere Informationen zu Bucket-Subressourcen finden Sie unter [Konfigurationsoptionen für Allzweck-Buckets](UsingBucket.md#bucket-config-options-intro).

**Anmerkung**  
Wenn Sie mehrere fehlgeschlagene Ereignisbenachrichtigungen aufgrund gelöschter Ziele haben, erhalten Sie möglicherweise die Meldung **Die folgenden Zielkonfigurationen konnten nicht überprüft** werden, wenn Sie versuchen, sie zu löschen. Sie können dieses Problem in der S3-Konsole beheben, indem Sie alle fehlgeschlagenen Benachrichtigungen gleichzeitig löschen.

**Topics**
+ [Erteilen von Berechtigungen zur Veröffentlichung von Ereignis-Benachrichtigungsmeldungen an einem Ziel](grant-destinations-permissions-to-s3.md)
+ [Aktivieren und Konfigurieren von Ereignis-Benachrichtigungen mit der Amazon-S3-Konsole](enable-event-notifications.md)
+ [Programmgesteuerte Konfiguration von Ereignis-Benachrichtigungen](#event-notification-configuration)
+ [Walkthrough: Konfigurieren eines Buckets für Benachrichtigungen (SNS-Thema oder SQS-Warteschlange)](ways-to-add-notification-config-to-bucket.md)
+ [Konfigurieren von Ereignis-Benachrichtigungen mithilfe der Namensfilterung](notification-how-to-filtering.md)
+ [Struktur von Ereignismeldungen](notification-content-structure.md)

# Erteilen von Berechtigungen zur Veröffentlichung von Ereignis-Benachrichtigungsmeldungen an einem Ziel
<a name="grant-destinations-permissions-to-s3"></a>

Sie müssen dem Amazon-S3-Prinzipal die erforderlichen Berechtigungen erteilen, um die relevante API aufzurufen, um Nachrichten in einem SNS-Thema, einer SQS-Warteschlange oder einer Lambda-Funktion zu veröffentlichen. So kann Amazon S3 Ereignisbenachrichtigungsmeldungen an einem Ziel veröffentlichen.

Informationen zur Fehlerbehebung beim Veröffentlichen von Ereignisbenachrichtigungen in einem Ziel finden Sie unter [Fehlerbehebung bei der Veröffentlichung von Amazon-S3-Ereignisbenachrichtigungen in einem Thema von Amazon Simple Notification Service](https://repost.aws/knowledge-center/sns-not-receiving-s3-event-notifications).

**Topics**
+ [Erteilen von Berechtigungen zum Aufrufen einer Funktion AWS Lambda](#grant-lambda-invoke-permission-to-s3)
+ [Erteilen von Berechtigungen, Meldungen in einem SNS-Thema oder einer SQS-Warteschlange zu veröffentlichen](#grant-sns-sqs-permission-for-s3)

## Erteilen von Berechtigungen zum Aufrufen einer Funktion AWS Lambda
<a name="grant-lambda-invoke-permission-to-s3"></a>

Amazon S3 veröffentlicht Ereignismeldungen, AWS Lambda indem es eine Lambda-Funktion aufruft und die Ereignisnachricht als Argument bereitstellt.

Wenn Sie die Amazon-S3-Konsole verwenden, um Ereignisbenachrichtigungen in einem Amazon-S3-Bucket für eine Lambda-Funktion zu konfigurieren, richtet die Konsole die erforderlichen Berechtigungen für die Lambda-Funktion ein. Dies ist so, dass Amazon S3 über Berechtigungen verfügt, die Funktion aus dem Bucket aufzurufen. Weitere Informationen finden Sie unter [Aktivieren und Konfigurieren von Ereignis-Benachrichtigungen mit der Amazon-S3-Konsole](enable-event-notifications.md). 

Sie können Amazon S3 S3-Berechtigungen auch erteilen AWS Lambda , um Ihre Lambda-Funktion aufzurufen. Weitere Informationen finden Sie unter [Tutorial: Using AWS Lambda with Amazon S3](https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html) im *AWS Lambda Developer Guide*.

## Erteilen von Berechtigungen, Meldungen in einem SNS-Thema oder einer SQS-Warteschlange zu veröffentlichen
<a name="grant-sns-sqs-permission-for-s3"></a>

Um Amazon S3 S3-Berechtigungen zur Veröffentlichung von Nachrichten im SNS-Thema oder in der SQS-Warteschlange zu gewähren, fügen Sie eine AWS Identity and Access Management (IAM-) Richtlinie an das Ziel-SNS-Thema oder die SQS-Warteschlange an. 

Ein Beispiel dafür, wie Sie einem SNS-Thema oder einer SQS-Warteschlange eine Richtlinie anfügen, finden Sie unter [Walkthrough: Konfigurieren eines Buckets für Benachrichtigungen (SNS-Thema oder SQS-Warteschlange)](ways-to-add-notification-config-to-bucket.md). Weitere Informationen über Berechtigungen finden Sie in den folgenden Themen:
+ [Beispielfälle für die Amazon SNS-Zugriffssteuerung](https://docs.aws.amazon.com/sns/latest/dg/AccessPolicyLanguage_UseCases_Sns.html) im *Amazon Simple Notification Service-Entwicklerhandbuch*
+ [Identity and Access Management in Amazon SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/UsingIAM.html) im *Amazon Simple Queue Service-Entwicklerhandbuch*

### IAM-Richtlinie für ein SNS-Zielthema
<a name="sns-topic-policy"></a>

Im Folgenden finden Sie ein Beispiel für eine AWS Identity and Access Management (IAM-) Richtlinie, die Sie an das Ziel-SNS-Thema anhängen. Anweisungen zur Verwendung dieser Richtlinie zum Einrichten eines Amazon-SNS-Zielthemas für Ereignisbenachrichtigungen finden Sie unter [Walkthrough: Konfigurieren eines Buckets für Benachrichtigungen (SNS-Thema oder SQS-Warteschlange)](ways-to-add-notification-config-to-bucket.md).

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "example-ID",
    "Statement": [
        {
            "Sid": "Example SNS topic policy",
            "Effect": "Allow",
            "Principal": {
                "Service": "s3.amazonaws.com"
            },
            "Action": [
                "SNS:Publish"
            ],
            "Resource": "arn:aws:sns:us-east-1:111122223333:example-sns-topic",
            "Condition": {
                "ArnEquals": {
                    "aws:SourceArn": "arn:aws:s3:::amzn-s3-demo-bucket"
                },
                "StringEquals": {
                    "aws:SourceAccount": "bucket-owner-123456789012"
                }
            }
        }
    ]
}
```

------

### IAM-Richtlinie für eine SQS-Zielwarteschlange
<a name="sqs-queue-policy"></a>

Im Folgenden finden Sie ein Beispiel für eine IAM-Richtlinie, die Sie an die SQS-Zielwarteschlange anfügen. Anweisungen zur Verwendung dieser Richtlinie zum Einrichten einer Amazon-SQS-Zielwarteschlange für Ereignisbenachrichtigungen finden Sie unter [Walkthrough: Konfigurieren eines Buckets für Benachrichtigungen (SNS-Thema oder SQS-Warteschlange)](ways-to-add-notification-config-to-bucket.md).

Um diese Richtlinie verwenden zu können, müssen Sie den ARN der Amazon SQS SQS-Warteschlange, den Bucket-Namen und die AWS-Konto ID des Bucket-Besitzers aktualisieren.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "example-ID",
    "Statement": [
        {
            "Sid": "example-statement-ID",
            "Effect": "Allow",
            "Principal": {
                "Service": "s3.amazonaws.com"
            },
            "Action": [
                "SQS:SendMessage"
            ],
            "Resource": "arn:aws:sqs:us-east-1:111122223333:queue-name",
            "Condition": {
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:s3:*:*:amzn-s3-demo-bucket"
                },
                "StringEquals": {
                    "aws:SourceAccount": "bucket-owner-123456789012"
                }
            }
        }
    ]
}
```

------

Für die IAM-Richtlinien für Amazon SNS und Amazon SQS kann die `StringLike`-Bedingung statt der `ArnLike`-Bedingung in der Richtlinie angegeben werden.

Wenn `ArnLike` verwendet wird, müssen die Teile Partition, Dienst, Konto-ID, Ressourcentyp und Teil-Ressourcen-ID des ARN genau mit dem ARN im Anfragekontext übereinstimmen. Nur die Region und der Ressourcenpfad erlauben einen Teilabgleich.

 Wenn `StringLike` anstelle von `ArnLike`verwendet wird, ignoriert der Abgleich die ARN-Struktur und erlaubt einen Teilabgleich, unabhängig von dem Teil, der durch das Platzhalterzeichen ersetzt wird. Weitere Informationen finden Sie unter [IAM-JSON-Richtlinienelemente](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html) im *IAM-Benutzerhandbuch*.

```
"Condition": {         
  "StringLike": { "aws:SourceArn": "arn:aws:s3:*:*:amzn-s3-demo-bucket" }
  }
```

### AWS KMS wichtige Richtlinie
<a name="key-policy-sns-sqs"></a>

Wenn die SQS-Warteschlange oder die SNS-Themen mit einem AWS Key Management Service (AWS KMS) vom Kunden verwalteten Schlüssel verschlüsselt sind, müssen Sie dem Amazon S3 S3-Service Principal die Erlaubnis erteilen, mit den verschlüsselten Themen oder der Warteschlange zu arbeiten. Um dem Amazon-S3-Service-Prinzipal die Berechtigung zu erteilen, fügen Sie der Schlüsselrichtlinie für den vom Kunden verwalteten Schlüssel die folgende Anweisung hinzu.

------
#### [ JSON ]

****  

```
{
    "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 zu AWS KMS wichtigen Richtlinien finden Sie unter [Verwenden von Schlüsselrichtlinien AWS KMS im AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) *Entwicklerhandbuch*. 

Weitere Informationen zur Verwendung der serverseitigen Verschlüsselung mit AWS KMS für Amazon SQS und Amazon SNS finden Sie im Folgenden:
+ [Schlüsselverwaltung](https://docs.aws.amazon.com/sns/latest/dg/sns-key-management.html) im *Amazon Simple Notification Service-Entwicklerhandbuch*.
+ [Schlüsselverwaltung](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-key-management.html) im *Amazon Simple Queue Service-Entwicklerhandbuch*.
+ [Encrypting messages published to Amazon SNS with AWS KMS](https://aws.amazon.com/blogs/compute/encrypting-messages-published-to-amazon-sns-with-aws-kms/) im *AWS -Compute-Blog*.

# Aktivieren und Konfigurieren von Ereignis-Benachrichtigungen mit der Amazon-S3-Konsole
<a name="enable-event-notifications"></a>

Sie können bestimmte Amazon S3 Allzweck-Bucket-Ereignisse aktivieren, um eine Benachrichtigung an ein Ziel zu senden, wenn diese Ereignisse auftreten. In diesem Abschnitt erfahren Sie, wie Sie mit der Amazon-S3-Konsole Ereignis-Benachrichtigungen aktivieren können. Informationen zur Verwendung von Ereignisbenachrichtigungen mit dem AWS SDKs und dem Amazon S3 S3-REST APIs finden Sie unter[Programmgesteuerte Konfiguration von Ereignis-Benachrichtigungen](how-to-enable-disable-notification-intro.md#event-notification-configuration). 

**Voraussetzungen**: Bevor Sie Ereignis-Benachrichtigungen für Ihren Bucket aktivieren können, müssen Sie einen der Zieltypen einrichten und dann die Berechtigungen konfigurieren. Weitere Informationen erhalten Sie unter [Unterstützte Ereignisziele](notification-how-to-event-types-and-destinations.md#supported-notification-destinations) und [Erteilen von Berechtigungen zur Veröffentlichung von Ereignis-Benachrichtigungsmeldungen an einem Ziel](grant-destinations-permissions-to-s3.md).

**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](enable-event-notifications-eventbridge.md).

**Topics**
+ [Aktivieren von Amazon-SNS-, Amazon-SQS- oder Lambda-Benachrichtigungen über die Amazon-S3-Konsole](#enable-event-notifications-sns-sqs-lam)

## Aktivieren von Amazon-SNS-, Amazon-SQS- oder Lambda-Benachrichtigungen über die Amazon-S3-Konsole
<a name="enable-event-notifications-sns-sqs-lam"></a>

**Ereignis-Benachrichtigungen für einen S3-Bucket aktivieren und konfigurieren**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon S3 S3-Konsole unter [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Wählen Sie im linken Navigationsbereich **Allzweck-Buckets** aus.

1. Wählen Sie in der Bucket-Liste den Namen des Buckets, für den Sie Ereignisse aktivieren möchten.

1. Wählen Sie **Properties (Eigenschaften)**.

1. Navigieren Sie zum Abschnitt **Event Notifications (Ereignis-Benachrichtigungen)** und wählen Sie **Create event notification (Ereignis-Benachrichtigung erstellen)**

1. Geben Sie im Abschnitt **General configuration (Allgemeine Konfiguration)** den beschreibenden Ereignisnamen für Ihre Ereignis-Benachrichtigung an. Optional können Sie auch ein Präfix und ein Suffix angeben, um die Benachrichtigungen auf Objekte mit Schlüsseln zu beschränken, die mit den angegebenen Zeichen enden.

   1. Geben Sie eine Beschreibung für den **Namen der Veranstaltung** ein.

      Wenn Sie keinen Namen eingeben, wird eine eindeutige Kennung (Globally Unique Identifier, GUID) generiert und für den Namen verwendet. 

   1. (Optional) Um Ereignisbenachrichtigungen nach Präfix zu filtern, geben Sie ein **Präfix** ein. 

      Sie können beispielsweise einen Präfix-Filter einrichten, damit Sie nur Benachrichtigungen erhalten, wenn Dateien zu einem bestimmten Ordner (z. B. ) hinzugefügt wer, `images/`). 

   1. (Optional) Um Ereignisbenachrichtigungen nach Suffix zu filtern, geben Sie ein **Suffix** ein. 

      Weitere Informationen finden Sie unter [Konfigurieren von Ereignis-Benachrichtigungen mithilfe der Namensfilterung](notification-how-to-filtering.md). 

1. Wählen Sie im Abschnitt **Event types (Ereignistypen)** einen oder mehrere Ereignistypen aus, für die Sie Benachrichtigungen erhalten möchten. 

   Eine Liste der verschiedenen Ereignistypen finden Sie unter [Unterstützte Ereignistypen für SQS, SNS und Lambda](notification-how-to-event-types-and-destinations.md#supported-notification-event-types).

1. Wählen Sie im Abschnitt **Destination (Ziel)** das Ziel für Ereignis-Benachrichtigungen aus. 
**Anmerkung**  
Bevor Sie Ereignisbenachrichtigungen veröffentlichen können, müssen Sie dem Amazon-S3-Prinzipal die erforderlichen Berechtigungen zum Aufrufen der entsprechenden API erteilen. Dies ist so, dass Benachrichtigungen für eine Lambda-Funktion, ein SNS-Thema oder eine SQS-Warteschlange veröffentlicht werden können.

   1. Wählen Sie den Zieltyp aus: **Lambda Function (Lambda-Funktion)**, **SNS Topic (SNS-Thema)**, oder **SQS Queue (SQS-Warteschlange)**.

   1. Nachdem Sie Ihren Zieltyp ausgewählt haben, wählen Sie eine Funktion, ein Thema oder eine Warteschlange aus der Liste aus.

   1. Wenn Sie lieber einen Amazon-Ressourcennamen (ARN) angeben möchten, wählen Sie die Option **Enter ARN (ARN eingeben)** aus und geben Sie den ARN ein.

   Weitere Informationen finden Sie unter [Unterstützte Ereignisziele](notification-how-to-event-types-and-destinations.md#supported-notification-destinations).

1. Wählen Sie **Save changes (Änderungen speichern)** und Amazon S3 sendet eine Testnachricht an das Ziel für Ereignis-Benachrichtigungen.

## Programmgesteuerte Konfiguration von Ereignis-Benachrichtigungen
<a name="event-notification-configuration"></a>

Standardmäßig sind für keinen Ereignistyp Benachrichtigungen aktiviert. Aus diesem Grund speichert die *Benachrichtigung*-Unterressourcen anfänglich eine leere Konfiguration.

```
<NotificationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> 
</NotificationConfiguration>
```

Um die Benachrichtigungen für bestimmte Ereignistypen zu aktivieren, ersetzen Sie das XML durch die entsprechende Konfiguration, die die Ereignistypen identifiziert, die Amazon S3 veröffentlichen soll, sowie das Ziel, in dem die Ereignisse veröffentlicht werden sollen. Sie müssen für jedes Ziel eine entsprechende XML-Konfiguration hinzufügen. 

**So werden Ereignismeldungen in einer SQS-Warteschlange veröffentlicht**  
Um eine SQS-Warteschlange als Benachrichtigungsziel für einen oder mehrere Ereignistypen festzulegen, fügen Sie `QueueConfiguration` hinzu.

```
<NotificationConfiguration>
  <QueueConfiguration>
    <Id>optional-id-string</Id>
    <Queue>sqs-queue-arn</Queue>
    <Event>event-type</Event>
    <Event>event-type</Event>
     ...
  </QueueConfiguration>
   ...
</NotificationConfiguration>
```

**So werden Ereignismeldungen in einem SNS-Thema veröffentlicht**  
Um ein SNS-Thema als Benachrichtigungsziel für bestimmte Ereignistypen festzulegen, fügen Sie `TopicConfiguration` hinzu.

```
<NotificationConfiguration>
  <TopicConfiguration>
     <Id>optional-id-string</Id>
     <Topic>sns-topic-arn</Topic>
     <Event>event-type</Event>
     <Event>event-type</Event>
      ...
  </TopicConfiguration>
   ...
</NotificationConfiguration>
```

**Um die AWS Lambda Funktion aufzurufen und eine Ereignismeldung als Argument bereitzustellen**  
Um eine Lambda-Funktion als Benachrichtigungsziel für bestimmte Ereignistypen festzulegen, fügen Sie `CloudFunctionConfiguration` hinzu.

```
<NotificationConfiguration>
  <CloudFunctionConfiguration>   
     <Id>optional-id-string</Id>   
     <CloudFunction>cloud-function-arn</CloudFunction>        
     <Event>event-type</Event>      
     <Event>event-type</Event>      
      ...  
  </CloudFunctionConfiguration>
   ...
</NotificationConfiguration>
```

**So entfernen Sie alle in einem Bucket konfigurierten Benachrichtigungen**  
Um alle für einen Bucket konfigurierten Benachrichtigungen zu entfernen, speichern Sie ein leeres `<NotificationConfiguration/>`-Element in der *notification*-Subressource. 

Wenn Amazon S3 ein Ereignis des spezifischen Typs erkennt, veröffentlicht es eine Meldung mit der Ereignisinformation. Weitere Informationen finden Sie unter [Struktur von Ereignismeldungen](notification-content-structure.md). 

Weitere Informationen zur Konfiguration von Ereignis-Benachrichtigungen finden Sie in den folgenden Themen: 
+ [Walkthrough: Konfigurieren eines Buckets für Benachrichtigungen (SNS-Thema oder SQS-Warteschlange)](ways-to-add-notification-config-to-bucket.md).
+ [Konfigurieren von Ereignis-Benachrichtigungen mithilfe der Namensfilterung](notification-how-to-filtering.md)

# Walkthrough: Konfigurieren eines Buckets für Benachrichtigungen (SNS-Thema oder SQS-Warteschlange)
<a name="ways-to-add-notification-config-to-bucket"></a>

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](enable-event-notifications-eventbridge.md).

**Topics**
+ [Walkthrough-Übersicht](#notification-walkthrough-summary)
+ [Schritt 1: Erstellen einer Amazon SQS-Warteschlange](#step1-create-sqs-queue-for-notification)
+ [Schritt 2: Erstellen eines Amazon SNS-Themas](#step1-create-sns-topic-for-notification)
+ [Schritt 3: Hinzufügen einer Benachrichtigungskonfiguration zu Ihrem Bucket](#step2-enable-notification)
+ [Schritt 4: Testen der Einrichtung](#notification-walkthrough-1-test)

## Walkthrough-Übersicht
<a name="notification-walkthrough-summary"></a>

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](how-to-enable-disable-notification-intro.md)

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:

1. 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.

1. 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. 

1. Fügen Sie einem Bucket eine Benachrichtigungskonfiguration hinzu. 

## Schritt 1: Erstellen einer Amazon SQS-Warteschlange
<a name="step1-create-sqs-queue-for-notification"></a>

Führen Sie die Schritte zum Erstellen und Abonnieren einer Amazon Simple Queue Service (Amazon SQS)-Warteschlange (Amazon SQS) aus.

1. Erstellen Sie mit der Amazon SQS-Konsole eine Warteschlange. Anweisungen finden Sie unter [Erste Schritte mit Amazon SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-getting-started.html) im *Amazon Simple Queue Service-Entwicklerhandbuch*. 

1. Ersetzen Sie die der Warteschlange zugeordnete Zugriffsrichtlinie durch die folgende Richtlinie.

   1. Wählen Sie in der Amazon-SQS-Konsole in der Liste **Warteschlangen** den Warteschlangennamen aus.

   1. Wählen Sie im Tab **Zugriffsrichtlinie** die Option **Bearbeiten** aus.

   1. 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.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Id": "example-ID",
          "Statement": [
              {
                  "Sid": "example-statement-ID",
                  "Effect": "Allow",
                  "Principal": {
                      "Service": "s3.amazonaws.com"
                  },
                  "Action": [
                      "SQS:SendMessage"
                  ],
                  "Resource": "arn:aws:sqs:us-west-2:111122223333:s3-notification-queue",
                  "Condition": {
                      "ArnLike": {
                          "aws:SourceArn": "arn:aws:s3:*:*:awsexamplebucket1"
                      },
                      "StringEquals": {
                          "aws:SourceAccount": "bucket-owner-123456789012"
                      }
                  }
              }
          ]
      }
      ```

------

   1. Wählen Sie **Speichern**.

1. (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. 

------
#### [ JSON ]

****  

   ```
   {
       "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](https://docs.aws.amazon.com/sns/latest/dg/sns-key-management.html) im *Amazon Simple Notification Service-Entwicklerhandbuch*.
   + [Schlüsselverwaltung](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-key-management.html) im *Amazon Simple Queue Service-Entwicklerhandbuch*.

1. 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
<a name="step1-create-sns-topic-for-notification"></a>

Gehen Sie wie folgt vor, um ein Amazon SNS-Thema zu erstellen und zu abonnieren.

1. Erstellen Sie mit der Amazon SNS-Konsole ein Thema. Eine Anleitung finden Sie unter [Amazon SNS-Thema anlegen](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) im *Amazon Simple Notification Service-Entwicklerhandbuch*. 

1. Abonnieren Sie das Thema. Für diese Übung geben Sie email als Kommunikationsprotokoll an. Eine Anleitung finden Sie unter [Amazon SNS-Thema abonnieren](https://docs.aws.amazon.com/sns/latest/dg/sns-create-subscribe-endpoint-to-topic.html) 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. 

1. 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.

1. 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
<a name="step2-enable-notification"></a>

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 mit dem AWS SDKs für Java und .NET.

### Option A: Aktivieren von Benachrichtigungen über einen Bucket unter Verwendung der Konsole
<a name="step2-enable-notification-using-console"></a>

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](enable-event-notifications.md). 

### Option B: Aktivieren Sie Benachrichtigungen für einen Bucket mithilfe der AWS SDKs
<a name="step2-enable-notification-using-awssdk-dotnet"></a>

------
#### [ .NET ]

Das folgende C\$1-Codebeispiel zeigt ein vollständiges Listing, das einem Bucket eine Benachrichtigungskonfiguration hinzufügt. Sie müssen den Code aktualisieren und Ihren Bucket-Namen und den ARN des SNS-Themas angeben. Informationen zum Einrichten und Ausführen der Codebeispiele finden Sie unter [Getting Started with the AWS SDK for .NET](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/net-dg-setup.html) im *AWS SDK for .NET Developer Guide*. 

```
using Amazon;
using Amazon.S3;
using Amazon.S3.Model;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace Amazon.DocSamples.S3
{
    class EnableNotificationsTest
    {
        private const string bucketName = "*** bucket name ***";
        private const string snsTopic = "*** SNS topic ARN ***";
        private const string sqsQueue = "*** SQS topic ARN ***";
        // Specify your bucket region (an example region is shown).
        private static readonly RegionEndpoint bucketRegion = RegionEndpoint.USWest2;
        private static IAmazonS3 client;

        public static void Main()
        {
            client = new AmazonS3Client(bucketRegion);
            EnableNotificationAsync().Wait();
        }

        static async Task EnableNotificationAsync()
        {
            try
            {
               PutBucketNotificationRequest request = new PutBucketNotificationRequest
                {
                    BucketName = bucketName
                };

                TopicConfiguration c = new TopicConfiguration
                {
                    Events = new List<EventType> { EventType.ObjectCreatedCopy },
                    Topic = snsTopic
                };
                request.TopicConfigurations = new List<TopicConfiguration>();
                request.TopicConfigurations.Add(c);
                request.QueueConfigurations = new List<QueueConfiguration>();
                request.QueueConfigurations.Add(new QueueConfiguration()
                {
                    Events = new List<EventType> { EventType.ObjectCreatedPut },
                    Queue = sqsQueue
                });
                
                PutBucketNotificationResponse response = await client.PutBucketNotificationAsync(request);
            }
            catch (AmazonS3Exception e)
            {
                Console.WriteLine("Error encountered on server. Message:'{0}' ", e.Message);
            }
            catch (Exception e)
            {
                Console.WriteLine("Unknown error encountered on server. Message:'{0}' ", e.Message);
            }
        }
    }
}
```

------
#### [ Java ]

Beispiele für die Konfiguration von Bucket-Benachrichtigungen mit dem AWS SDK for Java finden Sie unter [S3-Ereignisbenachrichtigungen verarbeiten](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_Scenario_ProcessS3EventNotification_section.html) in der *Amazon S3 S3-API-Referenz*.

------

## Schritt 4: Testen der Einrichtung
<a name="notification-walkthrough-1-test"></a>

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](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-getting-started.htmlReceiveMessage.html) im *Abschnitt "Erste Schritte" im Amazon Simple Queue Service-Entwicklerhandbuch*. 

# Konfigurieren von Ereignis-Benachrichtigungen mithilfe der Namensfilterung
<a name="notification-how-to-filtering"></a>

Bei der Konfiguration einer Amazon-S3-Ereignis-Benachrichtigung müssen Sie angeben, welche unterstützten Amazon-S3-Ereignistypen das Senden der Benachrichtigung durch Amazon S3 veranlassen. Wenn ein Ereignistyp, den Sie nicht angegeben haben, in Ihrem S3-Bucket auftritt, sendet Amazon S3 die Benachrichtigung nicht.

Sie können Benachrichtigungen konfigurieren, die nach dem Präfix und dem Suffix des Objektschlüsselnamens gefiltert werden. Sie können beispielsweise eine Konfiguration so einrichten, dass Sie nur eine Benachrichtigung erhalten, wenn einem Bucket Bilddateien mit der Erweiterung „`.jpg`“ hinzugefügt werden. Oder Sie können eine Konfiguration einrichten, die eine Benachrichtigung an ein Amazon SNS SNS-Thema sendet, wenn ein Objekt mit dem Präfix `images/` "" zum Bucket hinzugefügt wird, und gleichzeitig Benachrichtigungen für Objekte mit dem Präfix "`logs/`" im selben Bucket an eine AWS Lambda Funktion gesendet werden. 

**Anmerkung**  
Ein Platzhalterzeichen (\$1) kann in Filtern nicht als Präfix oder Suffix verwendet werden. Wenn Ihr Präfix oder Suffix ein Leerzeichen enthält, müssen Sie es durch das Zeichen „\$1“ ersetzen. Wenn Sie andere Sonderzeichen in dem Wert des Präfixes oder Suffixes verwenden, müssen Sie diese im [URL-kodierten (Prozent-kodierten) Format](https://en.wikipedia.org/wiki/Percent-encoding) angeben. Eine vollständige Liste der Sonderzeichen, die in ein URL-kodiertes Format umgewandelt werden müssen, wenn sie in einem Präfix oder Suffix für Ereignisbenachrichtigungen verwendet werden, finden Sie unter [Sichere Zeichen](object-keys.md#object-key-guidelines-safe-characters).

Sie können Benachrichtigungskonfigurationen einrichten, die die Filterung von Objektschlüsselnamen in der Amazon-S3-Konsole verwenden. Sie können dies tun, indem Sie Amazon S3 APIs über den AWS SDKs oder den REST APIs direkt verwenden. Informationen zur Verwendung der Konsolen-Benutzeroberfläche zum Festlegen einer Benachrichtigungskonfiguration für einen Bucket finden Sie unter [Aktivieren und Konfigurieren von Ereignis-Benachrichtigungen mit der Amazon-S3-Konsole](enable-event-notifications.md). 

Amazon S3 speichert die Benachrichtigungskonfiguration als XML in der einem Bucket zugeordneten *notification*-Subressource, wie in [Verwenden von Amazon SQS, Amazon SNS und Lambda](how-to-enable-disable-notification-intro.md) beschrieben. Sie können die `Filter` XML-Struktur verwenden, um Regeln für die nach dem Präfix oder dem Suffix eines Objektschlüsselnamens gefilterten Benachrichtigungen zu definieren. Weitere Informationen zu der `Filter`-XML-Struktur finden Sie unter [PUT-Bucket-Benachrichtigung](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTnotification.html) in der *API-Referenz zu Amazon Simple Storage Service*. 

Benachrichtigungskonfigurationen, die `Filter` verwenden, können keine Filterregeln mit überlappenden Präfixen, überlappenden Suffixen oder Präfix- und Suffix-Überlappung definieren. Die folgenden Abschnitte enthalten Beispiele für gültige Benachrichtigungskonfigurationen mit Objektschlüssel-Namensfilterung. Sie enthalten auch Beispiele für Benachrichtigungskonfigurationen, die wegen der Überlappung von Präfix und Suffix ungültig sind. 

**Topics**
+ [Beispiele für gültige Benachrichtigungskonfigurationen mit Filterung nach dem Objektschlüsselnamen](#notification-how-to-filtering-example-valid)
+ [Beispiele für Benachrichtigungskonfigurationen mit ungültiger Präfix- und Suffix-Überlappung](#notification-how-to-filtering-examples-invalid)

## Beispiele für gültige Benachrichtigungskonfigurationen mit Filterung nach dem Objektschlüsselnamen
<a name="notification-how-to-filtering-example-valid"></a>

Die folgende Benachrichtigungskonfiguration enthält eine Warteschlangekonfiguration, die eine Amazon SQS-Warteschlange für Amazon S3 identifiziert, in der Ereignisse des Typs `s3:ObjectCreated:Put` gespeichert werden sollen. Die Ereignisse werden veröffentlicht, wenn ein Objekt mit dem Präfix `images/` und dem Suffix `jpg` mit PUT in einen Bucket geschrieben wird. 

```
<NotificationConfiguration>
  <QueueConfiguration>
      <Id>1</Id>
      <Filter>
          <S3Key>
              <FilterRule>
                  <Name>prefix</Name>
                  <Value>images/</Value>
              </FilterRule>
              <FilterRule>
                  <Name>suffix</Name>
                  <Value>jpg</Value>
              </FilterRule>
          </S3Key>
     </Filter>
     <Queue>arn:aws:sqs:us-west-2:444455556666:s3notificationqueue</Queue>
     <Event>s3:ObjectCreated:Put</Event>
  </QueueConfiguration>
</NotificationConfiguration>
```

Die folgende Benachrichtigungskonfigurationen hat mehrere nicht überlappende Präfixe. Die Konfiguration definiert, dass Benachrichtigungen für PUT-Anforderungen im Ordner `images/` in queue-A geschrieben werden, während Benachrichtigungen für PUT-Anforderungen im Ordner `logs/` in queue-B geschrieben werden.

```
<NotificationConfiguration>
  <QueueConfiguration>
     <Id>1</Id>
     <Filter>
            <S3Key>
                <FilterRule>
                    <Name>prefix</Name>
                    <Value>images/</Value>
                </FilterRule>
            </S3Key>
     </Filter>
     <Queue>arn:aws:sqs:us-west-2:444455556666:sqs-queue-A</Queue>
     <Event>s3:ObjectCreated:Put</Event>
  </QueueConfiguration>
  <QueueConfiguration>
     <Id>2</Id>
     <Filter>
            <S3Key>
                <FilterRule>
                    <Name>prefix</Name>
                    <Value>logs/</Value>
                </FilterRule>
            </S3Key>
     </Filter>
     <Queue>arn:aws:sqs:us-west-2:444455556666:sqs-queue-B</Queue>
     <Event>s3:ObjectCreated:Put</Event>
  </QueueConfiguration>
</NotificationConfiguration>
```

Die folgende Benachrichtigungskonfigurationen hat mehrere nicht überlappende Suffixe. Die Konfiguration definiert, dass alle neu zum Bucket hinzugefügten `.jpg` Bilder von Lambda cloud-function-A verarbeitet werden und dass alle neu hinzugefügten `.png` Bilder von cloud-function-B verarbeitet werden. Die `.jpg` Suffixe `.png` und überschneiden sich nicht, obwohl sie denselben letzten Buchstaben haben. Wenn eine bestimmte Zeichenfolge mit beiden Suffixen enden kann, werden die beiden Suffixe als überlappend betrachtet. Da eine Zeichenfolge nicht mit `.png` und `.jpg` gleichzeitig enden kann, sind die Suffixe in der Beispielkonfiguration keine überlappenden Suffixe. 

```
<NotificationConfiguration>
  <CloudFunctionConfiguration>
     <Id>1</Id>
     <Filter>
            <S3Key>
                <FilterRule>
                    <Name>suffix</Name>
                    <Value>.jpg</Value>
                </FilterRule>
            </S3Key>
     </Filter>
     <CloudFunction>arn:aws:lambda:us-west-2:444455556666:cloud-function-A</CloudFunction>
     <Event>s3:ObjectCreated:Put</Event>
  </CloudFunctionConfiguration>
  <CloudFunctionConfiguration>
     <Id>2</Id>
     <Filter>
            <S3Key>
                <FilterRule>
                    <Name>suffix</Name>
                    <Value>.png</Value>
                </FilterRule>
            </S3Key>
     </Filter>
     <CloudFunction>arn:aws:lambda:us-west-2:444455556666:cloud-function-B</CloudFunction>
     <Event>s3:ObjectCreated:Put</Event>
  </CloudFunctionConfiguration>
</NotificationConfiguration>
```

Ihre Benachrichtigungskonfigurationen, die `Filter` verwenden, können keine Filterregeln mit überlappenden Präfixen für dieselben Ereignistypen definieren. Sie können dies nur tun, wenn die sich überlappenden Präfixe, die mit Suffixen verwendet werden, die sich nicht überlappen. Die folgende Beispielkonfiguration zeigt, wie Objekte, die mit einem gemeinsamen Präfix, aber nicht überlappenden Suffixen erstellt werden, an unterschiedliche Ziele geliefert werden können.

```
<NotificationConfiguration>
  <CloudFunctionConfiguration>
     <Id>1</Id>
     <Filter>
            <S3Key>
                <FilterRule>
                    <Name>prefix</Name>
                    <Value>images</Value>
                </FilterRule>
                <FilterRule>
                    <Name>suffix</Name>
                    <Value>.jpg</Value>
                </FilterRule>
            </S3Key>
     </Filter>
     <CloudFunction>arn:aws:lambda:us-west-2:444455556666:cloud-function-A</CloudFunction>
     <Event>s3:ObjectCreated:Put</Event>
  </CloudFunctionConfiguration>
  <CloudFunctionConfiguration>
     <Id>2</Id>
     <Filter>
            <S3Key>
                <FilterRule>
                    <Name>prefix</Name>
                    <Value>images</Value>
                </FilterRule>
                <FilterRule>
                    <Name>suffix</Name>
                    <Value>.png</Value>
                </FilterRule>
            </S3Key>
     </Filter>
     <CloudFunction>arn:aws:lambda:us-west-2:444455556666:cloud-function-B</CloudFunction>
     <Event>s3:ObjectCreated:Put</Event>
  </CloudFunctionConfiguration>
</NotificationConfiguration>
```

## Beispiele für Benachrichtigungskonfigurationen mit ungültiger Präfix- und Suffix-Überlappung
<a name="notification-how-to-filtering-examples-invalid"></a>

Ihre Benachrichtigungskonfigurationen, die `Filter` verwenden, können größtenteils keine Filterregeln mit überlappenden Präfixen, überlappenden Suffixen oder überlappenden Präfix- und Suffix-Kombinationen für dieselben Ereignistypen definieren. Überlappende Präfixe sind möglich, solange sich die Suffixe nicht überlappen. Ein Beispiel finden Sie unter [Konfigurieren von Ereignis-Benachrichtigungen mithilfe der Namensfilterung](#notification-how-to-filtering).

Sie können überlappende Objektschlüsselnamensfilter mit unterschiedlichen Ereignistypen verwenden. Beispielsweise könnten sie eine Benachrichtigungskonfiguration erstellen, die das Präfix `image/` für den Ereignistyp `ObjectCreated:Put` und das Präfix `image/` für den Ereignistyp `ObjectRemoved:*` verwendet. 

Sie erhalten einen Fehler, wenn Sie versuchen, eine Benachrichtigungskonfiguration mit ungültigen, sich überschneidenden Namensfiltern für dieselben Ereignistypen zu speichern, wenn Sie die Amazon-S3-Konsole oder -API verwenden. Dieser Abschnitt zeigt Beispiele für Benachrichtigungskonfigurationen, die aufgrund überlappender Namensfilter ungültig sind. 

Es wird angenommen, dass eine vorhandene Benachrichtigungskonfigurationsregel ein Standardpräfix und -suffix hat, die mit allen anderen Präfixen bzw. Suffixen übereinstimmen. Die folgende Benachrichtigungskonfiguration ist ungültig, weil sie überlappende Präfixe hat. Insbesondere überlappt sich das Root-Präfix mit allen anderen Präfixen. Das gleiche gilt, wenn Sie in diesem Beispiel ein Suffix anstelle eines Präfixes verwenden. Das Root-Suffix überlappt mit allen anderen Suffixen.

```
<NotificationConfiguration>
     <TopicConfiguration>
         <Topic>arn:aws:sns:us-west-2:444455556666:sns-notification-one</Topic>
         <Event>s3:ObjectCreated:*</Event>
    </TopicConfiguration>
    <TopicConfiguration>
         <Topic>arn:aws:sns:us-west-2:444455556666:sns-notification-two</Topic>
         <Event>s3:ObjectCreated:*</Event>
         <Filter>
             <S3Key>
                 <FilterRule>
                     <Name>prefix</Name>
                     <Value>images</Value>
                 </FilterRule>
            </S3Key>
        </Filter>
    </TopicConfiguration>             
</NotificationConfiguration>
```

Die folgende Benachrichtigungskonfiguration ist ungültig, weil sie überlappende Suffixe hat. Wenn eine bestimmte Zeichenfolge mit beiden Suffixen enden kann, werden die beiden Suffixe als überlappend betrachtet. Eine Zeichenfolge kann mit `jpg` und `pg` enden. Die Suffixe überschneiden sich also. Gleiches gilt für Präfixe. Wenn eine bestimmte Zeichenfolge mit beiden Präfixen beginnen kann, werden die beiden Präfixe als überlappend betrachtet.

```
 <NotificationConfiguration>
     <TopicConfiguration>
         <Topic>arn:aws:sns:us-west-2:444455556666:sns-topic-one</Topic>
         <Event>s3:ObjectCreated:*</Event>
         <Filter>
             <S3Key>
                 <FilterRule>
                     <Name>suffix</Name>
                     <Value>jpg</Value>
                 </FilterRule>
            </S3Key>
        </Filter>
    </TopicConfiguration>
    <TopicConfiguration>
         <Topic>arn:aws:sns:us-west-2:444455556666:sns-topic-two</Topic>
         <Event>s3:ObjectCreated:Put</Event>
         <Filter>
             <S3Key>
                 <FilterRule>
                     <Name>suffix</Name>
                     <Value>pg</Value>
                 </FilterRule>
            </S3Key>
        </Filter>
    </TopicConfiguration>
</NotificationConfiguration
```

Die folgende Benachrichtigungskonfiguration ist ungültig, weil sie überlappende Präfixe und Suffixe hat. 

```
<NotificationConfiguration>
     <TopicConfiguration>
         <Topic>arn:aws:sns:us-west-2:444455556666:sns-topic-one</Topic>
         <Event>s3:ObjectCreated:*</Event>
         <Filter>
             <S3Key>
                 <FilterRule>
                     <Name>prefix</Name>
                     <Value>images</Value>
                 </FilterRule>
                 <FilterRule>
                     <Name>suffix</Name>
                     <Value>jpg</Value>
                 </FilterRule>
            </S3Key>
        </Filter>
    </TopicConfiguration>
    <TopicConfiguration>
         <Topic>arn:aws:sns:us-west-2:444455556666:sns-topic-two</Topic>
         <Event>s3:ObjectCreated:Put</Event>
         <Filter>
             <S3Key>
                 <FilterRule>
                     <Name>suffix</Name>
                     <Value>jpg</Value>
                 </FilterRule>
            </S3Key>
        </Filter>
    </TopicConfiguration>
</NotificationConfiguration>
```

# Struktur von Ereignismeldungen
<a name="notification-content-structure"></a>

Die Benachrichtigung, die Amazon S3 sendet, um ein Ereignis zu veröffentlichen, verwendet das JSON-Format.

Eine allgemeine Übersicht und Anweisungen zum Konfigurieren von Ereignisbenachrichtigungen finden Sie unter [Amazon-S3-Ereignisbenachrichtigungen](EventNotifications.md).

Dieses Beispiel zeigt *Version 2.1 der JSON-Struktur* für Ereignisbenachrichtigungen. Amazon S3 verwendet *Versionen 2.1* *und 2.2* und *2.3* dieser Ereignisstruktur. Amazon S3 verwendet Version 2.2 für regionsübergreifende Replikationsereignisbenachrichtigungen. Es verwendet Version 2.3 für S3 Lebenszyklus, S3 Intelligent-Tiering, Objekt-ACL, Objekt-Markierung und Objektwiederherstellungs-Löschereignisse. Diese Versionen enthalten zusätzliche Informationen, die für diese Vorgänge spezifisch sind. Die Versionen 2.2 und 2.3 sind ansonsten mit Version 2.1 kompatibel, die Amazon S3 derzeit für alle anderen Ereignisbenachrichtigungstypen verwendet.

```
{  
   "Records":[  
      {  
         "eventVersion":"2.1",
         "eventSource":"aws:s3",
         "awsRegion":"us-west-2",
         "eventTime":"The time, in ISO-8601 format (for example, 1970-01-01T00:00:00.000Z) when Amazon S3 finished processing the request",
         "eventName":"The event type",
         "userIdentity":{  
            "principalId":"The unique ID of the IAM resource that caused the event"
         },
         "requestParameters":{  
            "sourceIPAddress":"The IP address where the request came from"
         },
         "responseElements":{  
            "x-amz-request-id":"The Amazon S3 generated request ID",
            "x-amz-id-2":"The Amazon S3 host that processed the request"
         },
         "s3":{  
            "s3SchemaVersion":"1.0",
            "configurationId":"The ID found in the bucket notification configuration",
            "bucket":{  
               "name":"The name of the bucket, for example, amzn-s3-demo-bucket",
               "ownerIdentity":{  
                  "principalId":"The Amazon retail customer ID of the bucket owner"
               },
               "arn":"The bucket Amazon Resource Name (ARN)"
            },
            "object":{  
               "key":"The object key name",
               "size":"The object size in bytes (as a number)",
               "eTag":"The object entity tag (ETag)",
               "versionId":"The object version if the bucket is versioning-enabled; null or not present if the bucket isn't versioning-enabled",
               "sequencer": "A string representation of a hexadecimal value used to determine event sequence; only used with PUT and DELETE requests"
            }
         },
         "glacierEventData": {
            "restoreEventData": {
               "lifecycleRestorationExpiryTime": "The time, in ISO-8601 format (for example, 1970-01-01T00:00:00.000Z), when the temporary copy of the restored object expires",
               "lifecycleRestoreStorageClass": "The source storage class for restored objects"
            }
         }
      }
   ]
}
```

Beachten Sie im Zusammenhang mit der Ereignistachrichtenstruktur Folgendes:
+ Der `eventVersion`-Schlüsselwert enthält eine Haupt- und eine Nebenversion im Format `major`.`minor`.

  Die Hauptversion wird erhöht, wenn Amazon S3 eine Änderung an der Ereignisstruktur vornimmt, die nicht abwärtskompatibel ist. Dies beinhaltet das Entfernen eines JSON-Feldes, das bereits vorhanden ist, oder das Ändern, wie die Inhalte eines Feldes dargestellt werden (Beispiel: ein Datumsformat).

  Die Nebenversion wird erhöht, wenn Amazon S3 der Ereignisstruktur neue Felder hinzufügt. Dies kann auftreten, wenn neue Informationen für einige oder alle vorhandenen Ereignisse bereitgestellt werden. Dies kann auch der Fall sein, wenn neue Informationen nur für neu eingeführte Ereignistypen bereitgestellt werden. Um mit neuen Versionen der Ereignisstruktur kompatibel zu bleiben, empfehlen wir, dass Ihre Anwendungen neue Felder ignorieren.

  Wenn neue Ereignistypen eingeführt werden, aber die Struktur des Ereignisses ansonsten unverändert bleibt, ändert sich die Ereignisversion nicht.

  Um sicherzustellen, dass Ihre Anwendungen die Ereignisstruktur ordnungsgemäß analysieren können, empfehlen wir, dass Sie einen Vergleich mit der Hauptversionsnummer durchführen. Um sicherzustellen, dass die Felder, die von Ihrer Anwendung erwartet werden, vorhanden sind, empfehlen wir außerdem, für die Nebenversion einen greater-than-or-equal -to-Vergleich durchzuführen.
+ Der `eventName` Schlüsselwert verweist auf die Liste der [Ereignisbenachrichtigungstypen](https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-how-to-event-types-and-destinations.html), enthält aber nicht das `s3:` Präfix.
+ Der `userIdentity` Schlüsselwert bezieht sich auf die eindeutige ID der AWS Identity and Access Management (IAM-) Ressource (ein Benutzer, eine Rolle, eine Gruppe usw.), die das Ereignis verursacht hat. Eine Definition der einzelnen IAM-Identifikationspräfixe (z. B. KIDA, AROA, AGPA) und Informationen darüber, wie man den eindeutigen Identifikator erhält, finden Sie unter [Einzige Identifikatoren](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html##identifiers-unique-ids) im *IAM-Benutzerhandbuch*.
+ Der `responseElements` Schlüsselwert ist nützlich, wenn Sie eine Anfrage anhand von verfolgen möchten. AWS Support`x-amz-request-id` und `x-amz-id-2` helfen Amazon S3, eine einzelne Anfrage nachzuverfolgen. Diese Werte sind dieselben, die Amazon S3 in der Antwort auf die Anforderung zurückgibt, die die Ereignisse initiiert. Daher können Sie diese Werte verwenden, um das Ereignis der Anfrage zuzuordnen.
+ Der Schlüsselwert `s3` liefert Informationen über den Bucket und das Objekt, die an dem Ereignis beteiligt sind. Der Wert des Objektschlüsselnamens ist URL-kodiert. Beispielsweise wird `red flower.jpg` zu `red+flower.jpg`. (Amazon S3 gibt als Inhaltstyp in der Antwort „`application/x-www-form-urlencoded`“ zurück.)

  Der Schlüsselwert `ownerIdentity` entspricht der Kunden-ID des Bucket-Besitzers bei Amazon (Amazon.com). Dieser ID-Wert wird nicht mehr verwendet und wird nur noch aus Gründen der Abwärtskompatibilität beibehalten. 
+ Der Schlüsselwert `sequencer` bietet eine Möglichkeit, die Reihenfolge der Ereignisse zu bestimmen. Ereignis-Benachrichtigungen kommen nicht garantiert in der Reihenfolge an, in der die Ereignisse aufgetreten sind. Benachrichtigungen von Ereignissen, die Objekte erstellen (`PUT`-Anforderungen) und Objekte löschen, enthalten jedoch ein `sequencer`. Sie können diesen Wert verwenden, um die Reihenfolge der Ereignisse für einen bestimmten Objektschlüssel zu bestimmen. 

  Wenn Sie die `sequencer`-Zeichenfolgen von zwei Ereignisbenachrichtigungen für denselben Objektschlüssel vergleichen, ist die Ereignisbenachrichtigung mit dem größeren hexadezimalen Wert von `sequencer` das später aufgetretene Ereignis. Wenn Sie Ereignisbenachrichtigungen verwenden, um eine separate Datenbank oder einen separaten Index Ihrer Amazon-S3-Objekte zu verwalten, empfehlen wir Ihnen, die `sequencer`-Werte während der Verarbeitung jeder Ereignisbenachrichtigung zu vergleichen und zu speichern. 

  Beachten Sie Folgendes:
  + Sie können den Schlüsselwert `sequencer` nicht verwenden, um die Reihenfolge der Ereignisse für verschiedene Objektschlüssel zu bestimmen.
  + Die Zeichenketten `sequencer` können unterschiedlich lang sein. Um diese Werte zu vergleichen, wird also zunächst der kürzere Wert mit Nullen aufgefüllt und dann ein lexikografischer Vergleich durchgeführt.
+ Der `glacierEventData` Schlüsselwert ist nur für `s3:ObjectRestore:Completed` Ereignisse sichtbar. 
+ Der Schlüsselwert `restoreEventData` enthält Attribute, die sich auf Ihre Wiederherstellungsanfrage beziehen.
+ Der Schlüsselwert `replicationEventData` ist nur für Replikationsereignisse sichtbar.
+ Der Schlüsselwert `intelligentTieringEventData` ist nur für S3 Intelligent-Tiering-Ereignisse sichtbar.
+ Der Schlüsselwert `lifecycleEventData` ist nur für S3-Lebenszyklus-Übergangsereignisse sichtbar.

## Beispielnachrichten
<a name="notification-content-structure-examples"></a>

Im Folgenden finden Sie Beispiele für Amazon-S3-Ereignis-Benachrichtigungen.

**Amazon-S3-Testnachricht**  
Nachdem Sie eine Ereignis-Benachrichtigung für einen Bucket konfigurieren, sendet Amazon S3 die folgende Testnachricht.

```
1. {  
2.    "Service":"Amazon S3",
3.    "Event":"s3:TestEvent",
4.    "Time":"2014-10-13T15:57:02.089Z",
5.    "Bucket":"amzn-s3-demo-bucket",
6.    "RequestId":"5582815E1AEA5ADF",
7.    "HostId":"8cLeGAmw098X5cv4Zkwcmo8vvZa3eH3eKxsPzbB9wrR+YstdA6Knx4Ip8EXAMPLE"
8. }
```

**Anmerkung**  
Die Nachricht `s3:TestEvent` verwendet ein anderes Format als normale S3-Ereignisbenachrichtigungen. Im Gegensatz zu anderen Ereignisbenachrichtigungen, die die zuvor gezeigte `Records` -Array-Struktur verwenden, verwendet das Testevent ein vereinfachtes Format mit direkten Feldern. Achten Sie bei der Implementierung der Ereignisbehandlung darauf, dass Ihr Code zwischen beiden Nachrichtenformaten unterscheiden und diese korrekt verarbeiten kann.

**Beispielnachricht, wenn ein Objekt mit einer `PUT`-Anforderung erstellt wird**  
Das Folgende ist ein Beispiel für eine Nachricht, die Amazon S3 sendet, um ein `s3:ObjectCreated:Put`-Ereignis zu veröffentlichen.

```
 1. {  
 2.    "Records":[  
 3.       {  
 4.          "eventVersion":"2.1",
 5.          "eventSource":"aws:s3",
 6.          "awsRegion":"us-west-2",
 7.          "eventTime":"1970-01-01T00:00:00.000Z",
 8.          "eventName":"ObjectCreated:Put",
 9.          "userIdentity":{  
10.             "principalId":"AIDAJDPLRKLG7UEXAMPLE"
11.          },
12.          "requestParameters":{  
13.             "sourceIPAddress":"172.16.0.1"
14.          },
15.          "responseElements":{  
16.             "x-amz-request-id":"C3D13FE58DE4C810",
17.             "x-amz-id-2":"FMyUVURIY8/IgAtTv8xRjskZQpcIZ9KG4V5Wp6S7S/JRWeUWerMUE5JgHvANOjpD"
18.          },
19.          "s3":{  
20.             "s3SchemaVersion":"1.0",
21.             "configurationId":"testConfigRule",
22.             "bucket":{  
23.                "name":"amzn-s3-demo-bucket",
24.                "ownerIdentity":{  
25.                   "principalId":"A3NL1KOZZKExample"
26.                },
27.                "arn":"arn:aws:s3:::amzn-s3-demo-bucket"
28.             },
29.             "object":{  
30.                "key":"HappyFace.jpg",
31.                "size":1024,
32.                "eTag":"d41d8cd98f00b204e9800998ecf8427e",
33.                "versionId":"096fKKXTRTtl3on89fVO.nfljtsv6qko",
34.                "sequencer":"0055AED6DCD90281E5"
35.             }
36.          }
37.       }
38.    ]
39. }
```



# Verwenden EventBridge
<a name="EventBridge"></a>

Amazon S3 kann Ereignisse an Amazon senden, EventBridge wenn bestimmte Ereignisse in Ihrem Bucket auftreten. Im Gegensatz zu anderen Zielen müssen Sie nicht auswählen, welche Ereignistypen Sie liefern möchten. Nach EventBridge der Aktivierung werden alle unten aufgeführten Ereignisse an gesendet EventBridge. Sie können EventBridge Regeln verwenden, um Ereignisse an weitere Ziele weiterzuleiten. Im Folgenden sind die Ereignisse aufgeführt, an die Amazon S3 sendet EventBridge.


|  Ereignistyp |  Description  | 
| --- | --- | 
|  *Objekt erstellt*  |  Ein Objekt wurde erstellt. Das Ursachenfeld in der Ereignisnachrichtenstruktur gibt an, welche S3-API zum Erstellen des Objekts verwendet wurde: [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html), [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html), [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) oder [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html).  | 
|  *Objekt gelöscht (DeleteObject)* *Objekt gelöscht (Lebenszyklusablauf)*  |  Ein Objekt wurde gelöscht. Wenn ein Objekt mit einem S3-API-Aufruf gelöscht wird, wird das Ursachenfeld auf DeleteObject festgelegt. Wenn ein Objekt durch eine S3-Lebenszyklus-Ablaufregel gelöscht wird, wird das Grundfeld auf Lebenszyklus-Ablauf gesetzt. Weitere Informationen finden Sie unter [Ablauf von Objekten](lifecycle-expire-general-considerations.md). Wenn ein nicht versioniertes Objekt gelöscht wird oder ein versioniertes Objekt dauerhaft gelöscht wird, wird das Feld für den Löschtyp auf „Permanently Deleted“ gesetzt. Wenn eine Löschmarkierung für ein versioniertes Objekt erstellt wird, wird das Feld für den „`deletion-type`“ auf „Delete Marker Created“ gesetzt. Weitere Informationen finden Sie unter [Löschen von Objekten aus einem versioning-fähigen Bucket](DeletingObjectVersions.md).  | 
|  *Objektwiederherstellung eingeleitet*  |  Eine Objektwiederherstellung wurde von der Speicherklasse S3 Glacier Flexible Retrieval oder S3 Glacier Deep Archive oder von der Schicht S3 Intelligent-Tiering Archive Access oder Deep Archive Access initiiert. Weitere Informationen finden Sie unter [Arbeiten mit archivierten Objekten](archived-objects.md).  | 
|  *Objektwiederherstellung abgeschlossen*  |  Eine Objektwiederherstellung wurde abgeschlossen.  | 
|  *Wiederherstellen von Objekten ist abgelaufen*  |  Die temporäre Kopie eines von S3 Glacier Flexible Retrieval oder S3 Glacier Deep Archive wiederhergestellten Objekts ist abgelaufen und wurde gelöscht.  | 
|  *Objektspeicherklasse geändert*  |  Ein Objekt wurde auf eine andere Speicherklasse umgestellt. Weitere Informationen finden Sie unter [Übertragen von Objekten mit Amazon-S3-Lebenszyklus](lifecycle-transition-general-considerations.md).  | 
|  *Objektzugriffsebene wurde geändert*  |  Ein Objekt wurde auf die Stufen S3 Intelligent-Tiering Archive Access oder Deep Archive Access umgestellt. Weitere Informationen finden Sie unter [Mit Amazon S3 Intelligent-Tiering Speicherkosten verwalten](intelligent-tiering.md).  | 
|  *ACL-Objekt aktualisiert*  |  Die Zugriffssteuerungsliste (ACL) eines Objekts wurde mit `PutObjectAcl` festgelegt. Ein Ereignis wird nicht generiert, wenn eine Anforderung keine Änderung an der ACL eines Objekts zur Folge hat. Weitere Informationen finden Sie unter [Zugriffskontrolllisten (ACL) – Übersicht](acl-overview.md).  | 
|  *Objekt-Tags hinzugefügt*  |  Mit `PutObjectTagging` wurde einem Objekt ein Satz von Tags hinzugefügt. Weitere Informationen finden Sie unter [Kategorisierung Ihrer Objekte mit Hilfe von Tags](object-tagging.md).  | 
|  *Gelöschte Objekt-Tags*  |  Alle Tags wurden mit `DeleteObjectTagging` aus einem Objekt entfernt. Weitere Informationen finden Sie unter [Kategorisierung Ihrer Objekte mit Hilfe von Tags](object-tagging.md).  | 

**Anmerkung**  
Weitere Informationen darüber, wie Amazon S3 S3-Ereignistypen EventBridge Ereignistypen zugeordnet werden, finden Sie unter[EventBridge Amazon-Kartierung und Problembehebung](ev-mapping-troubleshooting.md).

Sie können Amazon S3 Event Notifications mit verwenden EventBridge , um Regeln zu schreiben, die Maßnahmen ergreifen, wenn ein Ereignis in Ihrem Bucket eintritt. Sie können sich beispielsweise eine Benachrichtigung senden lassen. Weitere Informationen finden Sie unter [Was ist EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) im * EventBridge Amazon-Benutzerhandbuch*.

Weitere Informationen zu den Aktionen und Datentypen, mit denen Sie über die EventBridge API interagieren können, finden Sie in der [Amazon EventBridge API-Referenz](https://docs.aws.amazon.com/eventbridge/latest/APIReference/Welcome.html) in der *Amazon EventBridge API-Referenz*.

Informationen zu den Preisen finden Sie unter [ EventBridge Amazon-Preise](https://aws.amazon.com/eventbridge/pricing).

**Topics**
+ [EventBridge Amazon-Berechtigungen](ev-permissions.md)
+ [Amazon aktivieren EventBridge](enable-event-notifications-eventbridge.md)
+ [EventBridge Struktur der Ereignisnachricht](ev-events.md)
+ [EventBridge Amazon-Kartierung und Problembehebung](ev-mapping-troubleshooting.md)

# EventBridge Amazon-Berechtigungen
<a name="ev-permissions"></a>

Amazon S3 benötigt keine zusätzlichen Berechtigungen, um Ereignisse an Amazon zu übermitteln EventBridge.

# Amazon aktivieren EventBridge
<a name="enable-event-notifications-eventbridge"></a>

Sie können Amazon EventBridge mithilfe der S3-Konsole AWS Command Line Interface (AWS CLI) oder der Amazon S3 S3-REST-API aktivieren. 

**Anmerkung**  
Nach der Aktivierung dauert es etwa fünf Minuten EventBridge, bis die Änderungen wirksam werden.

## Verwenden der S3-Konsole
<a name="eventbridge-console"></a>

**Um die EventBridge Ereigniszustellung in der S3-Konsole zu aktivieren.**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon S3 S3-Konsole unter [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Wählen Sie im linken Navigationsbereich **Allzweck-Buckets** aus.

1. Wählen Sie in der Bucket-Liste den Namen des Buckets, für den Sie Ereignisse aktivieren möchten.

1. Wählen Sie **Properties (Eigenschaften)**.

1. Gehen Sie zum Abschnitt **Event-Benachrichtigungen** und suchen Sie den ** EventBridgeAmazon-Unterabschnitt**. Wählen Sie **Bearbeiten** aus.

1. Wählen **Sie unter Benachrichtigungen EventBridge für alle Ereignisse in diesem Bucket an Amazon senden** die Option **An**.

## Verwenden Sie AWS CLI
<a name="eventbridge-cli"></a>

Im folgenden Beispiel wird eine Bucket-Benachrichtigungskonfiguration für einen Bucket *`amzn-s3-demo-bucket1`* mit EventBridge aktiviertem Amazon erstellt.

```
aws s3api put-bucket-notification-configuration --bucket amzn-s3-demo-bucket1 --notification-configuration='{ "EventBridgeConfiguration": {} }'
```

## Verwenden der REST-API
<a name="eventbridge-api"></a>

Sie können Amazon programmgesteuert in einem Bucket aktivieren, indem Sie die EventBridge Amazon S3 S3-REST-API aufrufen. Weitere Informationen finden Sie unter [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketNotificationConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketNotificationConfiguration.html) in der *API-Referenz zu Amazon Simple Storage Service*.

Das folgende Beispiel zeigt das XML, das verwendet wurde, um eine Bucket-Benachrichtigungskonfiguration mit EventBridge aktiviertem Amazon zu erstellen.

```
<NotificationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <EventBridgeConfiguration>
  </EventBridgeConfiguration>
</NotificationConfiguration>
```

## EventBridge Regeln erstellen
<a name="ev-tutorial"></a>

Nach der Aktivierung können Sie EventBridge Amazon-Regeln für bestimmte Aufgaben erstellen. Beispielsweise können Sie E-Mail-Benachrichtigungen senden, wenn ein Objekt erstellt wird. Ein vollständiges Tutorial finden Sie unter [Tutorial: Eine Benachrichtigung senden, wenn ein Amazon S3 S3-Objekt erstellt wird](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-s3-object-created-tutorial.html) im * EventBridge Amazon-Benutzerhandbuch*.

# EventBridge Struktur der Ereignisnachricht
<a name="ev-events"></a>

Die Benachrichtigung, die Amazon S3 sendet, um ein Ereignis zu veröffentlichen, verwendet das JSON-Format. Wenn Amazon S3 ein Ereignis an Amazon sendet EventBridge, sind die folgenden Felder vorhanden.
+ `version` – Derzeit 0 (Null) für alle Ereignisse.
+ `id` – Eine UUID, die für jedes Ereignis generiert wurde.
+ `detail-type` – Die Art des Ereignisses, das gesendet wird. Eine Liste der Ereignistypen finden Sie unter [Verwenden EventBridge](EventBridge.md).
+ `source` – Identifiziert den Service, aus dem das Ereignis stammt.
+ `account`— Die 12-stellige AWS-Konto ID des Bucket-Besitzers.
+ `time` – Der Zeitpunkt, an dem das Ereignis aufgetreten ist.
+ `region`— Identifiziert die AWS-Region des Buckets.
+ `resources` – Ein JSON-Array, das den Amazon-Ressourcennamen (ARN) des Buckets enthält.
+ `detail` – Ein JSON-Objekt, das Informationen zum Ereignis enthält. Weitere Informationen dazu, was in diesem Feld enthalten sein kann, finden Sie unter [Detailfeld für Ereignismeldung](#ev-events-detail).

## Beispiele für Ereignismeldungen
<a name="ev-events-list"></a>

Im Folgenden finden Sie Beispiele für einige der Amazon S3 S3-Ereignisbenachrichtigungen, die an Amazon gesendet werden können EventBridge.

### Objekt erstellt
<a name="ev-events-object-created"></a>

```
{
  "version": "0",
  "id": "17793124-05d4-b198-2fde-7ededc63b103",
  "detail-type": "Object Created",
  "source": "aws.s3",
  "account": "111122223333",
  "time": "2021-11-12T00:00:00Z",
  "region": "ca-central-1",
  "resources": [
    "arn:aws:s3:::amzn-s3-demo-bucket1"
  ],
  "detail": {
    "version": "0",
    "bucket": {
      "name": "amzn-s3-demo-bucket1"
    },
    "object": {
      "key": "example-key",
      "size": 5,
      "etag": "b1946ac92492d2347c6235b4d2611184",
      "version-id": "IYV3p45BT0ac8hjHg1houSdS1a.Mro8e",
      "sequencer": "617f08299329d189"
    },
    "request-id": "N4N7GDK58NMKJ12R",
    "requester": "123456789012",
    "source-ip-address": "1.2.3.4",
    "reason": "PutObject"
  }
}
```

### Objekt wurde gelöscht (mithilfe von DeleteObject)
<a name="ev-events-object-deleted"></a>

```
{
  "version": "0",
  "id": "2ee9cc15-d022-99ea-1fb8-1b1bac4850f9",
  "detail-type": "Object Deleted",
  "source": "aws.s3",
  "account": "111122223333",
  "time": "2021-11-12T00:00:00Z",
  "region": "ca-central-1",
  "resources": [
    "arn:aws:s3:::amzn-s3-demo-bucket1"
  ],
  "detail": {
    "version": "0",
    "bucket": {
      "name": "amzn-s3-demo-bucket1"
    },
    "object": {
      "key": "example-key",
      "etag": "d41d8cd98f00b204e9800998ecf8427e",
      "version-id": "1QW9g1Z99LUNbvaaYVpW9xDlOLU.qxgF",
      "sequencer": "617f0837b476e463"
    },
    "request-id": "0BH729840619AG5K",
    "requester": "123456789012",
    "source-ip-address": "1.2.3.4",
    "reason": "DeleteObject",
    "deletion-type": "Delete Marker Created"
  }
}
```

### Objekt wurde gelöscht (unter Verwendung des Lebenszyklusablaufs)
<a name="ev-events-object-deleted-lifecycle"></a>

```
{
  "version": "0",
  "id": "ad1de317-e409-eba2-9552-30113f8d88e3",
  "detail-type": "Object Deleted",
  "source": "aws.s3",
  "account": "111122223333",
  "time": "2021-11-12T00:00:00Z",
  "region": "ca-central-1",
  "resources": [
    "arn:aws:s3:::amzn-s3-demo-bucket1"
  ],
  "detail": {
    "version": "0",
    "bucket": {
      "name": "amzn-s3-demo-bucket1"
    },
    "object": {
      "key": "example-key",
      "etag": "d41d8cd98f00b204e9800998ecf8427e",
      "version-id": "mtB0cV.jejK63XkRNceanNMC.qXPWLeK",
      "sequencer": "617b398000000000"
    },
    "request-id": "20EB74C14654DC47",
    "requester": "s3.amazonaws.com",
    "reason": "Lifecycle Expiration",
    "deletion-type": "Delete Marker Created"
  }
}
```

### Objektwiederherstellung abgeschlossen
<a name="ev-events-object-restore-complete"></a>

```
{
  "version": "0",
  "id": "6924de0d-13e2-6bbf-c0c1-b903b753565e",
  "detail-type": "Object Restore Completed",
  "source": "aws.s3",
  "account": "111122223333",
  "time": "2021-11-12T00:00:00Z",
  "region": "ca-central-1",
  "resources": [
    "arn:aws:s3:::amzn-s3-demo-bucket1"
  ],
  "detail": {
    "version": "0",
    "bucket": {
      "name": "amzn-s3-demo-bucket1"
    },
    "object": {
      "key": "example-key",
      "size": 5,
      "etag": "b1946ac92492d2347c6235b4d2611184",
      "version-id": "KKsjUC1.6gIjqtvhfg5AdMI0eCePIiT3"
    },
    "request-id": "189F19CB7FB1B6A4",
    "requester": "s3.amazonaws.com",
    "restore-expiry-time": "2021-11-13T00:00:00Z",
    "source-storage-class": "GLACIER"
  }
}
```

## Detailfeld für Ereignismeldung
<a name="ev-events-detail"></a>

Das Detailfeld enthält ein JSON-Objekt mit Informationen über das Ereignis. Die folgenden Felder können im Detailfeld vorhanden sein.
+ `version` – Derzeit 0 (Null) für alle Ereignisse.
+ `bucket` – Informationen zum Amazon S3-Bucket, der an dem Event beteiligt ist.
+ `object` – Informationen über das an dem Ereignis beteiligte Amazon-S3-Objekt.
+ `request-id` – Anforderungs-ID in S3 Antwort.
+ `requester`— AWS-Konto ID oder AWS Dienstprinzipal des Anfragenden.
+ `source-ip-address` – Quell-IP-Adresse der S3-Anforderung. Nur vorhanden für Ereignisse, die durch eine S3-Anfrage ausgelöst werden.
+ `reason` – Bei Ereignissen vom **Typ Object** wird die S3-API verwendet, um das Objekt zu erstellen: [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html), [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html), [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html), oder [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html). Für **Object Deleted**-Ereignisse wird dies auf **DeleteObject** gesetzt, wenn ein Objekt durch einen S3-API-Aufruf gelöscht wird, oder **Lebenszyklusablauf**, wenn ein Objekt durch eine S3-Lebenszyklus-Ablaufregel gelöscht wird. Weitere Informationen finden Sie unter [Ablauf von Objekten](lifecycle-expire-general-considerations.md).
+ `deletion-type` – Wenn ein nicht versioniertes Objekt gelöscht wird oder ein versioniertes Objekt dauerhaft gelöscht wird, wird bei **Object Deleted**-Ereignissen dies auf **Permanently Deleted** festgelegt. Wenn ein Löschmarker für ein versioniertes Objekt erstellt wird, wird dieser auf **Löschmarkierung erstellt** gesetzt. Weitere Informationen finden Sie unter [Löschen von Objekten aus einem versioning-fähigen Bucket](DeletingObjectVersions.md).
**Anmerkung**  
Einige Objektattribute (wie `etag` und`size`) sind nur vorhanden, wenn eine Löschmarkierung erstellt wird.
+ `restore-expiry-time` – Bei Ereignissen **Objektwiederherstellung abgeschlossen** der Zeitpunkt, zu dem die temporäre Kopie des Objekts aus S3 gelöscht wird. Weitere Informationen finden Sie unter [Arbeiten mit archivierten Objekten](archived-objects.md).
+ `source-storage-class` – Bei den Ereignissen **Objektwiederherstellung eingeleitet** und **Objektwiederherstellung abgeschlossen** die Speicherklasse des wiederherzustellenden Objekts. Weitere Informationen finden Sie unter [Arbeiten mit archivierten Objekten](archived-objects.md).
+ `destination-storage-class` – Für Ereignisse **Objektspeicherklasse geändert** die neue Speicherklasse des Objekts. Weitere Informationen finden Sie unter [Übertragen von Objekten mit Amazon-S3-Lebenszyklus](lifecycle-transition-general-considerations.md).
+ `destination-access-tier` – Für Ereignisse **Objektzugriffebene geändert** die neue Zugriffebene des Objekts. Weitere Informationen finden Sie unter [Mit Amazon S3 Intelligent-Tiering Speicherkosten verwalten](intelligent-tiering.md).

# EventBridge Amazon-Kartierung und Problembehebung
<a name="ev-mapping-troubleshooting"></a>

In der folgenden Tabelle wird beschrieben, wie Amazon S3 S3-Ereignistypen EventBridge Amazon-Ereignistypen zugeordnet werden.


|  S3-Ereignistyp |  EventBridge Amazon-Detailtyp  | 
| --- | --- | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html) [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)  |  Objekt erstellt  | 
|  ObjectRemoved:Delete ObjectRemoved:DeleteMarkerCreated LifecycleExpiration:Delete LifecycleExpiration:DeleteMarkerCreated  |  Objekt gelöscht  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html)  |  Objektwiederherstellung eingeleitet  | 
|  ObjectRestore:Completed  |  Objektwiederherstellung abgeschlossen  | 
|  ObjectRestore:Delete  |  Wiederherstellen von Objekten ist abgelaufen  | 
|  LifecycleTransition  |  Objektspeicherklasse geändert  | 
|  IntelligentTiering  |  Objektzugriffsebene wurde geändert  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html)  |  Objekt-Tags hinzugefügt  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html)  |  Gelöschte Objekt-Tags  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html)  |  ACL-Objekt aktualisiert  | 

## EventBridge Amazon-Problembehebung
<a name="ev-troubleshooting"></a>

Informationen zur Fehlerbehebung EventBridge finden Sie unter [Problembehandlung bei Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-troubleshooting.html) im * EventBridge Amazon-Benutzerhandbuch*.