

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.

# Katalogisieren und Analysieren Ihrer Daten mit S3 Inventory
<a name="storage-inventory"></a>

Sie können Amazon S3 Inventory verwenden, um Ihren Speicher zu verwalten. Sie können es beispielsweise für die Prüfung und Meldung des Replikations- und Verschlüsselungsstatus Ihrer Objekte für Unternehmens-, Compliance- und regulatorische Anforderungen verwenden. Außerdem können Sie Business Workflows und Big-Data-Aufgaben mithilfe von Amazon S3 Inventory vereinfachen und beschleunigen. Es bietet Ihnen eine geplante Alternative zu den synchronen `List`-API-Operationen von Amazon S3. Amazon S3 Inventory verwendet die `List`-API-Operationen nicht zur Überprüfung Ihrer Objekte und hat keinen Einfluss auf die Anforderungsrate Ihres Buckets.

Amazon S3 Inventory stellt Ausgabedateien als Comma Separated Values (CSV), [Apache-Optimized Row Columnar (ORC)](https://orc.apache.org/) oder [https://parquet.apache.org/](https://parquet.apache.org/) bereit, die Ihre Objekte und die zugehörigen Metadaten auf täglicher oder wöchentlicher Basis für einen S3-Bucket oder Objekte mit einem gemeinsam verwendeten Präfix (das heißt, Objekte, deren Namen mit einer allgemeinen Zeichenfolge beginnen) auflisten. Wenn Sie eine wöchentliche Bestandsabfrage einrichten, wird nach dem ersten Bericht jeden Sonntag (UTC-Zeitzone) ein Bericht generiert. Informationen zu den Preisen für Amazon S3 Inventory finden Sie unter [Amazon-S3-Preise](https://aws.amazon.com/s3/pricing/).

Sie können mehrere Bestandslisten für einen Bucket konfigurieren. Wenn Sie eine Bestandsliste konfigurieren, können Sie Folgendes angeben: 
+ welche Objektmetadaten in das Inventar aufgenommen werden sollen 
+ ob alle Objektversionen oder nur aktuelle Versionen aufgelistet werden sollen
+ wo die Ausgabe der Bestandslistendatei gespeichert werden soll
+ ob der Bestandsbericht täglich oder wöchentlich generiert werden soll
+ ob die Bestandslistendatei verschlüsselt werden soll

Sie können Amazon S3 Inventory mit Standard-SQL-Abfragen abfragen, indem Sie [Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/what-is.html), [Amazon Redshift Spectrum](https://docs.aws.amazon.com/redshift/latest/dg/c-getting-started-using-spectrum.html) und andere Tools wie [https://prestodb.io/](https://prestodb.io/), [https://hive.apache.org/](https://hive.apache.org/) und [https://databricks.com/spark/about/](https://databricks.com/spark/about/) verwenden. Weitere Informationen zur Verwendung von Athena zum Abfragen Ihrer Bestandsdaten finden Sie unter [Abfragen von Amazon S3 Inventory mit Amazon Athena](storage-inventory-athena-query.md). 

**Anmerkung**  
Es könnte bis zu 48 Stunden dauern, bis Amazon S3 den ersten Inventarbericht bereitstellt.

**Anmerkung**  
Nach dem Löschen einer Inventarkonfiguration kann Amazon S3 während einer kurzen Übergangsphase immer noch einen zusätzlichen Inventarbericht liefern, während das System den Löschvorgang verarbeitet.

## Quell- und Ziel-Buckets
<a name="storage-inventory-buckets"></a>

Der Bucket, dessen Objekte die Bestandserfassung auflistet, wird als *Quell-Bucket* bezeichnet. Der Bucket, in dem die Datei mit der Bestandsliste gespeichert ist, wird als *Ziel-Bucket* bezeichnet. 

**Quell-Bucket**

Der Bestand listet die Objekte auf, die im Quell-Bucket gespeichert sind. Sie können eine Bestandsliste für einen ganzen Bucket erhalten oder die Liste nach dem Präfix eines Objektschlüsselnamens filtern.

Der Quell-Bucket:
+ Enthält die Objekte, die im Bestand aufgelistet sind.
+ Enthält die Konfiguration für den Bestand.

**Ziel-Bucket**

Amazon S3 Inventory listet Dateien auf, die in den Ziel-Bucket geschrieben werden. Um alle Bestandslisten-Dateien an einem gemeinsamen Speicherort im Ziel-Bucket zu gruppieren, können Sie ein Zielpräfix in der Bestands-Konfiguration angeben.

Der Ziel-Bucket:
+ Enthält die Dateilisten für den Bestand. 
+ Enthält die Manifestdateien, die alle Bestandslistendateien enthalten, die im Ziel-Bucket gespeichert sind. Weitere Informationen finden Sie unter [Bestandsmanifest](storage-inventory-location.md#storage-inventory-location-manifest).
+ Erfordert eine Bucket-Richtlinie, um Amazon S3 die Berechtigung zu erteilen, die Eigentümerschaft an dem Bucket zu überprüfen, ebenso wie die Berechtigung, Dateien in den Bucket zu schreiben. 
+ Muss sich im selben Bucket befinden AWS-Region wie der Quell-Bucket.
+ Kann gleich dem Quell-Bucket sein.
+ Kann einem anderen Konto gehören AWS-Konto als dem Konto, dem der Quell-Bucket gehört.

## Amazon-S3-Inventory-Liste
<a name="storage-inventory-contents"></a>

Eine Datei mit einer Bestandsliste enthält eine Liste der Objekte im Quell-Bucket sowie die Metadaten für jedes Objekt. Eine Bestandslistendatei wird im Ziel-Bucket in einem der folgenden Formate gespeichert:
+ Als mit GZIP komprimierte CSV-Datei
+ Als mit ZLIB komprimierte Apache-ORC-Datei (Optimized Row Columnar)
+ Als mit Snappy komprimierte Apache-Parquet-Datei

**Anmerkung**  
Es kann nicht garantiert werden, dass Objekte in Berichten von Amazon S3 Inventory auf bestimmte Weise sortiert werden.

Eine Bestandslistendatei enthält eine Liste der Objekte im Quell-Bucket und Metadaten für jedes aufgelistete Objekt. Diese Standardfelder sind immer enthalten:
+ **Bucket name (Bucket-Name)** – Der Name des Buckets, für den der Bestand gilt.
+ **ETag**— Das Entity-Tag (ETag) ist ein Hash des Objekts. Das ETag spiegelt nur Änderungen am Inhalt eines Objekts wider, nicht an seinen Metadaten. Das ETag kann eine MD5 Zusammenfassung der Objektdaten sein. Dies hängt davon ab, wie das Objekt erstellt und verschlüsselt wurde. Weitere Informationen finden Sie unter [https://docs.aws.amazon.com/AmazonS3/latest/API/API_Object.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_Object.html) in der *API-Referenz zu Amazon Simple Storage Service*.
+ **Key name (Schlüsselname)** – Name des Objektschlüssels (oder Schlüssel), der das Objekt in dem Bucket eindeutig identifiziert. Bei Verwendung des CSV-Dateiformats ist der Schlüsselname URL-kodiert und muss dekodiert werden, bevor Sie ihn verwenden können.
+ **Last modified date (Letztes Änderungsdatum)** – Datum der Erstellung oder der letzten Änderung des Objekts, je nachdem, welches neuer ist.
+ **Größe** – Die Objektgröße in Byte, ohne die Größe von unvollständigen mehrteiligen Uploads, Objektmetadaten und Löschmarkierungen.
+ **Storage class (Speicherklasse)** – Die für die Speicherung des Objekts verwendete Speicherklasse. Auf `STANDARD`, `REDUCED_REDUNDANCY`, `STANDARD_IA`, `ONEZONE_IA`, `INTELLIGENT_TIERING`, `GLACIER`, `DEEP_ARCHIVE`, `OUTPOSTS`, `GLACIER_IR` oder `SNOW` festgelegt. Weitere Informationen finden Sie unter [Verstehen und Verwalten von Amazon-S3-Speicherklassen](storage-class-intro.md).
**Anmerkung**  
S3 Inventory unterstützt S3 Express One Zone nicht.

Sie haben die Möglichkeit, die folgenden zusätzlichen Metadatenfelder in den Bericht aufzunehmen:
+ **Prüfsummen-Algorithmus** – Gibt den Algorithmus an, mit dem die Prüfsumme für das Objekt erstellt wurde. Weitere Informationen finden Sie unter [Verwenden unterstützter Prüfsummenalgorithmen](checking-object-integrity-upload.md#using-additional-checksums).
+ **Verschlüsselungsstatus** — Der serverseitige Verschlüsselungsstatus, abhängig von der Art des verwendeten Verschlüsselungsschlüssels — serverseitige Verschlüsselung mit Amazon S3 S3-verwalteten Schlüsseln (SSE-S3), serverseitige Verschlüsselung mit () Schlüsseln AWS Key Management Service (SSE-KMS AWS KMS), zweischichtige serverseitige Verschlüsselung mit Schlüsseln (DSSE-KMS) oder serverseitige Verschlüsselung mit vom Kunden bereitgestellten AWS KMS Schlüsseln (SSE-C). Setzen Sie den Wert auf `SSE-S3`, `SSE-KMS`, `DSSE-KMS`, `SSE-C` oder `NOT-SSE`. Der Status `NOT-SSE` bedeutet, dass das Objekt nicht mit serverseitiger Verschlüsselung verschlüsselt ist. Weitere Informationen finden Sie unter [Datenschutz durch Verschlüsselung](UsingEncryption.md).
+ **S3 Intelligent-Tiering access tier (S3-Intelligent-Tiering-Zugriffsebene)** – Zugriffsebene (häufig oder selten) des Objekts bei Speicherung in der Speicherklasse S3 Intelligent-Tiering. Setzen Sie den Wert auf `FREQUENT`, `INFREQUENT`, `ARCHIVE_INSTANT_ACCESS`, `ARCHIVE` oder `DEEP_ARCHIVE`. Weitere Informationen finden Sie unter [Speicherklasse zur automatischen Optimierung von Daten mit sich ändernden oder unbekannten Zugriffsmustern](storage-class-intro.md#sc-dynamic-data-access).
+ **S3 Object Lock retain until date (Beibehaltungsfrist für S3-Objektsperre)** – Das Datum, bis zu dem das gesperrte Objekt nicht gelöscht werden kann. Weitere Informationen finden Sie unter [Sperren von Objekten mit Object Lock](object-lock.md).
+ **S3 Object Lock retention mode (Aufbewahrungsmodus für S3-Objekt)** – Auf `Governance` oder `Compliance` gesetzt für Objekte, die gesperrt sind. Weitere Informationen finden Sie unter [Sperren von Objekten mit Object Lock](object-lock.md).
+ **S3 Object Lock legal hold status (Rechtlicher Aufbewahrungsstatus der S3-Objektsperre)** – Auf `On` gesetzt, wenn für ein Objekt eine rechtliche Aufbewahrungsfrist gilt. Andernfalls lautet der Wert `Off`. Weitere Informationen finden Sie unter [Sperren von Objekten mit Object Lock](object-lock.md).
+ **Version ID (Versions-ID)** – ID der Objektversion. Wenn Sie das Versioning für einen Bucket aktivieren, weist Amazon S3 allen Objekten, die dem Bucket hinzugefügt werden, eine Versionsnummer zu. Weitere Informationen finden Sie unter [Beibehalten mehrerer Versionen von Objekten mit der S3-Versionsverwaltung](Versioning.md). (Dieses Feld ist nicht enthalten, wenn die Liste nur für die aktuelle Version der Objekte konfiguriert ist.)
+ **IsLatest**— `True` Wird auf gesetzt, wenn es sich bei dem Objekt um die aktuelle Version des Objekts handelt. (Dieses Feld ist nicht enthalten, wenn die Liste nur für die aktuelle Version der Objekte konfiguriert ist.)
+ **Delete marker (Löschmarkierung)** – Auf `True` gesetzt, wenn es sich bei dem Objekt um eine Löschmarkierung handelt. Weitere Informationen finden Sie unter [Beibehalten mehrerer Versionen von Objekten mit der S3-Versionsverwaltung](Versioning.md). (Dieses Feld wird dem Bericht automatisch hinzugefügt, wenn Sie den Bericht so konfiguriert haben, dass alle Versionen der Objekte aufgenommen werden.)
+ **Multipart upload flag (Markierung für mehrteiligen Upload)** – Auf `True` gesetzt, wenn das Objekt als mehrteiliger Upload hochgeladen wurde. Weitere Informationen finden Sie unter [Hochladen und Kopieren von Objekten mit mehrteiligen Uploads in Amazon S3](mpuoverview.md).
+ **Objekteigentümer** – Die kanonische Benutzer-ID des Eigentümers des Objekts. Weitere Informationen [finden Sie unter Finden Sie die kanonische Benutzer-ID für Ihr AWS Konto](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-identifiers.html#FindCanonicalId) im *Referenzhandbuch zur AWS Kontoverwaltung.*
+ **Replikationsstatus** – Auf `PENDING`, `COMPLETED`, `FAILED`, oder `REPLICA` gesetzt. Weitere Informationen finden Sie unter [Abrufen von Replikationsstatusinformationen](replication-status.md).
+ **S3 Bucket Key status (Status des S3-Bucket-Schlüssels)** – Auf `ENABLED` oder `DISABLED` gesetzt. Gibt an, ob das Objekt einen S3-Bucket-Schlüssel für SSE-KMS verwendet. Weitere Informationen finden Sie unter [Verwenden von Amazon-S3-Bucket-Schlüssel](bucket-key.md).
+ **Objektzugriffskontrollliste** — Eine Zugriffskontrollliste (ACL) für jedes Objekt, die definiert, welchen AWS-Konten oder welchen Gruppen Zugriff auf dieses Objekt gewährt wird und welche Art von Zugriff gewährt wird. Das Feld „Objekt-ACL“ ist im JSON-Format definiert. Ein S3-Inventarbericht umfasst Objekte ACLs , die Objekten in Ihrem Quell-Bucket zugeordnet ACLs sind, auch wenn sie für den Bucket deaktiviert sind. Weitere Informationen erhalten Sie unter [Arbeiten mit dem Feld „Objekt-ACL“](objectacl.md) und [Zugriffskontrolllisten (ACL) – Übersicht](acl-overview.md).
**Anmerkung**  
Das Feld „Objekt-ACL“ ist im JSON-Format definiert. In einem Bestandsbericht wird der Wert für das Feld „Objekt-ACL“ als Base64-codierte Zeichenfolge angezeigt.  
Angenommen, Sie haben das folgende Feld „Objekt-ACL“ im JSON-Format:  

  ```
  {
          "version": "2022-11-10",
          "status": "AVAILABLE",
          "grants": [{
              "canonicalId": "example-canonical-user-ID",
              "type": "CanonicalUser",
              "permission": "READ"
          }]
  }
  ```
Das Feld „Objekt-ACL“ ist codiert und wird als die folgende Base64-codierte Zeichenfolge angezeigt:  

  ```
  eyJ2ZXJzaW9uIjoiMjAyMi0xMS0xMCIsInN0YXR1cyI6IkFWQUlMQUJMRSIsImdyYW50cyI6W3siY2Fub25pY2FsSWQiOiJleGFtcGxlLWNhbm9uaWNhbC11c2VyLUlEIiwidHlwZSI6IkNhbm9uaWNhbFVzZXIiLCJwZXJtaXNzaW9uIjoiUkVBRCJ9XX0=
  ```
Um für das Feld „Objekt-ACL“ den dekodierten Wert in JSON abzurufen, können Sie dieses Feld in Amazon Athena abfragen. Abfragebeispiele finden Sie unter [Abfragen von Amazon S3 Inventory mit Amazon Athena](storage-inventory-athena-query.md).
+ **Ablaufdatum des Lebenszyklus** — Legt den Ablaufzeitstempel des Objekts für den Lebenszyklus fest. Dieses Feld wird nur ausgefüllt, wenn das Objekt aufgrund einer geltenden Lebenszyklusregel abgelaufen sein soll. In anderen Fällen ist das Feld leer. Bei Objekten mit `FAILED` Replikationsstatus wird kein Ablaufdatum angegeben, da S3 Lifecycle Ablaufs- und Übergangsaktionen für diese Objekte verhindert, bis die Replikation erfolgreich abgeschlossen ist. Weitere Informationen finden Sie unter [Ablauf von Objekten](lifecycle-expire-general-considerations.md).

**Anmerkung**  
Wenn ein Objekt basierend auf seiner Lebenszykluskonfiguration das Ende seiner Lebensdauer erreicht hat, stellt Amazon S3 das Objekt zum Entfernen in eine Warteschlange und entfernt es asynchron. Daher kann es eine Verzögerung zwischen dem Ablaufdatum und dem Datum geben, an dem Amazon S3 ein Objekt entfernt. Der Bestandsbericht enthält die Objekte, die abgelaufen sind, aber noch nicht entfernt wurden. Weitere Informationen über die Ablaufaktionen im S3-Lebenszyklus finden Sie unter [Ablauf von Objekten](lifecycle-expire-general-considerations.md).

Im Folgenden finden Sie ein Beispiel für einen Bestandsbericht mit zusätzlichen Metadatenfeldern, der aus vier Datensätzen besteht.

```
amzn-s3-demo-bucket1    example-object-1    EXAMPLEDC8l.XJCENlF7LePaNIIvs001    TRUE        1500    2024-08-15T15:28:26.0004    EXAMPLE21e1518b92f3d92773570f600    STANDARD    FALSE    COMPLETED    SSE-KMS    2025-01-25T15:28:26.000Z    COMPLIANCE    Off        ENABLED        eyJ2ZXJzaW9uIjoiMjAyMi0xMS0xMCIsInN0YXR1cyI6IkFWQUlMQUJMRSIsImdyYW50cyI6W3sicGVybWlzc2lvbiI6IkZVTExfQ09OVFJPTCIsInR5cGUiOiJDYW5vbmljYWxVc2VyIiwiY2Fub25pY2FsSWQiOiJFWEFNUExFNzY2ZThmNmIxMTVkOTNkNDFkZjJlYWM0MjBhYTRhNDY1ZDE3N2MxMzk4YmM2YTA4OGM3NmI3MDAwIn1dfQ==    EXAMPLE766e8f6b115d93d41df2eac420aa4a465d177c1398bc6a088c76b7000
amzn-s3-demo-bucket1    example-object-2    EXAMPLEDC8l.XJCENlF7LePaNIIvs002    TRUE        200    2024-08-21T15:28:26.000Z    EXAMPLE21e1518b92f3d92773570f601    INTELLIGENT_TIERING    FALSE    COMPLETED    SSE-KMS    2025-01-25T15:28:26.000Z    COMPLIANCE    Off    INFREQUENT    ENABLED    SHA-256    eyJ2ZXJzaW9uIjoiMjAyMi0xMS0xMCIsInN0YXR1cyI6IkFWQUlMQUJMRSIsImdyYW50cyI6W3sicGVybWlzc2lvbiI6IkZVTExfQ09OVFJPTCIsInR5cGUiOiJDYW5vbmljYWxVc2VyIiwiY2Fub25pY2FsSWQiOiJFWEFNUExFNzY2ZThmNmIxMTVkOTNkNDFkZjJlYWM0MjBhYTRhNDY1ZDE3N2MxMzk4YmM2YTA4OGM3NmI3MDAwIn1dfQ==    EXAMPLE766e8f6b115d93d41df2eac420aa4a465d177c1398bc6a088c76b7001
amzn-s3-demo-bucket1    example-object-3    EXAMPLEDC8l.XJCENlF7LePaNIIvs003    TRUE        12500    2023-01-15T15:28:30.000Z    EXAMPLE21e1518b92f3d92773570f602    STANDARD    FALSE    REPLICA    SSE-KMS    2025-01-25T15:28:26.000Z    GOVERNANCE    On        ENABLED        eyJ2ZXJzaW9uIjoiMjAyMi0xMS0xMCIsInN0YXR1cyI6IkFWQUlMQUJMRSIsImdyYW50cyI6W3sicGVybWlzc2lvbiI6IkZVTExfQ09OVFJPTCIsInR5cGUiOiJDYW5vbmljYWxVc2VyIiwiY2Fub25pY2FsSWQiOiJFWEFNUExFNzY2ZThmNmIxMTVkOTNkNDFkZjJlYWM0MjBhYTRhNDY1ZDE3N2MxMzk4YmM2YTA4OGM3NmI3MDAwIn1dfQ==    EXAMPLE766e8f6b115d93d41df2eac420aa4a465d177c1398bc6a088c76b7002
amzn-s3-demo-bucket1    example-object-4    EXAMPLEDC8l.XJCENlF7LePaNIIvs004    TRUE        100    2021-02-15T15:28:27.000Z    EXAMPLE21e1518b92f3d92773570f603    STANDARD    FALSE    COMPLETED    SSE-KMS    2025-01-25T15:28:26.000Z    COMPLIANCE    Off        ENABLED        eyJ2ZXJzaW9uIjoiMjAyMi0xMS0xMCIsInN0YXR1cyI6IkFWQUlMQUJMRSIsImdyYW50cyI6W3sicGVybWlzc2lvbiI6IkZVTExfQ09OVFJPTCIsInR5cGUiOiJDYW5vbmljYWxVc2VyIiwiY2Fub25pY2FsSWQiOiJFWEFNUExFNzY2ZThmNmIxMTVkOTNkNDFkZjJlYWM0MjBhYTRhNDY1ZDE3N2MxMzk4YmM2YTA4OGM3NmI3MDAwIn1dfQ==    EXAMPLE766e8f6b115d93d41df2eac420aa4a465d177c1398bc6a088c76b7003
```

Wir empfehlen, eine Lebenszyklusrichtlinie einzurichten, die alte Bestandslisten löscht. Weitere Informationen finden Sie unter [Verwalten des Lebenszyklus von Objekten](object-lifecycle-mgmt.md).

Die `s3:PutInventoryConfiguration`-Berechtigung ermöglicht es einem Benutzer, beim Konfigurieren einer Bestandsliste sowohl alle Metadatenfelder auszuwählen, die zuvor für jedes Objekt aufgelistet wurden, als auch den Ziel-Bucket zum Speichern des Bestands anzugeben. Ein Benutzer mit Lesezugriff auf Objekte im Ziel-Bucket kann auf alle Objektmetadatenfelder zugreifen, die in der Bestandsliste verfügbar sind. Informationen zum Einschränken des Zugriffs auf Bestandsberichte finden Sie unter [Gewähren von Berechtigungen für S3 Inventory und S3 Analytics](example-bucket-policies.md#example-bucket-policies-s3-inventory-1).

### Bestandskonsistenz
<a name="storage-inventory-contents-consistency"></a>

Möglicherweise erscheinen nicht alle Ihre Objekte in jeder Bestandsliste. Die Bestandsliste bietet letztendliche Datenkonsistenz für `PUT`-Anforderungen (sowohl neuer als auch überschriebener Objekte) sowie für `DELETE`-Anforderungen. Jede Bestandsliste für einen Bucket ist ein Snapshot der Bucket-Elemente. Diese Listen sind letztendlich konsistent (das heißt, eine Liste enthält möglicherweise keine kürzlich hinzugefügten oder gelöschten Objekte). 

Um den Status eines Objekts zu überprüfen, bevor Sie eine Aktion dafür ausführen, empfehlen wir, eine `HeadObject`-REST-API-Anfrage zu stellen, um Metadaten für das Objekt abzurufen, oder die Objekteigenschaften in der Amazon S3-Konsole zu überprüfen. Sie können Objektmetadaten auch mit dem AWS CLI oder dem AWS SDKS überprüfen. Weitere Informationen finden Sie unter [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectHEAD.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectHEAD.html) in der *API-Referenz zu Amazon Simple Storage Service*.

Weitere Informationen zur Arbeit mit Amazon S3 Inventory finden Sie in den folgenden Themen.

**Topics**
+ [Quell- und Ziel-Buckets](#storage-inventory-buckets)
+ [Amazon-S3-Inventory-Liste](#storage-inventory-contents)
+ [Konfigurieren von Amazon S3 Inventory](configure-inventory.md)
+ [Lokalisieren Ihrer Bestandsliste](storage-inventory-location.md)
+ [Einrichten von Amazon-S3-Ereignis-Benachrichtigungen für den Bestandsabschluss](storage-inventory-notification.md)
+ [Abfragen von Amazon S3 Inventory mit Amazon Athena](storage-inventory-athena-query.md)
+ [Konvertieren leerer Versions-ID-Strings in Amazon-S3-Inventory-Berichten in Null-Zeichenfolgen](inventory-configure-bops.md)
+ [Arbeiten mit dem Feld „Objekt-ACL“](objectacl.md)

# Konfigurieren von Amazon S3 Inventory
<a name="configure-inventory"></a>

Amazon S3 Inventory stellt eine Flat-File-Liste Ihrer Objekte und Metadaten nach einem von Ihnen definierten Zeitplan bereit. Sie können S3 Inventory als geplante Alternative zur synchronen API-Operation `List` von Amazon S3 verwenden. S3 Inventory stellt Ausgabedateien im Format Comma-Separated Values (CSV), [Apache-Optimized Row Columnar (ORC)](https://orc.apache.org/) oder [https://parquet.apache.org/](https://parquet.apache.org/) bereit, in denen Ihre Objekte und die entsprechenden Metadaten aufgeführt werden. 

Sie können S3 Inventory so konfigurieren, dass täglich oder wöchentlich Bestandslisten für einen S3-Bucket oder für Objekte mit gemeinsamem Präfix (Objekte, deren Namen mit derselben Zeichenfolge beginnen) erstellt werden. Weitere Informationen finden Sie unter [Katalogisieren und Analysieren Ihrer Daten mit S3 Inventory](storage-inventory.md).

In diesem Abschnitt wird beschrieben, wie Sie einen Bestand, einschließlich Details über die Quell- und Ziel-Buckets des Bestands, einrichten.

**Topics**
+ [-Übersicht](#storage-inventory-setting-up)
+ [Erstellen einer Ziel-Bucket-Richtlinie](#configure-inventory-destination-bucket-policy)
+ [Erteilen der Berechtigung an Amazon S3 zur Verwendung Ihres vom Kunden verwalteten Schlüssels für die Verschlüsselung](#configure-inventory-kms-key-policy)
+ [Konfigurieren des Bestands mit der S3-Konsole](#configure-inventory-console)
+ [Verwendung der REST-API für die Arbeit mit S3 Inventory](#rest-api-inventory)

## -Übersicht
<a name="storage-inventory-setting-up"></a>

Amazon S3 Inventory hilft Ihnen, Ihren Speicher zu verwalten, indem nach einem definierten Zeitplan Listen der Objekte in einem S3-Bucket erstellt werden. Sie können mehrere Bestandslisten für einen Bucket konfigurieren. Die Bestandslisten werden in CSV-, ORC,- oder Parquet-Dateien in einem Ziel-Bucket veröffentlicht. 

Der einfachste Weg, ein Inventar einzurichten, ist die Verwendung der Amazon S3 S3-Konsole, aber Sie können auch die Amazon S3 S3-REST-API, AWS Command Line Interface (AWS CLI) oder verwenden AWS SDKs. Die Konsole führt den ersten Schritt des folgenden Verfahrens für Sie durch: Hinzufügen einer Bucket-Richtlinie zum Ziel-Bucket.

**So richten Sie Amazon S3 Inventory für einen S3-Bucket ein**

1. **Fügen Sie eine Bucket-Richtlinie für den Ziel-Bucket hinzu.**

   Sie müssen eine Bucket-Richtlinie für den Ziel-Bucket einrichten, der Amazon S3 die Berechtigung zu erteilt, Objekte in den Bucket an dem definierten Speicherort zu schreiben. Eine Beispielrichtlinie finden Sie unter [Gewähren von Berechtigungen für S3 Inventory und S3 Analytics](example-bucket-policies.md#example-bucket-policies-s3-inventory-1). 

1. **Konfigurieren Sie eine Bestandsliste, um die Objekte in einem Quell-Bucket aufzulisten und die Liste in einem Ziel-Bucket zu veröffentlichen.**

   Wenn Sie eine Bestandsliste für einen Quell-Bucket konfigurieren, geben Sie den Ziel-Bucket an, in dem die Liste gespeichert werden soll, und ob Sie möchten, dass die Liste täglich oder wöchentlich generiert werden soll. Sie können auch konfigurieren, ob alle Objektversionen oder nur die aktuellen Versionen aufgelistet werden sollen und welche Objektmetadaten enthalten sein sollen. 

   Einige Objektmetadatenfelder in S3-Inventory-Berichtskonfigurationen sind optional, was bedeutet, dass sie standardmäßig verfügbar sind, aber eingeschränkt werden können, wenn Sie einem Benutzer die `s3:PutInventoryConfiguration`-Berechtigung erteilen. Mithilfe des `s3:InventoryAccessibleOptionalFields`-Bedingungsschlüssels können Sie steuern, ob Benutzer diese optionalen Metadatenfelder in ihre Berichte aufnehmen können.

   Weitere Informationen zu den optionalen Metadatenfeldern, die in S3 Inventory verfügbar sind, finden Sie unter [https://docs.aws.amazon.com//AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html#API_PutBucketInventoryConfiguration_RequestBody](https://docs.aws.amazon.com//AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html#API_PutBucketInventoryConfiguration_RequestBody) in der *API-Referenz zum Amazon Simple Storage Service*. Weitere Informationen zum Einschränken des Zugriffs auf bestimmte optionale Metadatenfelder in einer Bestandskonfiguration finden Sie unter [Steuern der Erstellung der Konfiguration von S3-Inventory-Berichten](example-bucket-policies.md#example-bucket-policies-s3-inventory-2).

   Sie können angeben, dass die Inventarlistendatei mithilfe einer serverseitigen Verschlüsselung mit einem von Amazon S3 verwalteten Schlüssel (SSE-S3) oder einem () vom Kunden verwalteten Schlüssel AWS Key Management Service (SSE-KMS AWS KMS) verschlüsselt wird. 
**Anmerkung**  
 Von AWS verwalteter Schlüssel (`aws/s3`) wird für die SSE-KMS-Verschlüsselung mit S3 Inventory nicht unterstützt. 

   Weitere Informationen zu SSE-S3 und SSE-KMS finden Sie unter [Schützen von Daten mit serverseitiger Verschlüsselung](serv-side-encryption.md). Wenn Sie die SSE-KMS-Verschlüsselung verwenden möchten, siehe Schritt 3.
   + Informationen zur Verwendung der Konsole zum Konfigurieren einer Bestandsliste finden Sie unter [Konfigurieren des Bestands mit der S3-Konsole](#configure-inventory-console).
   + Um die Amazon S3 S3-API zur Konfiguration einer Inventarliste zu verwenden, verwenden Sie die [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTInventoryConfig.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTInventoryConfig.html)REST-API-Operation oder eine Entsprechung aus AWS CLI oder AWS SDKs. 

1. **Um die Bestandslisten-Datei mit SSE-KMS zu verschlüsseln, erteilen Sie Amazon S3 die Berechtigung, AWS KMS key zu verwenden.**

   Sie können die Verschlüsselung für die Inventarlistendatei mithilfe der Amazon S3 S3-Konsole, der Amazon S3 S3-REST-API AWS CLI, oder konfigurieren AWS SDKs. Unabhängig davon, welche Möglichkeit Sie wählen: Sie müssen Amazon S3 die Berechtigung gewähren, den vom Kunden verwalteten Schlüssel zum Verschlüsseln der Bestandsdatei zu verwenden. Sie [erteilen Amazon S3 die Berechtigung, indem Sie die Schlüsselrichtlinie für den kundenseitig verwalteten Schlüssel ändern](https://docs.aws.amazon.com/AmazonS3/latest/userguide/configure-inventory.html#configure-inventory-kms-key-policy), den Sie zur Verschlüsselung der Bestandsdatei verwenden möchten. Stellen Sie sicher, dass Sie einen KMS-Schlüssel-ARN in der S3-Bestandskonfiguration oder in den Verschlüsselungseinstellungen des Ziel-Buckets angegeben haben. Wenn kein KMS-Schlüssel-ARN angegeben wurde und die Standardverschlüsselungseinstellungen verwendet werden, können Sie nicht auf Ihren S3-Inventarbericht zugreifen.

   Der Ziel-Bucket, in dem die Bestandslistendatei gespeichert wird, kann zu einem anderen AWS-Konto  als zu dem Konto gehören, zu dem der Quell-Bucket gehört. Wenn Sie SSE-KMS-Verschlüsselung für die kontoübergreifenden Operationen von Amazon S3 Inventory verwenden, empfehlen wir, einen vollständig qualifizierten KMS-Schlüssel-ARN zu verwenden, wenn Sie S3 Inventory konfigurieren. Weitere Informationen finden Sie unter [Verwenden der SSE-KMS-Verschlüsselung für kontoübergreifende Vorgänge](bucket-encryption.md#bucket-encryption-update-bucket-policy) und unter [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ServerSideEncryptionByDefault.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ServerSideEncryptionByDefault.html) in der *API-Referenz für Amazon Simple Storage Service*.
**Anmerkung**  
Wenn Sie nicht auf Ihren S3-Bestandsbericht zugreifen können, verwenden Sie die [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html)-API und prüfen Sie, ob für den Ziel-Bucket die standardmäßige SSE-KMS-Verschlüsselung aktiviert ist. Wenn kein KMS-Schlüssel-ARN angegeben wurde und die Standardverschlüsselungseinstellungen verwendet werden, können Sie nicht auf Ihren S3-Inventarbericht zugreifen. Um wieder auf S3-Bestandsberichte zuzugreifen, geben Sie entweder einen KMS-Schlüssel-ARN in der S3-Bestandskonfiguration oder in den Verschlüsselungseinstellungen des Ziel-Buckets an.

## Erstellen einer Ziel-Bucket-Richtlinie
<a name="configure-inventory-destination-bucket-policy"></a>

Wenn Sie Ihre Bestandskonfiguration über die S3-Konsole erstellen, erstellt Amazon S3 automatisch eine Bucket-Richtlinie für den Ziel-Bucket, die ihm Amazon-S3-Schreibberechtigung gewährt. Wenn Sie Ihre Inventarkonfiguration jedoch über die AWS CLI AWS SDKs, oder die Amazon S3 S3-REST-API erstellen, müssen Sie dem Ziel-Bucket manuell eine Bucket-Richtlinie hinzufügen. Mit der Ziel-Bucket-Richtlinie für S3 Inventory kann Amazon S3 Daten für die Bestandsberichte in den Bucket schreiben. 

Hier finden Sie ein Beispiel für eine Bucket-Richtlinie. 

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

****  

```
{  
      "Version":"2012-10-17",		 	 	 
      "Statement": [
        {
            "Sid": "InventoryExamplePolicy",
            "Effect": "Allow",
            "Principal": {
                "Service": "s3.amazonaws.com"
            },
            "Action": "s3:PutObject",
            "Resource": [
                "arn:aws:s3:::DOC-EXAMPLE-DESTINATION-BUCKET/*"
            ],
            "Condition": {
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:s3:::DOC-EXAMPLE-SOURCE-BUCKET"
                },
                "StringEquals": {
                    "aws:SourceAccount": "source-123456789012",
                    "s3:x-amz-acl": "bucket-owner-full-control"
                }
            }
        }
    ]
}
```

------

Weitere Informationen finden Sie unter [Gewähren von Berechtigungen für S3 Inventory und S3 Analytics](example-bucket-policies.md#example-bucket-policies-s3-inventory-1).

Wenn beim Erstellen der Bucket-Richtlinie ein Problem auftritt, erhalten Sie Anweisungen zur Fehlerbehebung. Wenn Sie beispielsweise einen Ziel-Bucket in einem anderen auswählen AWS-Konto und nicht über Lese- und Schreibberechtigungen für die Bucket-Richtlinie verfügen, wird Ihnen eine Fehlermeldung angezeigt.

In diesem Fall muss der Eigentümer des Ziel-Buckets die Bucket-Richtlinie dem Ziel-Bucket hinzufügen. Wird die Richtlinie dem Ziel-Bucket nicht hinzugefügt, erhalten Sie keinen Bestandsbericht, da Amazon S3 nicht über die Berechtigung verfügt, in den Ziel-Bucket zu schreiben. Wenn der Quell-Bucket nicht dem Konto des aktuellen Benutzers gehört, muss die richtige Konto-ID des Quell-Bucket-Eigentümers in der Richtlinie ersetzt werden.

**Anmerkung**  
Stellen Sie sicher, dass keine Deny-Anweisungen zur Ziel-Bucket-Richtlinie hinzugefügt werden, die die Zustellung von Bestandsberichten in diesen Bucket verhindern würden. Weitere Informationen finden Sie unter [Warum kann ich keinen Amazon-S3-Bestandsbericht erstellen?](https://repost.aws/knowledge-center/s3-inventory-report).

## Erteilen der Berechtigung an Amazon S3 zur Verwendung Ihres vom Kunden verwalteten Schlüssels für die Verschlüsselung
<a name="configure-inventory-kms-key-policy"></a>

Um Amazon S3 die Erlaubnis zu erteilen, Ihren AWS Key Management Service (AWS KMS) vom Kunden verwalteten Schlüssel für die serverseitige Verschlüsselung zu verwenden, müssen Sie eine Schlüsselrichtlinie verwenden. Gehen Sie wie folgt vor, um Ihre Schlüsselrichtlinie zu aktualisieren, damit Sie einen vom Kunden verwalteten Schlüssel verwenden können.

**So gewähren Sie Amazon-S3-Berechtigungen zum Verschlüsseln mit Ihrem vom Kunden verwalteten Schlüssel**

1. Melden Sie AWS-Konto sich mit dem Schlüssel, der dem Kunden gehört, bei der AWS-Managementkonsole an.

1. Öffnen Sie die AWS KMS Konsole unter [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms).

1. Um das zu ändern AWS-Region, verwenden Sie die Regionsauswahl in der oberen rechten Ecke der Seite.

1. Klicken Sie im linken Navigationsbereich auf **Customer managed keys (Vom Kunden verwaltete Schlüssel)**.

1. Wählen Sie unter **Kundenverwaltete Schlüssel** den vom Kunden verwalteten Schlüssel aus, den Sie zum Verschlüsseln der Bestandsdateien verwenden möchten.

1. Wählen Sie im Abschnitt **Key policy (Schlüsselrichtlinie)** die Option **Switch to policy view (Zur Richtlinienansicht wechseln)** aus.

1. Um die Schlüsselrichtlinie zu aktualisieren, wählen Sie **Bearbeiten** aus.

1. Fügen Sie auf der Seite **Schlüsselrichtlinie bearbeiten** die folgenden Zeilen zu der vorhandenen Schlüsselrichtlinie hinzu. Geben Sie für `source-account-id` und `amzn-s3-demo-source-bucket` die entsprechenden Werte für Ihren Anwendungsfall an.

   ```
   {
       "Sid": "Allow Amazon S3 use of the customer managed key",
       "Effect": "Allow",
       "Principal": {
           "Service": "s3.amazonaws.com"
       },
       "Action": [
           "kms:GenerateDataKey"
       ],
       "Resource": "*",
       "Condition":{
         "StringEquals":{
            "aws:SourceAccount":"source-account-id"
        },
         "ArnLike":{
           "aws:SourceARN": "arn:aws:s3:::amzn-s3-demo-source-bucket"
        }
      }
   }
   ```

1. Wählen Sie **Änderungen speichern ** aus.

Weitere Informationen zum Erstellen von kundenverwalteten Schlüsseln in und zum Verwenden von Schlüsselrichtlinien finden Sie unter den folgenden Links im *AWS Key Management Service Benutzerhandbuch*:
+ [Verwalten von Schlüsseln](https://docs.aws.amazon.com/kms/latest/developerguide/getting-started.html)
+ [Die wichtigsten Richtlinien in AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)

**Anmerkung**  
Stellen Sie sicher, dass keine Deny-Anweisungen zur Ziel-Bucket-Richtlinie hinzugefügt werden, die die Zustellung von Bestandsberichten in diesen Bucket verhindern würden. Weitere Informationen finden Sie unter [Warum kann ich keinen Amazon-S3-Bestandsbericht erstellen?](https://repost.aws/knowledge-center/s3-inventory-report).

## Konfigurieren des Bestands mit der S3-Konsole
<a name="configure-inventory-console"></a>

Verwenden Sie diese Anweisungen, um den Bestand mit der S3-Konsole zu konfigurieren.
**Anmerkung**  
Es könnte bis zu 48 Stunden dauern, bis Amazon S3 den ersten Inventarbericht bereitstellt.

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 Amazon S3 Inventory konfigurieren möchten.

1. Wählen Sie den Tab **Management**.

1. Wählen Sie unter **Inventory configurations (Bestands-Konfigurationen)** die Option **Create inventory configuration (Bestands-Konfiguration erstellen)**.

1. Geben Sie unter **Name der Bestandskonfiguration** einen Namen ein.

1. Gehen Sie für **Umfang für den Bestand** wie folgt vor:
   + Geben Sie ein optionales Präfix ein.
   + Wählen Sie aus, welche Objektversionen eingeschlossen werden sollen: **Nur aktuelle Versionen** oder **Alle Versionen einschließen**.

1. Wählen Sie unter **Berichtsdetails** den Speicherort des AWS-Konto aus, in dem Sie die Berichte speichern möchten: **Dieses Konto** oder **ein anderes Konto**.

1. Wählen Sie unter **Destination (Ziel)** den Ziel-Bucket aus, in dem die Bestandsberichte gespeichert werden sollen.

   Der Ziel-Bucket muss sich im selben Bucket befinden AWS-Region wie der Bucket, für den Sie das Inventar einrichten. Der Ziel-Bucket kann sich in einem anderem AWS-Konto befinden. Beim Festlegen des Ziel-Buckets können Sie auch ein optionales Präfix angeben, um Ihre Bestandsberichte zu gruppieren. 

   Unter dem Bucket-Feld **Destination (Ziel)** sehen Sie die Anweisung **Ziel-Bucket-Berechtigung**, die der Ziel-Bucket-Richtlinie hinzugefügt wird, damit Amazon S3 Daten in diesen Bucket platzieren kann. Weitere Informationen finden Sie unter [Erstellen einer Ziel-Bucket-Richtlinie](#configure-inventory-destination-bucket-policy).

1. Wählen Sie unter **Häufigkeit** aus, wie oft der Bericht erstellt wird: **Täglich** oder **Wöchentlich**.

1. Wählen Sie als **Ausgabeformat** eines der folgenden Formate für den Bericht aus:
   + **CSV** – Wenn Sie diesen Bestandsbericht mit S3-Batchoperationen verwenden oder in einem anderen Tool wie Microsoft Excel analysieren möchten, wählen Sie **CSV** aus.
   + **Apache ORC**
   + **Apache Parquet**

1. Wählen Sie unter **Status** die Option **Enable (Aktivieren)** oder **Disable (Deaktivieren)** aus.

1. Führen Sie unter **Verschlüsselung des Bestandsberichts** die folgenden Schritte aus, um die serverseitige Verschlüsselung zu konfigurieren:

   1. Wählen Sie unter **Serverseitige Verschlüsselung** entweder die Option **Keinen Verschlüsselungsschlüssel angeben** oder **Verschlüsselungsschlüssel angeben** für die Datenverschlüsselung aus.
      + Um die Bucket-Einstellungen für die serverseitige Standardverschlüsselung von Objekten beizubehalten, wenn sie in Amazon S3 gespeichert werden, wählen Sie **Keinen Verschlüsselungsschlüssel angeben** aus. Solange S3-Bucket-Schlüssel für den Ziel-Bucket aktiviert sind, wendet der Kopiervorgang S3-Bucket-Schlüssel auf den Ziel-Bucket an.
**Anmerkung**  
Wenn die Bucket-Richtlinie für das angegebene Ziel vorschreibt, dass Objekte verschlüsselt werden müssen, bevor sie in Amazon S3 gespeichert werden, müssen Sie **Verschlüsselungsschlüssel angeben** auswählen. Andernfalls schlägt das Kopieren von Objekten in das Ziel fehl.
      + Um Objekte zu verschlüsseln, bevor sie in Amazon S3 gespeichert werden, wählen Sie **Verschlüsselungsschlüssel angeben** aus.

   1. Bei Auswahl von **Verschlüsselungsschlüssel angeben** müssen Sie unter **Verschlüsselungstyp** entweder **Von Amazon S3 verwalteter Schlüssel (SSE-S3)** oder **AWS Key Management Service -Schlüssel (SSE-KMS)** auswählen.

      SSE-S3 verwendet für die Verschlüsselung der einzelnen Objekte eine der stärksten Blockverschlüsselungen: 256-bit Advanced Encryption Standard (AES-256). Mit SSE-KMS erhalten Sie mehr Kontrolle über Ihren Schlüssel. Weitere Informationen zu SSE-S3 finden Sie unter [Verwenden serverseitiger Verschlüsselung mit von Amazon S3 verwalteten Schlüsseln (SSE-S3)](UsingServerSideEncryption.md). Weitere Informationen zu SSE-KMS finden Sie unter [Verwenden der serverseitigen Verschlüsselung mit AWS KMS Schlüsseln (SSE-KMS)](UsingKMSEncryption.md).
**Anmerkung**  
Um die Bestandslisten-Datei mit SSE-KMS zu verschlüsseln, müssen Sie Amazon S3 die Berechtigung erteilen, den vom Kunden verwalteten Schlüssel zu verwenden. Anleitungen finden Sie unter [Erteilen einer Amazon S3-Berechtigung zur Verschlüsselung mit Ihren KMS-Schlüsseln](#configure-inventory-kms-key-policy).

   1. Wenn Sie unter **AWS Key Management Service Schlüssel (SSE-KMS)** ausgewählt haben **AWS KMS key**, können Sie Ihren AWS KMS Schlüssel über eine der folgenden Optionen angeben.
**Anmerkung**  
Wenn der Ziel-Bucket, in dem die Inventarlistendatei gespeichert ist, einem anderen gehört AWS-Konto, stellen Sie sicher, dass Sie einen vollqualifizierten KMS-Schlüssel-ARN verwenden, um Ihren KMS-Schlüssel anzugeben.
      + Um aus einer Liste verfügbarer KMS-Schlüssel auszuwählen, wählen Sie **Wählen Sie aus Ihren AWS KMS Schlüsseln** und wählen Sie einen KMS-Schlüssel mit symmetrischer Verschlüsselung aus der Liste der verfügbaren Schlüssel aus. Stellen Sie sicher, dass sich der KMS-Schlüssel in derselben Region wie Ihr Bucket befindet. 
**Anmerkung**  
Sowohl der Von AWS verwalteter Schlüssel (`aws/s3`) als auch Ihr vom Kunden verwalteter Schlüssel werden in der Liste angezeigt. Von AWS verwalteter Schlüssel (`aws/s3`) wird jedoch nicht für die SSE-KMS-Verschlüsselung mit S3 Inventory unterstützt. 
      + Um den KMS-Schlüssel-ARN einzugeben, wählen **Sie Enter AWS KMS key ARN** und geben Sie Ihren KMS-Schlüssel-ARN in das angezeigte Feld ein.
      + Um einen neuen vom Kunden verwalteten Schlüssel in der AWS KMS Konsole zu **erstellen, wählen Sie Create a KMS Key** aus.

1. Wählen Sie für **Zusätzliche Metadatenfelder** eine oder mehrere der folgenden Optionen für das Hinzufügen zum Bestandsbericht aus:
   + **Größe** – Die Objektgröße in Byte, ohne die Größe von unvollständigen mehrteiligen Uploads, Objektmetadaten und Löschmarkierungen.
   + **Last modified date (Letztes Änderungsdatum)** – Datum der Erstellung oder der letzten Änderung des Objekts, je nachdem, welches neuer ist.
   +  **Multipart upload (Mehrteiliger Upload)** – Gibt an, dass das Objekt als mehrteiliger Upload hochgeladen wurde. Weitere Informationen finden Sie unter [Hochladen und Kopieren von Objekten mit mehrteiligen Uploads in Amazon S3](mpuoverview.md).
   + **Replication status (Replikationsstatus)** – Der Replikationsstatus des Objekts. Weitere Informationen finden Sie unter [Abrufen von Replikationsstatusinformationen](replication-status.md).
   + **Encryption status (Verschlüsselungsstatus)** – Der serverseitige Verschlüsselungstyp, der für die Verschlüsselung des Objekts verwendet wird. Weitere Informationen finden Sie unter [Schützen von Daten mit serverseitiger Verschlüsselung](serv-side-encryption.md).
   + **Bucket-Schlüsselstatus** — Gibt an, ob ein von generierter Schlüssel auf Bucket-Ebene für das Objekt AWS KMS gilt. Weitere Informationen finden Sie unter [Reduzieren des Preises von SSE-KMS mit Amazon-S3-Bucket-Schlüsseln](bucket-key.md).
   + **Objektzugriffskontrollliste** — Eine Zugriffskontrollliste (ACL) für jedes Objekt, die definiert, welchen AWS-Konten oder welchen Gruppen Zugriff auf dieses Objekt gewährt wird und welche Art von Zugriff gewährt wird. Weitere Hinweise zu diesem Feld finden Sie unter [Arbeiten mit dem Feld „Objekt-ACL“](objectacl.md). Weitere Hinweise zu finden ACLs Sie unter[Zugriffskontrolllisten (ACL) – Übersicht](acl-overview.md). 
   + **Object owner (Besitzer des Objekts)** – Der Besitzer des Objekts.
   + **Storage class (Speicherklasse)** – Die für die Speicherung des Objekts verwendete Speicherklasse. 
   + **Intelligent-Tiering: Access tier (Zugriffsebene)** – Zugriffsebene (häufig oder selten) des Objekts, wenn es im S3-Intelligent-Tiering-Speicher gespeichert wurde. Weitere Informationen finden Sie unter [Speicherklasse zur automatischen Optimierung von Daten mit sich ändernden oder unbekannten Zugriffsmustern](storage-class-intro.md#sc-dynamic-data-access).
   + **ETag**— Das Entity-Tag (ETag) ist ein Hash des Objekts. Das ETag spiegelt nur Änderungen am Inhalt eines Objekts wider, nicht an seinen Metadaten. Dies ETag kann eine MD5 Zusammenfassung der Objektdaten sein oder auch nicht. Dies hängt davon ab, wie das Objekt erstellt und verschlüsselt wurde. Weitere Informationen finden Sie unter [https://docs.aws.amazon.com/AmazonS3/latest/API/API_Object.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_Object.html) in der *API-Referenz zu Amazon Simple Storage Service*.
   + **Prüfsummen-Algorithmus** – Gibt den Algorithmus an, mit dem die Prüfsumme für das Objekt erstellt wurde. Weitere Informationen finden Sie unter [Verwenden unterstützter Prüfsummenalgorithmen](checking-object-integrity-upload.md#using-additional-checksums).
   + **All Object lock configurations (Alle Objektsperre-Konfigurationen)** – Der Objektsperrenstatus des Objekts, einschließlich der folgenden Einstellungen: 
     + **Object Lock: Retention mode (Aufbewahrungsmodus der Objektsperre)** – Die auf das Objekt angewendete Schutzebene, entweder *Governance* oder *Compliance*.
     + **Object Lock: Retain until date (Beibehaltungsfrist für Objektsperre)** – Das Datum, bis zu dem das gesperrte Objekt nicht gelöscht werden kann.
     + **Object Lock: Legal hold status (Status der gesetzlichen Sperrfrist des Objekts)** – Der Status der gesetzlichen Sperrfrist des gesperrten Objekts. 

     Weitere Informationen zur S3-Objektsperre finden Sie unter [So funktioniert die S3-Objektsperre](object-lock.md#object-lock-overview).
   + **Ablaufdatum des Lebenszyklus** — Der Zeitstempel für den Ablauf des Lebenszyklus von Objekten in Ihrem Inventarbericht. Dieses Feld wird nur ausgefüllt, wenn das Objekt gemäß einer geltenden Lebenszyklusregel abgelaufen sein soll. In anderen Fällen ist das Feld leer. Weitere Informationen finden Sie unter [Ablauf von Objekten](lifecycle-expire-general-considerations.md).

   Weitere Informationen zum Inhalt eines Bestandsberichts finden Sie unter [Amazon-S3-Inventory-Liste](storage-inventory.md#storage-inventory-contents). 

   Weitere Informationen zum Einschränken des Zugriffs auf bestimmte optionale Metadatenfelder in einer Bestandskonfiguration finden Sie unter [Steuern der Erstellung der Konfiguration von S3-Inventory-Berichten](example-bucket-policies.md#example-bucket-policies-s3-inventory-2).

1. Wählen Sie **Erstellen** aus.

## Verwendung der REST-API für die Arbeit mit S3 Inventory
<a name="rest-api-inventory"></a>

Die folgenden sind die REST-Operationen, die Sie zur Arbeit mit Amazon S3 Inventory verwenden können.
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketDELETEInventoryConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketDELETEInventoryConfiguration.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketListInventoryConfigs.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketListInventoryConfigs.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTInventoryConfig.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTInventoryConfig.html) 

# Lokalisieren Ihrer Bestandsliste
<a name="storage-inventory-location"></a>

Wenn eine Bestandsliste veröffentlicht wird, werden die Manifestdateien am folgenden Standort im Ziel-Bucket veröffentlicht.

```
destination-prefix/amzn-s3-demo-source-bucket/config-ID/YYYY-MM-DDTHH-MMZ/manifest.json
 destination-prefix/amzn-s3-demo-source-bucket/config-ID/YYYY-MM-DDTHH-MMZ/manifest.checksum
 destination-prefix/amzn-s3-demo-source-bucket/config-ID/hive/dt=YYYY-MM-DD-HH-MM/symlink.txt
```
+ `destination-prefix` ist das Präfix des Objektschlüsselnamens, das optional in der Bestandskonfiguration festgelegt wird. Sie können dieses Präfix verwenden, um alle Bestandslisten-Dateien an einem gemeinsamen Standort im Ziel-Bucket zu gruppieren.
+ `amzn-s3-demo-source-bucket` ist der Quell-Bucket, für den die Bestandsliste erstellt wird. Der Quell-Bucket-Name wird hinzugefügt, um Kollisionen zu vermeiden, wenn mehrere Bestandsberichte von mehreren Quell-Buckets an denselben Ziel-Bucket gesendet werden.
+ `config-ID` wird hinzugefügt, um Kollisionen zu vermeiden, wenn mehrere Bestandsberichte vom selben Quell-Bucket an denselben Ziel-Bucket gesendet werden. Die `config-ID` kommt aus der Bestandsbericht-Konfiguration und ist der Name des Berichts, der bei der Einrichtung festgelegt wurde.
+ `YYYY-MM-DDTHH-MMZ` ist der Zeitstempel, der sich aus der Startzeit und dem Datum zusammensetzt, an dem die Bestandsberichtserstellung mit dem Scannen des Buckets beginnt, z. B. `2016-11-06T21-32Z`.
+ `manifest.json` ist die Manifestdatei. 
+ `manifest.checksum`ist der MD5 Hash des Inhalts der `manifest.json` Datei. 
+ `symlink.txt` ist die mit Apache Hive kompatible Manifest-Datei. 

Die Bestandslisten werden täglich oder wöchentlich am folgenden Standort im Ziel-Bucket veröffentlicht.

```
destination-prefix/amzn-s3-demo-source-bucket/config-ID/data/example-file-name.csv.gz
...
destination-prefix/amzn-s3-demo-source-bucket/config-ID/data/example-file-name-1.csv.gz
```
+ `destination-prefix` ist das Präfix des Objektschlüsselnamens, das optional in der Bestandskonfiguration festgelegt wird. Es kann verwendet werden, um alle Bestandslisten-Dateien an einem gemeinsamen Standort innerhalb des Ziel-Buckets zu gruppieren.
+ `amzn-s3-demo-source-bucket` ist der Quell-Bucket, für den die Bestandsliste erstellt wird. Der Quell-Bucket-Name wird hinzugefügt, um Kollisionen zu vermeiden, wenn mehrere Bestandsberichte von mehreren Quell-Buckets an denselben Ziel-Bucket gesendet werden.
+ `example-file-name``.csv.gz` ist eine der CSV-Bestandsdateien. ORC-Bestandsnamen enden mit der Dateinamenserweiterung `.orc` und Parquet-Bestandsnamen enden mit der Dateinamenserweiterung `.parquet`.

## Bestandsmanifest
<a name="storage-inventory-location-manifest"></a>

Die Manifest-Dateien `manifest.json` und `symlink.txt` beschreiben, wo sich die Bestandsdateien befinden. Wenn eine neue Bestandsliste geliefert wird, wird sie durch eine neue Reihe von Manifestdateien begleitet. Diese Dateien könnten sich gegenseitig überschreiben. In versionierungsfähigen Buckets erstellt Amazon S3 neue Versionen der Manifestdateien. 

Jedes in der `manifest.json`-Datei enthaltene Manifest bietet Metadaten und andere grundlegende Informationen zu einem Bestand. Diese Informationen beinhalten Folgendes:
+ Name des Quell-Buckets
+ Name des Ziel-Buckets
+ Bestandsversion
+ Erstellungszeitstempel im Epochen-Datumsformat, der aus der Startzeit und dem Datum besteht, an dem die Bestandberichtserstellung beginnt, den Bucket zu scannen
+ Format und Schema der Bestandsdateien
+ Liste der Bestandsdateien, die im Ziel-Bucket enthalten sind

Immer wenn eine `manifest.json` Datei geschrieben wird, wird sie von einer `manifest.checksum` Datei begleitet, die den MD5 Hash des `manifest.json` Dateiinhalts darstellt.

**Example Bestandsmanifest in einer `manifest.json`-Datei**  
Die folgenden Beispiele zeigen ein Bestandsmanifest in einer `manifest.json`-Datei für CSV-, ORC- und Parquet-formatierte Bestände.  
Nachfolgend finden Sie ein Beispiel eines Manifests in einer `manifest.json`-Datei für einen CSV-formatierten Bestand.  

```
{
    "sourceBucket": "amzn-s3-demo-source-bucket",
    "destinationBucket": "arn:aws:s3:::example-inventory-destination-bucket",
    "version": "2016-11-30",
    "creationTimestamp" : "1514944800000",
    "fileFormat": "CSV",
    "fileSchema": "Bucket, Key, VersionId, IsLatest, IsDeleteMarker, Size, LastModifiedDate, ETag, StorageClass, IsMultipartUploaded, ReplicationStatus, EncryptionStatus, ObjectLockRetainUntilDate, ObjectLockMode, ObjectLockLegalHoldStatus, IntelligentTieringAccessTier, BucketKeyStatus, ChecksumAlgorithm, ObjectAccessControlList, ObjectOwner",
    "files": [
        {
            "key": "Inventory/amzn-s3-demo-source-bucket/2016-11-06T21-32Z/files/939c6d46-85a9-4ba8-87bd-9db705a579ce.csv.gz",
            "size": 2147483647,
            "MD5checksum": "f11166069f1990abeb9c97ace9cdfabc"
        }
    ]
}
```
Nachfolgend finden Sie ein Beispiel eines Manifests in einer `manifest.json`-Datei für einen ORC-formatierten Bestand.  

```
{
    "sourceBucket": "amzn-s3-demo-source-bucket",
    "destinationBucket": "arn:aws:s3:::example-destination-bucket",
    "version": "2016-11-30",
    "creationTimestamp" : "1514944800000",
    "fileFormat": "ORC",
    "fileSchema": "struct<bucket:string,key:string,version_id:string,is_latest:boolean,is_delete_marker:boolean,size:bigint,last_modified_date:timestamp,e_tag:string,storage_class:string,is_multipart_uploaded:boolean,replication_status:string,encryption_status:string,object_lock_retain_until_date:timestamp,object_lock_mode:string,object_lock_legal_hold_status:string,intelligent_tiering_access_tier:string,bucket_key_status:string,checksum_algorithm:string,object_access_control_list:string,object_owner:string>",
    "files": [
        {
            "key": "inventory/amzn-s3-demo-source-bucket/data/d794c570-95bb-4271-9128-26023c8b4900.orc",
            "size": 56291,
            "MD5checksum": "5925f4e78e1695c2d020b9f6eexample"
        }
    ]
}
```
Nachfolgend finden Sie ein Beispiel eines Manifests in einer `manifest.json`-Datei für einen Parquet-formatierten Bestand.  

```
{
    "sourceBucket": "amzn-s3-demo-source-bucket",
    "destinationBucket": "arn:aws:s3:::example-destination-bucket",
    "version": "2016-11-30",
    "creationTimestamp" : "1514944800000",
    "fileFormat": "Parquet",
    "fileSchema": "message s3.inventory { required binary bucket (UTF8); required binary key (UTF8); optional binary version_id (UTF8); optional boolean is_latest; optional boolean is_delete_marker; optional int64 size; optional int64 last_modified_date (TIMESTAMP_MILLIS); optional binary e_tag (UTF8); optional binary storage_class (UTF8); optional boolean is_multipart_uploaded; optional binary replication_status (UTF8); optional binary encryption_status (UTF8); optional int64 object_lock_retain_until_date (TIMESTAMP_MILLIS); optional binary object_lock_mode (UTF8); optional binary object_lock_legal_hold_status (UTF8); optional binary intelligent_tiering_access_tier (UTF8); optional binary bucket_key_status (UTF8); optional binary checksum_algorithm (UTF8); optional binary object_access_control_list (UTF8); optional binary object_owner (UTF8);}",
    "files": [
        {
           "key": "inventory/amzn-s3-demo-source-bucket/data/d754c470-85bb-4255-9218-47023c8b4910.parquet",
            "size": 56291,
            "MD5checksum": "5825f2e18e1695c2d030b9f6eexample"
        }
    ]
}
```
Die `symlink.txt`-Datei ist eine mit Apache Hive kompatible Manifest-Datei, mit der Bestandsdateien und die zugehörigen Datendateien automatisch entdecken kann. Das Hive-kompatible Manifest funktioniert mit den Hive-kompatiblen Services Athena und Amazon Redshift Spectrum. Es funktioniert auch mit Hive-kompatiblen Anwendungen, einschließlich [https://prestodb.io/](https://prestodb.io/), [https://hive.apache.org/](https://hive.apache.org/), [https://databricks.com/spark/about/](https://databricks.com/spark/about/)und vielen anderen.  
Die mit Apache Hive kompatible Manifest-Datei `symlink.txt` funktioniert derzeit nicht mit  AWS Glue.  
Das Lesen der Datei `symlink.txt` mit [https://hive.apache.org/](https://hive.apache.org/) und [https://databricks.com/spark/about/](https://databricks.com/spark/about/) wird für ORC- und Parquet-formatierte Bestandsdateien nicht unterstützt. 

# Einrichten von Amazon-S3-Ereignis-Benachrichtigungen für den Bestandsabschluss
<a name="storage-inventory-notification"></a>

Sie können eine Amazon S3-Ereignis-Benachrichtigung einrichten, um informiert zu werden, wenn die Prüfsummendatei für das Manifest erstellt wird, woran zu erkennen ist, dass dem Ziel-Bucket eine Bestandsliste hinzugefügt wurde. Das Manifest ist eine up-to-date Liste aller Inventarlisten am Zielort.

Amazon S3 kann Ereignisse in einem Amazon-Simple-Notification-Service-Thema (Amazon SNS), einer Amazon-Simple-Queue-Service-Warteschlange (Amazon SQS) oder einer AWS Lambda -Funktion veröffentlichen. Weitere Informationen finden Sie unter [Amazon-S3-Ereignisbenachrichtigungen](EventNotifications.md).

Die folgende Benachrichtigungskonfiguration definiert, dass alle `manifest.checksum`-Dateien, die dem Ziel-Bucket hinzugefügt werden, von der AWS Lambda `cloud-function-list-write`. verarbeitet werden.

```
<NotificationConfiguration>
  <QueueConfiguration>
      <Id>1</Id>
      <Filter>
          <S3Key>
              <FilterRule>
                  <Name>prefix</Name>
                  <Value>destination-prefix/source-bucket</Value>
              </FilterRule>
              <FilterRule>
                  <Name>suffix</Name>
                  <Value>checksum</Value>
              </FilterRule>
          </S3Key>
     </Filter>
     <CloudFunction>arn:aws:lambda:us-west-2:222233334444:cloud-function-list-write</CloudFunction>
     <Event>s3:ObjectCreated:*</Event>
  </QueueConfiguration>
  </NotificationConfiguration>
```

Weitere Informationen finden Sie unter [Using AWS Lambda with Amazon S3](https://docs.aws.amazon.com/lambda/latest/dg/with-s3.html) im *AWS Lambda Developer Guide*.

# Abfragen von Amazon S3 Inventory mit Amazon Athena
<a name="storage-inventory-athena-query"></a>

Sie können Dateien aus Amazon S3 Inventory mit Standard-SQL-Abfragen abfragen, indem Sie Amazon Athena in allen Regionen verwenden, in denen Athena verfügbar ist. Informationen zur AWS-Region Verfügbarkeit finden Sie in der [AWS-Region Tabelle](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). 

Athena kann Amazon-S3-Inventory-Dateien in Format [Apache-ORC-Spalten (Optimized Row Columnar)](https://orc.apache.org/), [https://parquet.apache.org/](https://parquet.apache.org/) oder CSV (durch Komma getrennte Werte) abfragen. Wenn Sie Athena für die Abfrage der Bestandsdateien verwenden, empfehlen wir, dass Sie ORC- oder Parquet-formatierte Bestandsdateien verwenden. Die Formate ORC und Parquet bieten eine schnellere Abfrageleistung und niedrigere Abfragekosten. ORC und Parquet sind selbstbeschreibende, typerkennende und spaltenbasierte Datenformate, die für [http://hadoop.apache.org/](http://hadoop.apache.org/) entwickelt wurden. Das spaltenbasierte Format lässt den Leser nur die Spalten lesen, entpacken und verarbeiten, die für die aktuelle Abfrage benötigt werden. Das ORC und die Parquet Formate für Amazon S3 Inventory sind in allen AWS-Regionen verfügbar.

**So fragen Sie Amazon-S3-Inventory-Dateien mit Athena ab**

1. Erstellen Sie eine Athena-Tabelle. Informationen zum Erstellen einer Tabelle finden Sie unter [Erstellen von Tabellen in Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/creating-tables.html) im *Amazon Athena-Benutzerhandbuch*.

1. Erstellen Sie Ihre Abfrage mithilfe einer der folgenden Beispielabfragevorlagen, je nachdem, ob Sie einen ORC-formatierten, einen Parquet-formatierten oder einen CSV-formatierten Bestandsbericht abfragen. 
   + Bei Verwendung von Athena für die Abfrage eines ORC-formatierten Bestandsberichts verwenden Sie die folgende Beispielabfrage als Vorlage.

     Die folgende Beispielabfrage umfasst alle optionalen Felder in einem nach ORC formatierten Bestandsbericht. 

     Gehen Sie wie folgt vor, um diese Beispielabfrage zu verwenden: 
     + Ersetzen Sie `your_table_name` durch den Namen der Athena-Tabelle, die Sie erstellt haben.
     + Entfernen Sie alle optionalen Felder, die Sie für Ihren Bestand nicht ausgewählt haben, sodass die Abfrage den für Ihren Bestand gewählten Feldern entspricht.
     + Ersetzen Sie den folgenden Bucket-Namen und den Bestandsort (die Konfigurations-ID) entsprechend Ihrer Konfiguration.

       `s3://amzn-s3-demo-bucket/config-ID/hive/`
     + Ersetzen Sie das Datum `2022-01-01-00-00` unter `projection.dt.range` mit dem ersten Tag des Zeitbereichs, innerhalb dessen Sie die Daten in Athena partitionieren. Weitere Informationen finden Sie unter [Partitionieren von Daten in Athena](https://docs.aws.amazon.com/athena/latest/ug/partitions.html).

     ```
     CREATE EXTERNAL TABLE your_table_name (
              bucket string,
              key string,
              version_id string,
              is_latest boolean,
              is_delete_marker boolean,
              size bigint,
              last_modified_date timestamp,
              e_tag string,
              storage_class string,
              is_multipart_uploaded boolean,
              replication_status string,
              encryption_status string,
              object_lock_retain_until_date bigint,
              object_lock_mode string,
              object_lock_legal_hold_status string,
              intelligent_tiering_access_tier string,
              bucket_key_status string,
              checksum_algorithm string,
              object_access_control_list string,
              object_owner string,
              lifecycle_expiration_date timestamp
     ) PARTITIONED BY (
             dt string
     )
     ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.orc.OrcSerde'
       STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.SymlinkTextInputFormat'
       OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat'
       LOCATION 's3://amzn-s3-demo-bucket/config-ID/hive/'
       TBLPROPERTIES (
         "projection.enabled" = "true",
         "projection.dt.type" = "date",
         "projection.dt.format" = "yyyy-MM-dd-HH-mm",
         "projection.dt.range" = "2022-01-01-00-00,NOW",
         "projection.dt.interval" = "1",
         "projection.dt.interval.unit" = "HOURS"
       );
     ```
   + Wenn Sie Athena verwenden, um einen Parquet-formatierter Bestandsbericht abzufragen, verwenden Sie die Beispielabfrage für einen Bericht im ORC-Format. Verwenden Sie Parquet SerDe in der Erklärung jedoch Folgendes anstelle von ORC SerDe . `ROW FORMAT SERDE`

     ```
     ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe'
     ```
   + Bei Verwendung von Athena für die Abfrage eines CSV-formatierten Bestandsberichts verwenden Sie die folgende Beispielabfrage als Vorlage.

     Die folgende Beispielabfrage umfasst alle optionalen Felder in einem nach CSV formatierten Bestandsbericht. 

     Gehen Sie wie folgt vor, um diese Beispielabfrage zu verwenden: 
     + Ersetzen Sie `your_table_name` durch den Namen der Athena-Tabelle, die Sie erstellt haben.
     + Entfernen Sie alle optionalen Felder, die Sie für Ihren Bestand nicht ausgewählt haben, sodass die Abfrage den für Ihren Bestand gewählten Feldern entspricht.
     + Ersetzen Sie den folgenden Bucket-Namen und den Bestandsort (die Konfigurations-ID) entsprechend Ihrer Konfiguration. 

       `s3://amzn-s3-demo-bucket/config-ID/hive/`
     + Ersetzen Sie das Datum `2022-01-01-00-00` unter `projection.dt.range` mit dem ersten Tag des Zeitbereichs, innerhalb dessen Sie die Daten in Athena partitionieren. Weitere Informationen finden Sie unter [Partitionieren von Daten in Athena](https://docs.aws.amazon.com/athena/latest/ug/partitions.html).

     ```
     CREATE EXTERNAL TABLE your_table_name (
              bucket string,
              key string,
              version_id string,
              is_latest boolean,
              is_delete_marker boolean,
              size string,
              last_modified_date string,
              e_tag string,
              storage_class string,
              is_multipart_uploaded boolean,
              replication_status string,
              encryption_status string,
              object_lock_retain_until_date string,
              object_lock_mode string,
              object_lock_legal_hold_status string,
              intelligent_tiering_access_tier string,
              bucket_key_status string,
              checksum_algorithm string,
              object_access_control_list string,
              object_owner string,
              lifecycle_expiration_date string
     ) PARTITIONED BY (
             dt string
     )
     ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
       STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.SymlinkTextInputFormat'
       OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat'
       LOCATION 's3://amzn-s3-demo-bucket/config-ID/hive/'
       TBLPROPERTIES (
         "projection.enabled" = "true",
         "projection.dt.type" = "date",
         "projection.dt.format" = "yyyy-MM-dd-HH-mm",
         "projection.dt.range" = "2022-01-01-00-00,NOW",
         "projection.dt.interval" = "1",
         "projection.dt.interval.unit" = "HOURS"
       );
     ```

1. Sie können jetzt verschiedene Bestandsabfragen ausführen, wie in den folgenden Beispielen gezeigt. Ersetzen Sie jeden `user input placeholder` durch Ihre Informationen.

   ```
   # Get a list of the latest inventory report dates available.
   SELECT DISTINCT dt FROM your_table_name ORDER BY 1 DESC limit 10;
             
   # Get the encryption status for a provided report date.
   SELECT encryption_status, count(*) FROM your_table_name WHERE dt = 'YYYY-MM-DD-HH-MM' GROUP BY encryption_status;
             
   # Get the encryption status for inventory report dates in the provided range.
   SELECT dt, encryption_status, count(*) FROM your_table_name 
   WHERE dt > 'YYYY-MM-DD-HH-MM' AND dt < 'YYYY-MM-DD-HH-MM' GROUP BY dt, encryption_status;
   ```

   Wenn Sie S3 Inventory so konfigurieren, dass das Feld „Objekt-Zugriffssteuerungsliste (ACL)“ zu einem Bestandsbericht hinzugefügt wird, zeigt der Bericht den Wert für das Feld „Objekt-ACL“ als Base64-codierte Zeichenfolge an. Um für das Feld „Objekt-ACL“ den dekodierten Wert in JSON abzurufen, können Sie dieses Feld mit Athena abfragen. Sehen Sie sich die folgenden Abfragebeispiele an. Weitere Informationen zum Feld „Objekt-ACL“ erhalten Sie unter [Arbeiten mit dem Feld „Objekt-ACL“](objectacl.md).

   ```
   # Get the S3 keys that have Object ACL grants with public access.
   WITH grants AS (
       SELECT key,
           CAST(
               json_extract(from_utf8(from_base64(object_access_control_list)), '$.grants') AS ARRAY(MAP(VARCHAR, VARCHAR))
           ) AS grants_array
       FROM your_table_name
   )
   SELECT key,
          grants_array,
          grant
   FROM grants, UNNEST(grants_array) AS t(grant)
   WHERE element_at(grant, 'uri') = 'http://acs.amazonaws.com/groups/global/AllUsers'
   ```

   ```
   # Get the S3 keys that have Object ACL grantees in addition to the object owner.
   WITH grants AS 
       (SELECT key,
       from_utf8(from_base64(object_access_control_list)) AS object_access_control_list,
            object_owner,
            CAST(json_extract(from_utf8(from_base64(object_access_control_list)),
            '$.grants') AS ARRAY(MAP(VARCHAR, VARCHAR))) AS grants_array
       FROM your_table_name)
   SELECT key,
          grant,
          objectowner
   FROM grants, UNNEST(grants_array) AS t(grant)
   WHERE cardinality(grants_array) > 1 AND element_at(grant, 'canonicalId') != object_owner;
   ```

   ```
   # Get the S3 keys with READ permission that is granted in the Object ACL. 
   WITH grants AS (
       SELECT key,
           CAST(
               json_extract(from_utf8(from_base64(object_access_control_list)), '$.grants') AS ARRAY(MAP(VARCHAR, VARCHAR))
           ) AS grants_array
       FROM your_table_name
   )
   SELECT key,
          grants_array,
          grant
   FROM grants, UNNEST(grants_array) AS t(grant)
   WHERE element_at(grant, 'permission') = 'READ';
   ```

   ```
   # Get the S3 keys that have Object ACL grants to a specific canonical user ID.
   WITH grants AS (
       SELECT key,
           CAST(
               json_extract(from_utf8(from_base64(object_access_control_list)), '$.grants') AS ARRAY(MAP(VARCHAR, VARCHAR))
           ) AS grants_array
       FROM your_table_name
   )
   SELECT key,
          grants_array,
          grant
   FROM grants, UNNEST(grants_array) AS t(grant)
   WHERE element_at(grant, 'canonicalId') = 'user-canonical-id';
   ```

   ```
   # Get the number of grantees on the Object ACL.
   SELECT key,
          object_access_control_list,
          json_array_length(json_extract(object_access_control_list,'$.grants')) AS grants_count
   FROM your_table_name;
   ```

Weitere Informationen zur Verwendung von Athena finden Sie im [Amazon Athena-Benutzerhandbuch](https://docs.aws.amazon.com/athena/latest/ug/).

# Konvertieren leerer Versions-ID-Strings in Amazon-S3-Inventory-Berichten in Null-Zeichenfolgen
<a name="inventory-configure-bops"></a>

**Anmerkung**  
**Das folgende Verfahren gilt nur für Amazon S3-Lagerbestandsberichte, die alle Versionen enthalten, und nur, wenn die Berichte „Alle Versionen“ als Manifeste für S3-Batch-Operationen bei Buckets verwendet werden, bei denen S3-Versionierung aktiviert ist.** Sie müssen keine Zeichenfolgen für S3-Inventory-Berichte konvertieren, die nur die aktuelle Version angeben.

Sie können S3-Inventory-Berichte als Manifeste für S3-Batchvorgänge verwenden. Wenn jedoch die S3-Versionsverwaltung für einen Bucket aktiviert ist, markieren S3-Inventory-Berichte, die alle Versionen enthalten, alle nullversionierten Objekte mit leeren Zeichenfolgen im Versions-ID-Feld. Wenn ein Inventarbericht alle Objektversionen enthält IDs, erkennt Batch Operations `null` Zeichenfolgen als Version IDs, aber keine leeren Zeichenfolgen. 

Wenn ein S3-Batchvorgangauftrag einen S3-Inventory-Bericht „alle Versionen“ als Manifest verwendet, schlägt er alle Aufgaben für Objekte fehl, die eine leere Zeichenfolge im Feld Versions-ID haben. Gehen Sie wie folgt vor, um leere Zeichenfolgen im Versions-ID-Feld des S3-Inventory-Berichts in `null`-Zeichenfolgen für Batchvorgänge zu konvertieren.

**Aktualisieren eines Amazon-S3-Inventory-Berichts zur Verwendung mit Batchvorgängen**

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. Navigieren Sie zu Ihrem S3-Inventory-Bericht. Der Inventory-Bericht befindet sich im Ziel-Bucket, den Sie beim Konfigurieren Ihres Inventory-Berichts angegeben haben. Weitere Informationen zum Auffinden von Inventory-Berichten finden Sie unter [Lokalisieren Ihrer Bestandsliste](storage-inventory-location.md).

   1. Wählen Sie den Ziel-Bucket aus.

   1. Wählen Sie den Ordner aus. Der Ordner ist nach dem ursprünglichen Quell-Bucket benannt.

   1. Wählen Sie den nach der Inventory-Konfiguration benannten Ordner aus.

   1. Aktivieren Sie das Kontrollkästchen neben dem Ordner namens **Hive** aus. Wählen Sie oben auf der Seite **S3-URI kopieren** aus, um den S3-URI für den Ordner zu kopieren.

1. Öffnen Sie die Amazon Athena Athena-Konsole unter [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home). 

1. Wählen Sie im Abfrage-Editor **Einstellungen** und anschließend **Verwalten** aus. Wählen Sie auf der Seite **Einstellungen verwalten** für **Standort des Abfrageergebnisses** einen S3-Bucket aus, um Ihre Abfrageergebnisse zu speichern.

1. Erstellen Sie im Abfrage-Editor eine Athena-Tabelle, um die Daten mit dem folgenden Befehl im Inventory-Bericht zu speichern. Ersetzen Sie `table_name` durch einen Namen Ihrer Wahl, und fügen Sie in der `LOCATION`-Klausel den zuvor kopierten S3-URI ein. Wählen Sie dann **Ausführen** aus, um die Abfrage auszuführen.

   ```
   CREATE EXTERNAL TABLE table_name(bucket string, key string, version_id string) PARTITIONED BY (dt string)ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.SymlinkTextInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat' LOCATION 'Copied S3 URI';
   ```

1. Um den Abfrage-Editor zu löschen, wählen Sie **Löschen**. Laden Sie den Inventory-Bericht mit dem folgenden Befehl in die Tabelle. Ersetzen Sie `table_name` durch denjenigen, den Sie im vorherigen Schritt ausgewählt haben. Wählen Sie dann **Ausführen** aus, um die Abfrage auszuführen.

   ```
   MSCK REPAIR TABLE table_name;
   ```

1. Um den Abfrage-Editor zu löschen, wählen Sie **Löschen**. Führen Sie die folgende `SELECT` Abfrage aus, um alle Einträge im ursprünglichen Lagerbestandsbericht abzurufen und alle leeren Versionen IDs durch `null` Zeichenfolgen zu ersetzen. Ersetzen Sie `table_name` durch das zuvor gewählte, und ersetzen Sie `YYYY-MM-DD-HH-MM` in der `WHERE`-Klausel durch das Datum des Inventory-Berichts, auf dem dieses Tool ausgeführt werden soll. Wählen Sie dann **Ausführen** aus, um die Abfrage auszuführen.

   ```
   SELECT bucket as Bucket, key as Key, CASE WHEN version_id = '' THEN 'null' ELSE version_id END as VersionId FROM table_name WHERE dt = 'YYYY-MM-DD-HH-MM';
   ```

1. Kehren Sie zur Amazon S3 S3-Konsole ([https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)) zurück und navigieren Sie zu dem S3-Bucket, den Sie zuvor für **Speicherort des Abfrageergebnisses** ausgewählt haben. Im Inneren sollte es eine Reihe von Ordnern geben, die mit dem Datum enden.

   Sie sollten beispielsweise so etwas wie **s3://**amzn-s3-demo-bucket**/*query-result-location*/Unsaved/2021/10/07/** sehen. Sie sollten `.csv`-Dateien sehen, die die Ergebnisse der ausgeführten `SELECT`-Abfrage enthalten. 

   Wählen Sie die CSV-Datei mit dem letzten Änderungsdatum aus. Laden Sie diese Datei für den nächsten Schritt auf Ihren lokalen Computer herunter.

1. Die generierte CSV-Datei enthält eine Headerzeile. Um diese CSV-Datei als Eingabe für einen S3-Batchvorgangsauftrag zu verwenden, müssen Sie den Header entfernen, da der Batchvorgang keine Header auf CSV-Manifesten unterstützt. 

   Um den Header zu entfernen, können Sie einen der folgenden Befehle für die Datei ausführen. Ersetzen Sie *`file.csv`* durch den Namen von Ihrer CSV-Datei. 

   **Führen Sie auf macOS- und Linux-Computern** den `tail`-Befehl in einem Terminalfenster aus. 

   ```
   tail -n +2 file.csv > tmp.csv && mv tmp.csv file.csv 
   ```

   Führen **Sie für Windows-Computer das folgende Skript** in einem Windows-Fenster aus. PowerShell Ersetzen Sie `File-location` durch den Dateipfad und `file.csv` durch den Namen Ihrer Datei.

   ```
   $ins = New-Object System.IO.StreamReader File-location\file.csv
   $outs = New-Object System.IO.StreamWriter File-location\temp.csv
   try {
       $skip = 0
       while ( !$ins.EndOfStream ) {
           $line = $ins.ReadLine();
           if ( $skip -ne 0 ) {
               $outs.WriteLine($line);
           } else {
               $skip = 1
           }
       }
   } finally {
       $outs.Close();
       $ins.Close();
   }
   Move-Item File-location\temp.csv File-location\file.csv -Force
   ```

1. Nachdem Sie den Header aus der CSV-Datei entfernt haben, können Sie sie als Manifest in einem S3-Batchvorgangsauftrag verwenden. Laden Sie die CSV-Datei in einen S3-Bucket oder einen Speicherort Ihrer Wahl hoch und erstellen Sie dann einen Batchvorgang-Auftrag mit der CSV-Datei als Manifest.

   Weitere Informationen zum Erstellen eines S3-Batchvorgang-Auftrags finden Sie unter [Erstellen eines S3-Batch-Vorgangsauftrags](batch-ops-create-job.md).

# Arbeiten mit dem Feld „Objekt-ACL“
<a name="objectacl"></a>

Eine Amazon-S3-Inventory-Bericht enthält eine Liste der Objekte im S3-Quell-Bucket sowie die Metadaten für jedes Objekt. Das Feld „Objekt-Zugriffsteuerungsliste (ACL)“ ist ein Metadatenfeld, das in Amazon S3 Inventory verfügbar ist. Insbesondere enthält das Feld „Objekt-ACL“ die Zugriffsteuerungsliste für jedes Objekt. Die ACL für ein Objekt definiert, welchen AWS-Konten Gruppen Zugriff auf dieses Objekt gewährt wird und welche Art von Zugriff gewährt wird. Weitere Informationen erhalten Sie unter [Zugriffskontrolllisten (ACL) – Übersicht](acl-overview.md) und [Amazon-S3-Inventory-Liste](storage-inventory.md#storage-inventory-contents). 

 Das Feld „Objekt-ACL“ in Berichten von Amazon S3 Inventory ist im JSON-Format definiert. Die JSON-Daten enthalten die folgenden Felder: 
+ `version` – Die Version des Objekt-ACL-Feldformats in den Bestandsberichten. Das Datumsformat lautet `yyyy-mm-dd`. 
+ `status` – Mögliche Werte sind `AVAILABLE` oder `UNAVAILABLE`, um anzugeben, ob eine Objekt-ACL für ein Objekt verfügbar ist. Wenn der Status für die Objekt-ACL `UNAVAILABLE` lautet, lautet der Wert des Felds „Objekteigentümer“ im Bestandsbericht ebenfalls `UNAVAILABLE`.
+ `grants` – Berechtigung-Berechtigungsempfänger-Paare, die den Berechtigungsstatus jedes Berechtigungsempfängers auflisten, der von der Objekt-ACL gewährt wird. Die verfügbaren Werte für einen Berechtigungsempfänger sind `CanonicalUser` und `Group`. Weitere Informationen zu den Berechtigungsempfängern finden Sie unter [Berechtigungsempfänger in Zugriffssteuerungslisten](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#specifying-grantee).

  Für einen Berechtigungsempfänger des Typs `Group` umfasst ein Berechtigung-Berechtigungsempfänger-Paar die folgenden Attribute:
  + `uri` – Eine vordefinierte Amazon-S3-Gruppe.
  + `permission` – Die ACL-Berechtigungen, die für das Objekt erteilt wurden. Weitere Informationen finden Sie unter [ACL-Berechtigungen für ein Objekt](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#permissions).
  + `type` – Den Typ `Group`, was bedeutet, dass es sich bei dem Berechtigungsempfänger um eine Gruppe handelt.

  Für einen Berechtigungsempfänger des Typs `CanonicalUser` umfasst ein Berechtigung-Berechtigungsempfänger-Paar die folgenden Attribute:
  + `canonicalId` – Eine verschleierte Form der  AWS-Konto -ID. Die kanonische Benutzer-ID für ein AWS-Konto ist spezifisch für dieses Konto. Sie können die kanonische Benutzer-ID abrufen. Weitere Informationen finden Sie unter [Finden Sie die kanonische Benutzer-ID für Ihr AWS-Konto](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-identifiers.html#FindCanonicalId) im *AWS Account Management Reference Guide*.
  + `permission` – Die ACL-Berechtigungen, die für das Objekt erteilt wurden. Weitere Informationen finden Sie unter [ACL-Berechtigungen für ein Objekt](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#permissions).
  + `type`— Der Typ`CanonicalUser`, der angibt, dass es sich bei dem Stipendiaten um einen handelt. AWS-Konto

Das folgende Beispiel zeigt mögliche Werte für das Feld „Objekt-ACL“ im JSON-Format: 

```
{
    "version": "2022-11-10",
    "status": "AVAILABLE",
    "grants": [{
        "uri": "http://acs.amazonaws.com/groups/global/AllUsers",
        "permission": "READ",
        "type": "Group"
    }, {
        "canonicalId": "example-canonical-id",
        "permission": "FULL_CONTROL",
        "type": "CanonicalUser"
    }]
}
```

**Anmerkung**  
Das Feld „Objekt-ACL“ ist im JSON-Format definiert. In einem Bestandsbericht wird der Wert für das Feld „Objekt-ACL“ als Base64-codierte Zeichenfolge angezeigt.  
Angenommen, Sie haben das folgende Feld „Objekt-ACL“ im JSON-Format:  

```
{
        "version": "2022-11-10",
        "status": "AVAILABLE",
        "grants": [{
            "canonicalId": "example-canonical-user-ID",
            "type": "CanonicalUser",
            "permission": "READ"
        }]
}
```
Das Feld „Objekt-ACL“ ist codiert und wird als die folgende Base64-codierte Zeichenfolge angezeigt:  

```
eyJ2ZXJzaW9uIjoiMjAyMi0xMS0xMCIsInN0YXR1cyI6IkFWQUlMQUJMRSIsImdyYW50cyI6W3siY2Fub25pY2FsSWQiOiJleGFtcGxlLWNhbm9uaWNhbC11c2VyLUlEIiwidHlwZSI6IkNhbm9uaWNhbFVzZXIiLCJwZXJtaXNzaW9uIjoiUkVBRCJ9XX0=
```
Um für das Feld „Objekt-ACL“ den dekodierten Wert in JSON abzurufen, können Sie dieses Feld in Amazon Athena abfragen. Abfragebeispiele finden Sie unter [Abfragen von Amazon S3 Inventory mit Amazon Athena](storage-inventory-athena-query.md).