

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.

# 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. }
```

