

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.

# Von S3 Batch Operations unterstützte Vorgänge
<a name="batch-ops-operations"></a>

Sie können S3-Batch-Vorgänge verwenden, um umfangreiche Batch-Vorgänge für Amazon S3-Objekte durchzuführen. S3-Batch-Vorgänge kann eine einzelne Operation für Listen von Amazon S3-Objekten durchführen, die Sie angeben. Ein einziger Auftrag kann eine festgelegte Operation auf Milliarden von Objekten mit mehreren Exabytes an Daten durchführen. Amazon S3 verfolgt den Fortschritt, versendet Benachrichtigungen und speichert einen detaillierten Abschlussbericht zu allen Aktionen. So profitieren Sie von einer vollständig verwalteten, prüfbaren und serverlosen Umgebung. Sie können S3 Batch Operations über die Amazon S3 S3-Konsole, AWS CLI AWS SDKs, oder die Amazon S3 S3-REST-API verwenden.

S3-Batchoperationen unterstützt die folgenden Operationen:

# Kopieren von Objekten
<a name="batch-ops-copy-object"></a>

Sie können Amazon S3 Batch Operations verwenden, um umfangreiche Batch-Vorgänge für Amazon-S3-Objekte durchzuführen. Der Batch-Operations-Vorgang **Kopieren** kopiert jedes im Manifest angegebene Objekt. Sie können Objekte in einen Bucket in derselben AWS-Region oder in einen Bucket in einer anderen Region kopieren. S3-Batch-Vorgänge unterstützt die meisten über Amazon S3 verfügbaren Optionen zum Kopieren von Objekten. Zu diesen Optionen gehören das Festlegen von Objekt-Metadaten, das Festlegen von Berechtigungen sowie das Ändern der Speicherklasse eines Objekts. 

Mit dem Vorgang **Kopieren** können Sie vorhandene nicht verschlüsselte Objekte kopieren und sie als verschlüsselte Objekte in denselben Bucket schreiben. Weitere Informationen finden Sie unter [Encrypting Objects with Amazon S3 Batch Operations (Verschlüsseln von Objekten mit Amazon S3 Batch Operations)](https://aws.amazon.com/blogs/storage/encrypting-objects-with-amazon-s3-batch-operations/).

Wenn Sie Objekte kopieren, können Sie den Prüfsummenalgorithmus zur Berechnung der Prüfsumme des Objekts ändern. Wenn Objekte keine zusätzliche berechnete Prüfsumme haben, können Sie eine hinzufügen, indem Sie den von Amazon S3 zu verwendenden Prüfsummenalgorithmus angeben. Weitere Informationen finden Sie unter [Überprüfen der Objektintegrität in Amazon S3](checking-object-integrity.md).

Weitere Informationen zum Kopieren von Objekten in Amazon S3 sowie erforderliche und optionale Parameter finden Sie unter [Kopieren, Verschieben und Umbenennen von Objekten](copy-object.md) in diesem Handbuch und unter [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) in der *API-Referenz für Amazon Simple Storage Service*.

## Beschränkungen und Einschränkungen
<a name="batch-ops-copy-object-restrictions"></a>

Wenn Sie die Batch-Operations-Operation **Kopieren** verwenden, gelten die folgenden Einschränkungen:
+ Alle Quellobjekte müssen sich in einem Bucket befinden.
+ Alle Zielobjekte müssen sich in einem Bucket befinden.
+ Sie benötigen Lese-Berechtigungen für den Quell-Bucket und Schreib-Berechtigungen für den Ziel-Bucket.
+ Die maximale Größe eines Objekts, das kopiert werden soll, beträgt 5 GB.
+ Wenn Sie versuchen, Objekte aus den Klassen S3 Glacier Flexible Retrieval oder S3 Glacier Deep Archive in die Speicherklasse S3 Standard zu kopieren, müssen Sie diese Objekte zuerst wiederherstellen. Weitere Informationen finden Sie unter [Wiederherstellen eines archivierten Objekts](restoring-objects.md).
+ Sie müssen Ihre Batch-Operations-Aufgaben **Kopieren** in der Zielregion erstellen, also der Region, in die Sie die Objekte kopieren möchten.
+ Alle `CopyObject` Optionen werden unterstützt, mit Ausnahme der bedingten Prüfungen von Entitäts-Tags (ETags) und der serverseitigen Verschlüsselung mit vom Kunden bereitgestellten Verschlüsselungsschlüsseln (SSE-C).
+ Wenn der Ziel-Bucket keine Versionsverwaltung hat, überschreiben Sie alle Objekte, die denselben Schlüsselnamen haben.
+ Objekte werden nicht zwingend in derselben Reihenfolge kopiert, in der sie im Manifest erscheinen. Wenn für versionierte Buckets die Beibehaltung der aktuellen / nicht aktuellen Versionsreihenfolge wichtig ist, sollten Sie zuerst alle nicht aktuellen Versionen kopieren. Kopieren Sie dann, nachdem der erste Auftrag abgeschlossen ist, die aktuellen Versionen in einen nachfolgenden Auftrag. 
+ Das Kopieren von Objekten zur Klasse Reduced Redundancy Storage (RRS) wird nicht unterstützt.
+ Ein einziger Batch Operations Copy-Auftrag kann ein Manifest mit bis zu 20 Milliarden Objekten unterstützen.

# Kopieren von Objekten mit S3 BatchVorgänge
<a name="batch-ops-examples-copy"></a>

Sie können Amazon S3 Batch Operations verwenden, um umfangreiche Batch-Vorgänge für Amazon-S3-Objekte durchzuführen. Sie können S3 Batch Operations verwenden, um einen **Kopier**auftrag (`CopyObject`) zu erstellen, um Objekte innerhalb desselben Kontos oder in ein anderes Zielkonto zu kopieren. 

Die folgenden Beispiele zeigen, wie man ein Manifest speichert und verwendet, das sich in einem anderen Konto befindet. Das erste Beispiel zeigt, wie Sie Amazon S3 Inventory verwenden können, um den Bestandsbericht an das Zielkonto zu liefern, damit er während der Auftragserstellung verwendet werden kann. Das zweite Beispiel zeigt, wie ein CSV-Manifest mit kommagetrennten Werten (CSV-Manifest) im Quell- oder Zielkonto verwendet wird. Das dritte Beispiel zeigt, wie der Vorgang **Kopieren** verwendet wird, um S3 Bucket Keys für vorhandene Objekte zu aktivieren, die mithilfe der serverseitigen Verschlüsselung mit AWS Key Management Service (AWS KMS)-Schlüsseln (SSE-KMS) verschlüsselt wurden.

**Topics**
+ [

# Verwenden eines Inventarberichts zum Kopieren von Objekten AWS-Konten
](specify-batchjob-manifest-xaccount-inventory.md)
+ [

# Verwenden Sie ein CSV-Manifest, um Objekte zu kopieren AWS-Konten
](specify-batchjob-manifest-xaccount-csv.md)
+ [

# Verwenden von Batch Operations zur Aktivierung von S3 Bucket Keys für SSE-KMS
](batch-ops-copy-example-bucket-key.md)

# Verwenden eines Inventarberichts zum Kopieren von Objekten AWS-Konten
<a name="specify-batchjob-manifest-xaccount-inventory"></a>

Sie können Amazon S3 Batch Operations verwenden, um umfangreiche Batch-Vorgänge für Amazon-S3-Objekte durchzuführen. Sie können S3 Batch Operations verwenden, um einen **Kopier**auftrag (`CopyObject`) zu erstellen, um Objekte innerhalb desselben Kontos oder in ein anderes Zielkonto zu kopieren.

Verwenden Sie Amazon S3 Inventory, um einen Bestandsbericht zu erstellen, und erstellen Sie mithilfe des Berichts eine Liste (Manifest) von Objekten, die mit S3 Batch Operations kopiert werden sollen. Informationen zur Verwendung eines CSV-Manifests im Quell- oder Zielkonto finden Sie unter [Verwenden Sie ein CSV-Manifest, um Objekte zu kopieren AWS-Konten](specify-batchjob-manifest-xaccount-csv.md).

Der Amazon S3 Inventory generiert Bestandslisten der Objekte in einem Bucket. Die resultierende Liste wird in einer Ausgabedatei veröffentlicht. Der Bucket, für den die Bestandsliste erstellt wird, wird als Quell-Bucket bezeichnet, der Bucket, in dem die Bestandsberichtsdatei gespeichert wird, dagegen als Ziel-Bucket. 

Der Amazon S3 S3-Inventarbericht kann so konfiguriert werden, dass er an einen anderen gesendet wird AWS-Konto. Dadurch kann S3 Batch Operations den Bestandsbericht lesen, wenn der Auftrag im Zielkonto erstellt wird.

Weitere Informationen zu Quell- und Ziel-Buckets für Amazon S3 Inventory finden Sie unter [Quell- und Ziel-Buckets](storage-inventory.md#storage-inventory-buckets).

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 folgende Konsolenprozedur enthält die allgemeinen Schritte zum Einrichten von Berechtigungen für einen S3-Batchoperations-Auftrag. Bei diesem Verfahren kopieren Sie Objekte aus einem Quellkonto in ein Zielkonto, wobei der Bestandsbericht im Zielkonto gespeichert wird.

**So richten Sie einen Amazon S3 Inventory für Quell- und Ziel-Buckets ein, die zu unterschiedlichen Konten gehören**

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 **Buckets** aus.

1. Entscheiden Sie sich für (oder erstellen Sie) einen Ziel-Manifest-Bucket, um den Bestandsbericht zu speichern. In diesem Verfahren ist das *Zielkonto* das Konto, zu dem der Ziel-Manifest-Bucket sowie der Bucket gehören, in den die Objekte kopiert werden.

1. Konfigurieren Sie einen Bestandsbericht für einen Quell-Bucket. Informationen zur Verwendung der Konsole zum Konfigurieren einer Bestandsliste oder zum Verschlüsseln einer Bestandsdatei finden Sie unter [Konfigurieren von Amazon S3 Inventory](configure-inventory.md). 

   Wenn Sie den Bestandsbericht konfigurieren, geben Sie den Ziel-Bucket an, in dem die Liste gespeichert werden soll. Der Bestandsbericht für den Quell-Bucket wird im Ziel-Bucket veröffentlicht. In diesem Verfahren ist das *Quellkonto* das Konto, zu dem der Quell-Bucket gehört.

   Wählen Sie **CSV** als Ausgabeformat.

   Wenn Sie Informationen für den Ziel-Bucket eingeben, wählen Sie **Buckets in another account (Buckets in einem anderen Konto)**. Geben Sie dann den Namen des Ziel-Manifest-Buckets ein. Optional können Sie die Konto-ID des Zielkontos eingeben.

   Nachdem die Bestands-Konfiguration gespeichert wurde, zeigt die Konsole eine Meldung wie die folgende an: 

   Amazon S3 could not create a bucket policy on the destination bucket. Ask the destination bucket owner to add the following bucket policy to allow Amazon S3 to place data in that bucket. (Amazon S3 konnte keine Bucket-Richtlinie für den Ziel-Bucket erstellen.Bitten Sie den Eigentümer des Ziel-Buckets, die folgende Bucket-Richtlinie hinzuzufügen, damit Amazon S3 Daten in diesen Bucket einfügen kann.

   Die Konsole zeigt dann eine Bucket-Richtlinie an, die Sie für den Ziel-Bucket verwenden können.

1. Kopieren Sie die in der Konsole angezeigte Ziel-Bucket-Richtlinie.

1. Fügen Sie die kopierte Bucket-Richtlinie im Zielkonto dem Ziel-Manifest-Bucket hinzu, in dem der Bestandsbericht gespeichert wird.

1. Erstellen Sie eine Rolle im Zielkonto, die auf der S3-BatchVorgängevertrauensrichtlinie basiert. Weitere Informationen zu dieser Vertrauensrichtlinie finden Sie unter [Vertrauensrichtlinie](batch-ops-iam-role-policies.md#batch-ops-iam-role-policies-trust).

   Weitere Informationen zum Erstellen einer Rolle finden Sie unter [Erstellen einer Rolle zum Delegieren von Berechtigungen an einen AWS-Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) im *IAM-Benutzerhandbuch*.

   Geben Sie einen Namen für die Rolle ein (die folgende Beispielrolle hat den Namen *`BatchOperationsDestinationRoleCOPY`*). Wählen Sie den Service **S3** und dann den Anwendungsfall **S3 Batch Operations** aus, mit dem die Vertrauensrichtlinie der Rolle zugewiesen wird. 

   Wählen Sie dann **Richtlinie erstellen** aus, um der Rolle die folgende Richtlinie anzufügen. Wenn Sie diese Richtlinie verwenden möchten, ersetzen Sie *`user input placeholders`* durch eigene Informationen. 

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "AllowBatchOperationsDestinationObjectCOPY",
         "Effect": "Allow",
         "Action": [
           "s3:PutObject",
           "s3:PutObjectVersionAcl",
           "s3:PutObjectAcl",
           "s3:PutObjectVersionTagging",
           "s3:PutObjectTagging",
           "s3:GetObject",
           "s3:GetObjectVersion",
           "s3:GetObjectAcl",
           "s3:GetObjectTagging",
           "s3:GetObjectVersionAcl",
           "s3:GetObjectVersionTagging"
         ],
         "Resource": [
           "arn:aws:s3:::amzn-s3-demo-destination-bucket/*",
           "arn:aws:s3:::amzn-s3-demo-source-bucket/*",
           "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"
         ]
       }
     ]
   }
   ```

------

   Die Rolle verwendet die Richtlinie, um die Berechtigung `batchoperations.s3.amazonaws.com` zum Lesen des Manifests im Ziel-Bucket zu gewähren. Es gewährt auch Berechtigungen für `GET` Objekte, Zugriffskontrolllisten (ACLs), Tags und Versionen im Quellobjekt-Bucket. Außerdem gewährt es Berechtigungen für `PUT` Objekte ACLs, Tags und Versionen für den Zielobjekt-Bucket.

1. Erstellen Sie im Quellkonto eine Bucket-Richtlinie für den Quell-Bucket, die der Rolle, die Sie im vorherigen Schritt erstellt haben, Berechtigungen für `GET` Objekte ACLs, Tags und Versionen im Quell-Bucket gewährt. Dieser Schritt ermöglicht es S3-BatchVorgänge, Objekte über die vertrauenswürdige Rolle aus dem Quell-Bucket abzurufen.

   Das folgende Beispiel zeigt eine Bucket-Richtlinie für das Quellkonto. Wenn Sie diese Richtlinie verwenden möchten, ersetzen Sie *`user input placeholders`* durch eigene Informationen.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowBatchOperationsSourceObjectCOPY",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:role/BatchOperationsDestinationRoleCOPY"
               },
               "Action": [
                   "s3:GetObject",
                   "s3:GetObjectVersion",
                   "s3:GetObjectAcl",
                   "s3:GetObjectTagging",
                   "s3:GetObjectVersionAcl",
                   "s3:GetObjectVersionTagging"
               ],
               "Resource": "arn:aws:s3:::amzn-s3-demo-source-bucket/*"
           }
       ]
   }
   ```

------

1. Sobald der Bestandsbericht verfügbar ist, erstellen Sie eine S3-Batch-Operations-Aufgabe **Kopieren** (`CopyObject`) im Zielkonto und wählen Sie den Bestandsbericht im Ziel-Manifest-Bucket aus. Sie benötigen die ARN für die IAM-Rolle, die Sie im Zielkonto erstellt haben.

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

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

# Verwenden Sie ein CSV-Manifest, um Objekte zu kopieren AWS-Konten
<a name="specify-batchjob-manifest-xaccount-csv"></a>

Sie können Amazon S3 Batch Operations verwenden, um umfangreiche Batch-Vorgänge für Amazon-S3-Objekte durchzuführen. Sie können S3 Batch Operations verwenden, um einen **Kopier**auftrag (`CopyObject`) zu erstellen, um Objekte innerhalb desselben Kontos oder in ein anderes Zielkonto zu kopieren.

Sie können ein CSV-Manifest verwenden, das im Quellkonto gespeichert ist, um Objekte über AWS-Konten hinweg mithilfe von S3 Batch Operations zu kopieren. Informationen zur Verwendung eines S3-Bestandsberichts als Manifest finden Sie unter [Verwenden eines Inventarberichts zum Kopieren von Objekten AWS-Konten](specify-batchjob-manifest-xaccount-inventory.md).

Ein Beispiel für das CSV-Format für Manifestdateien finden Sie unter [Erstellen einer Manifestdatei](batch-ops-create-job.md#create-manifest-file).

Das folgende Verfahren zeigt, wie Berechtigungen bei Verwendung eines S3-Batch-Operations-Auftrags zum Kopieren von Objekten aus einem Quellkonto in ein Zielkonto unter Verwendung der im Quellkonto gespeicherten CSV-Manifestdatei eingerichtet werden.

**So verwenden Sie ein CSV-Manifest zum Kopieren von Objekten AWS-Konten**

1. Erstellen Sie eine AWS Identity and Access Management (IAM-) Rolle im Zielkonto, die auf der Vertrauensrichtlinie von S3 Batch Operations basiert. In diesem Verfahren ist das *Zielkonto* das Konto, in das die Objekte kopiert werden.

   Weitere Informationen zur Vertrauensrichtlinie finden Sie unter [Vertrauensrichtlinie](batch-ops-iam-role-policies.md#batch-ops-iam-role-policies-trust).

   Weitere Informationen zum Erstellen einer Rolle finden Sie unter [Erstellen einer Rolle zum Delegieren von Berechtigungen an einen AWS-Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) im *IAM-Benutzerhandbuch*.

   Wenn Sie die Rolle mit der Konsole erstellen, geben Sie einen Namen für die Rolle ein (der Name der folgenden Beispielrolle lautet `BatchOperationsDestinationRoleCOPY`). Wählen Sie den Service **S3** und dann den Anwendungsfall **S3 Batch Operations** aus, mit dem die Vertrauensrichtlinie der Rolle zugewiesen wird.

   Wählen Sie dann **Richtlinie erstellen** aus, um der Rolle die folgende Richtlinie anzufügen. Wenn Sie diese Richtlinie verwenden möchten, ersetzen Sie *`user input placeholders`* durch eigene Informationen.

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "AllowBatchOperationsDestinationObjectCOPY",
         "Effect": "Allow",
         "Action": [
           "s3:PutObject",
           "s3:PutObjectVersionAcl",
           "s3:PutObjectAcl",
           "s3:PutObjectVersionTagging",
           "s3:PutObjectTagging",
           "s3:GetObject",
           "s3:GetObjectVersion",
           "s3:GetObjectAcl",
           "s3:GetObjectTagging",
           "s3:GetObjectVersionAcl",
           "s3:GetObjectVersionTagging"
         ],
         "Resource": [
           "arn:aws:s3:::amzn-s3-demo-destination-bucket/*",
           "arn:aws:s3:::amzn-s3-demo-source-bucket/*",
           "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"
         ]
       }
     ]
   }
   ```

------

   Mit der Richtlinie gewährt die Rolle die Berechtigung `batchoperations.s3.amazonaws.com` zum Lesen des Manifests im Quell-Manifest-Bucket. Sie gewährt Berechtigungen für `GET` Objekte, Zugriffskontrolllisten (ACLs), Tags und Versionen im Quellobjekt-Bucket. Es gewährt auch Berechtigungen für `PUT` Objekte ACLs, Tags und Versionen für den Zielobjekt-Bucket.

1. Im Quellkonto erstellen Sie eine Bucket-Richtlinie für den Bucket, der das Manifest enthält, um der Rolle, die Sie im vorherigen Schritt erstellt haben, Berechtigungen für `GET`-Objekte und Versionen im Quellmanifest-Bucket zu erteilen.

   Dieser Schritt ermöglicht S3 Batch Operations das Lesen des Manifests unter Verwendung der vertrauenswürdigen Rolle. Weisen Sie die Bucket-Richtlinie dem Bucket zu, in dem sich das Manifest befindet.

   Das folgende Beispiel zeigt eine Bucket-Richtlinie, die dem Quell-Manifest-Bucket zugewiesen werden soll. Wenn Sie diese Richtlinie verwenden möchten, ersetzen Sie *`user input placeholders`* durch eigene Informationen.

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "AllowBatchOperationsSourceManifestRead",
         "Effect": "Allow",
         "Principal": {
           "AWS": [
             "arn:aws:iam::111122223333:user/ConsoleUserCreatingJob",
             "arn:aws:iam::111122223333:role/BatchOperationsDestinationRoleCOPY"
           ]
         },
         "Action": [
           "s3:GetObject",
           "s3:GetObjectVersion"
         ],
         "Resource": "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"
       }
     ]
   }
   ```

------

   Diese Richtlinie gewährt außerdem die erforderlichen Berechtigungen, damit ein Konsolenbenutzer, der einen Auftrag im Zielkonto erstellt, diese Berechtigungen über dieselbe Bucket-Richtlinie auch für den Ziel-Manifest-Bucket erhält.

1. Erstellen Sie im Quellkonto eine Bucket-Richtlinie für den Quell-Bucket, die der Rolle, die Sie erstellt haben, Berechtigungen für `GET` Objekte ACLs, Tags und Versionen im Quellobjekt-Bucket gewährt. S3-Batch-Vorgänge kann dann Objekte über die vertrauenswürdige Rolle aus dem Quell-Bucket abrufen.

   Es folgt ein Beispiel für die Bucket-Richtlinie für den Bucket, der die Quellobjekte enthält. Wenn Sie diese Richtlinie verwenden möchten, ersetzen Sie *`user input placeholders`* durch eigene Informationen.

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "AllowBatchOperationsSourceObjectCOPY",
         "Effect": "Allow",
         "Principal": {
           "AWS": "arn:aws:iam::111122223333:role/BatchOperationsDestinationRoleCOPY"
         },
         "Action": [
           "s3:GetObject",
           "s3:GetObjectVersion",
           "s3:GetObjectAcl",
           "s3:GetObjectTagging",
           "s3:GetObjectVersionAcl",
           "s3:GetObjectVersionTagging"
         ],
         "Resource": "arn:aws:s3:::amzn-s3-demo-source-bucket/*"
       }
     ]
   }
   ```

------

1. Erstellen Sie einen S3-Batchoperations-Auftrag im Zielkonto. Sie benötigen den Amazon-Ressourcennamen (ARN) der im Zielkonto erstellten Rolle. Weitere Informationen zum Erstellen eines Auftrags finden Sie unter [Erstellen eines S3-Batch-Vorgangsauftrags](batch-ops-create-job.md).

# Verwenden von Batch Operations zur Aktivierung von S3 Bucket Keys für SSE-KMS
<a name="batch-ops-copy-example-bucket-key"></a>

S3-Bucket Keys reduzieren die Kosten der serverseitigen Verschlüsselung mit AWS Key Management Service (AWS KMS) (SSE-KMS), indem sie den Anforderungsverkehr von Amazon S3 zu verringern. AWS KMS Weitere Informationen erhalten Sie unter [Reduzieren des Preises von SSE-KMS mit Amazon-S3-Bucket-Schlüsseln](bucket-key.md) und [Konfigurieren des Buckets für die Verwendung eines S3-Bucket-Schlüssels mit SSE-KMS bei neuen Objekten](configuring-bucket-key.md). Wenn Sie einen `CopyObject` Vorgang mithilfe der REST-API oder ausführen AWS SDKs, können Sie einen S3-Bucket-Key auf Objektebene aktivieren oder deaktivieren AWS CLI, indem Sie den `x-amz-server-side-encryption-bucket-key-enabled` Anforderungsheader mit dem Wert oder hinzufügen. `true` `false` 

Wenn Sie einen S3 Bucket Key für ein Objekt mithilfe einer `CopyObject`-Operation konfigurieren, aktualisiert Amazon S3 nur die Einstellungen für dieses Objekt. Die S3-Bucket-Key-Einstellungen für den Ziel-Bucket ändern sich nicht. Wenn Sie eine `CopyObject`-Anforderung für ein verschlüsseltes AWS KMS -Objekt an einen Bucket senden, der S3 Bucket Keys aktiviert hat, wird Ihre objektbezogene Operation automatisch S3 Bucket Keys verwenden, es sei denn, Sie deaktivieren die Schlüssel im Anforderungs-Header. Wenn Sie keinen S3-Bucket-Schlüssel für Ihr Objekt angeben, wendet Amazon S3 die S3-Bucket-Schlüssel-Einstellungen für den Ziel-Bucket auf das Objekt an.

Um Ihre vorhandenen Amazon-S3-Objekte zu verschlüsseln, können Sie S3 Batch Operations verwenden. Mit der Operation **Batch Operations Copy** können Sie vorhandenen nicht verschlüsselte Objekte kopieren und die neuen verschlüsselten Objekte in denselben Bucket schreiben. Weitere Informationen finden Sie im AWS Storage-Blog unter [Objekte mit Amazon S3 Batch Operations verschlüsseln](https://aws.amazon.com/blogs/storage/encrypting-objects-with-amazon-s3-batch-operations/).

Im folgenden Beispiel verwenden Sie den Batch-Operation-Vorgang **Kopieren**, um die Verwendung von S3-Bucket-Schlüsseln für vorhandene Objekte zu aktivieren. Weitere Informationen finden Sie unter [Konfigurieren eines S3-Bucket-Schlüssels auf Objektebene](configuring-bucket-key-object.md).

**Topics**
+ [

## Überlegungen bei der Verwendung von S3 Batch Operations zur Verschlüsselung von Objekten mit aktivierten S3 Bucket Keys
](#bucket-key-ex-things-to-note)
+ [

## Voraussetzungen
](#bucket-key-ex-prerequisites)
+ [

## Schritt 1: Abrufen der Liste von Objekten mithilfe von Amazon S3 Inventory
](#bucket-key-ex-get-list-of-objects)
+ [

## Schritt 2: Filtern Sie Ihre Objektliste mit S3 Select
](#bucket-key-ex-filter-object-list-with-s3-select)
+ [

## Schritt 3: Einrichten und Ausführen des Auftrags für S3-BatchVorgänge
](#bucket-key-ex-setup-and-run-job)

## Überlegungen bei der Verwendung von S3 Batch Operations zur Verschlüsselung von Objekten mit aktivierten S3 Bucket Keys
<a name="bucket-key-ex-things-to-note"></a>

Berücksichtigen Sie die folgenden Probleme, wenn Sie S3 Batch Operations verwenden, um Objekte mit aktivierten S3-Bucket-Schlüsseln zu verschlüsseln:
+ Die Kosten für Aufträge, Objekte und Anforderungen in S3 Batch Operations werden Ihnen zusätzlich zu allen mit der Operation, die S3 Batch Operations in Ihrem Namen ausführt, verbundenen Kosten berechnet, einschließlich Datenübertragungen, Anforderungen und anderen Gebühren. Weitere Informationen finden Sie unter [Amazon S3 – Preise](https://aws.amazon.com/s3/pricing).
+ Wenn Sie einen versionierten Bucket verwenden, erstellt jeder ausgeführte S3-Batchoperations-Auftrag neue verschlüsselte Versionen Ihrer Objekte. Darüber hinaus werden die vorherigen Versionen ohne konfigurierten S3-Bucket-Schlüssel beibehalten. Richten Sie zum Löschen der alten Versionen eine S3-Lebenszyklus-Ablauf-Richtlinie für nicht aktuelle Versionen ein, wie unter [Elemente der Lebenszykluskonfiguration](intro-lifecycle-rules.md) beschrieben.
+ Mit dem Kopiervorgang werden neue Objekte mit neuen Erstellungsdaten erstellt, die sich auf Lebenszyklus-Aktionen wie die Archivierung auswirken können. Wenn Sie alle Objekte in Ihrem Bucket kopieren, weisen alle neuen Kopien identische oder ähnliche Erstellungsdaten auf. Um diese Objekte weiter zu identifizieren und unterschiedliche Lebenszyklus-Regeln für verschiedene Daten-Teilmengen zu erstellen, sollten Sie Objekt-Markierungen verwenden. 

## Voraussetzungen
<a name="bucket-key-ex-prerequisites"></a>

Bevor Sie Ihre Objekte für die Verwendung eines S3-Bucket-Schlüssels konfigurieren, lesen Sie [Änderungen, die Sie vor dem Aktivieren eines S3-Bucket-Schlüssels beachten sollten](bucket-key.md#bucket-key-changes). 

Um dieses Beispiel verwenden zu können, benötigen Sie einen AWS-Konto und mindestens einen S3-Bucket für Ihre Arbeitsdateien und verschlüsselten Ergebnisse. Möglicherweise finden Sie auch vieles aus der vorhandenen Dokumentation zu S3 Batch Operations nützlich, einschließlich der folgenden Themen:
+ [Grundlagen von S3-BatchVorgänge](batch-ops.md#batch-ops-basics)
+ [Erstellen eines S3-Batch-Vorgangsauftrags](batch-ops-create-job.md)
+ [Von S3 Batch Operations unterstützte Vorgänge](batch-ops-operations.md)
+ [Verwalten von S3-Batch-Vorgangsaufträgen](batch-ops-managing-jobs.md)

## Schritt 1: Abrufen der Liste von Objekten mithilfe von Amazon S3 Inventory
<a name="bucket-key-ex-get-list-of-objects"></a>

Geben Sie zunächst den S3-Bucket an, der die zu verschlüsselnden Objekte enthält, und rufen Sie eine Liste des Inhalts ab. Ein Amazon S3-Bestandsbericht ist die bequemste und kostengünstigste Methode, dies zu tun. Der Bericht enthält die Liste der Objekte in einem Bucket sowie die zugehörigen Metadaten. In diesem Schritt ist der Quell-Bucket der inventarisierte Bucket und der Ziel-Bucket ist der Bucket, in dem Sie die Bestandsberichtsdatei speichern. Weitere Informationen zu Quell- und Ziel-Buckets für Amazon S3 Inventory finden Sie unter [Katalogisieren und Analysieren Ihrer Daten mit S3 Inventory](storage-inventory.md).

Die einfachste Möglichkeit zum Einrichten eines Bestands ist mit der AWS-Managementkonsole. Sie können aber auch die REST-API AWS Command Line Interface (AWS CLI) oder verwenden AWS SDKs. Bevor Sie diese Schritte ausführen, müssen Sie sich bei der Konsole anmelden und die Amazon S3 S3-Konsole unter öffnen [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/). Wenn Fehler mit Berechtigung verweigert auftreten, fügen Sie eine Bucket-Richtlinie zu Ihrem Ziel-Bucket hinzu. 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).

**Abrufen der Liste von Objekten mithilfe von S3 Inventory**

1. Ö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 **Buckets** und wählen Sie einen Bucket aus, der Objekte enthält, die verschlüsselt werden sollen.

1. Navigieren Sie im Tab **Verwaltung** zu dem Abschnitt **Inventory configurations (Bestands-Konfigurationen)**, und wählen Sie **Create inventory configuration (Bestands-Konfiguration erstellen)**.

1. Geben Sie Ihrem neuen Bestand einen Namen, geben Sie den Namen des Ziel-S3-Buckets ein und erstellen Sie optional ein Zielpräfix für Amazon S3, um Objekte in diesem Bucket zuzuweisen.

1. Für das **Ausgabeformat** wählen Sie **CSV**.

1. (Optional) Wählen Sie im Abschnitt **Zusätzliche Felder – *optional*** die Option **Verschlüsselung** und alle anderen für Sie interessanten Listenfelder aus. Legen Sie die Häufigkeit für die Berichterstattung auf **Daily (Täglich)**, damit der erste Bericht früher an Ihren Bucket geliefert wird.

1. Wählen Sie **Save (Speichern)** aus, um die Konfiguration zu speichern.

Amazon S3 benötigt bis zu 48 Stunden, den ersten Bericht bereitzustellen. Kehren Sie daher zurück, wenn der erste Bericht eingeht. Nachdem Sie Ihren ersten Bericht erhalten haben, fahren Sie mit dem nächsten Schritt fort, um den Inhalt Ihres S3-Bestandsberichts zu filtern. Wenn Sie keine Bestandsberichte für diesen Bucket mehr erhalten möchten, löschen Sie Ihre S3-Bestands-Konfiguration. Andernfalls liefert S3 Berichte nach einem täglichen oder wöchentlichen Zeitplan.

Eine Inventarliste ist keine einheitliche point-in-time Ansicht aller Objekte. Bestandslisten sind fortlaufende Snapshots von Bucket-Elementen, die letztendlich konsistent sind (d. h. die Liste enthält möglicherweise keine vor kurzem hinzugefügten oder gelöschten Objekte). Die Kombination von S3 Inventory und S3-Batch-Vorgänge funktioniert am besten, wenn Sie mit statischen Objekten oder mit einem Objektsatz arbeiten, den Sie vor zwei oder mehr Tagen erstellt haben. Um mit neueren Daten zu arbeiten, verwenden Sie die API-Operation [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html) (`GET`-Bucket), um Ihre Liste der Objekte manuell zu erstellen. Wiederholen Sie den Vorgang bei Bedarf für die nächsten Tage oder bis Ihr Bestandsbericht den gewünschten Status für alle Objekte anzeigt.

## Schritt 2: Filtern Sie Ihre Objektliste mit S3 Select
<a name="bucket-key-ex-filter-object-list-with-s3-select"></a>

Nachdem Sie Ihren S3-Bestandsbericht erhalten haben, können Sie den Inhalt des Berichts filtern, um nur die Objekte aufzulisten, die nicht mit aktivierten S3-Bucket-Schlüsseln verschlüsselt sind. Wenn Sie möchten, dass alle Objekte Ihres Buckets mit S3-Bucket-Schlüsseln verschlüsselt werden, können Sie diesen Schritt ignorieren. Das Filtern Ihres S3-Inventory-Berichts in diesem Stadium spart Ihnen jedoch Zeit und Kosten für das erneute Verschlüsseln von Objekten, die Sie zuvor mit aktivierten S3 Bucket Keys verschlüsselt haben.

In den folgenden Schritten wird das Filtern mit [Amazon S3 Select](https://aws.amazon.com/blogs/aws/s3-glacier-select/) gezeigt. Sie können aber auch [Amazon Athena](https://aws.amazon.com/athena) verwenden. Um zu entscheiden, welches Tool verwendet werden soll, schauen Sie sich die `manifest.json`-Datei Ihres S3-Bestandsberichts an. Diese Datei listet die Anzahl der Datendateien auf, die diesem Bericht zugeordnet sind. Wenn die Zahl groß ist, verwenden Sie Amazon Athena, da es über mehrere S3-Objekte läuft, während S3 Select für jeweils ein Objekt funktioniert. Weitere Informationen zur gemeinsamen Verwendung von Amazon S3 und Athena finden Sie unter [Abfragen von Amazon S3 Inventory mit Amazon Athena](storage-inventory-athena-query.md) und „Verwenden von Athena“ im AWS Speicher-Blogbeitrag [Verschlüsseln von Objekten mit Amazon S3](https://aws.amazon.com/blogs/storage/encrypting-objects-with-amazon-s3-batch-operations) Batch Operations.

**So filtern Sie Ihren S3-Bestandsbericht mithilfe von S3 Select**

1. Öffnen Sie`manifest.json`-Datei aus Ihrem Bestandsbericht und schauen Sie sich den `fileSchema`-Abschnitt des JSON an. Dadurch wird die Abfrage informiert, die Sie für die Daten ausführen. 

   Der folgende JSON ist eine Beispiels-`manifest.json`-Datei für einen CSV-formatierten Bestand in einem Bucket mit aktivierter Versionierung. Je nachdem, wie Sie Ihren Bestandsbericht konfiguriert haben, sieht Ihr Manifest möglicherweise anders aus.

   ```
     {
       "sourceBucket": "batchoperationsdemo",
       "destinationBucket": "arn:aws:s3:::amzn-s3-demo-destination-bucket",
       "version": "2021-05-22",
       "creationTimestamp": "1558656000000",
       "fileFormat": "CSV",
       "fileSchema": "Bucket, Key, VersionId, IsLatest, IsDeleteMarker, BucketKeyStatus",
       "files": [
         {
           "key": "demoinv/batchoperationsdemo/DemoInventory/data/009a40e4-f053-4c16-8c75-6100f8892202.csv.gz",
           "size": 72691,
           "MD5checksum": "c24c831717a099f0ebe4a9d1c5d3935c"
         }
       ]
     }
   ```

   Wenn die Versionierung für den Bucket nicht aktiviert ist oder wenn Sie den Bericht für die neuesten Versionen ausführen möchten, ist die `fileSchema` `Bucket`, `Key`, und `BucketKeyStatus`. 

   Wenn die Versionsverwaltung *aktiviert ist*, beinhaltet das `fileSchema` je nach der Einrichtung des Bestandsberichts möglicherweise Folgendes: `Bucket`, `Key`, `VersionId`, `IsLatest`, `IsDeleteMarker`, `BucketKeyStatus`. Achten Sie also auf die Spalten 1, 2, 3 und 6, wenn Sie Ihre Abfrage ausführen. 

   S3 Batch Operations benötigt den Bucket, den Schlüssel und die Versions-ID als Eingabe, um den Auftrag auszuführen, zusätzlich zu dem Feld, nach dem gesucht werden soll, nämlich `BucketKeyStatus`. Das `VersionID`-Feld wird nicht benötigt. Diese Angabe ist jedoch hilfreich, wenn Sie mit einem versionierten Bucket arbeiten. Weitere Informationen finden Sie unter [Arbeiten mit Objekten in einem versioning-fähigen Bucket](manage-objects-versioned-bucket.md).

1. Suchen Sie die Datendateien für den Bestandsbericht. Das `manifest.json`-Objekt listet die Datendateien unter **files (Dateien)** auf.

1. Klicken Sie nach dem Suchen und Auswählen der Datendatei in der S3-Konsole auf **Actions (Aktionen)** und wählen Sie dann **Query with S3 Select (Abfragen mit S3 Select)**.

1. Bewahren Sie die Voreinstellung **CSV**, **Komma**, und **GZIP** ausgewählt, und wählen Sie **Next (Weiter)**.

1. Um das Format Ihres Bestands zu überprüfen, bevor Sie fortfahren, wählen Sie **Show file preview (Dateivorschau anzeigen)**.

1. Geben Sie die Spalten, auf die Sie verweisen möchten, in das SQL-Ausdruck-Feld ein und wählen Sie **Run SQL** (SQL ausführen) aus. Der folgende Ausdruck gibt die Spalten 1 bis 3 für alle Objekte zurück, die keinen S3-Bucket-Schlüssel konfiguriert haben.

   `select s._1, s._2, s._3 from s3object s where s._6 = 'DISABLED'`

   Nachfolgend sehen Sie einige Beispielergebnisse.

   ```
         batchoperationsdemo,0100059%7Ethumb.jpg,lsrtIxksLu0R0ZkYPL.LhgD5caTYn6vu
         batchoperationsdemo,0100074%7Ethumb.jpg,sd2M60g6Fdazoi6D5kNARIE7KzUibmHR
         batchoperationsdemo,0100075%7Ethumb.jpg,TLYESLnl1mXD5c4BwiOIinqFrktddkoL
         batchoperationsdemo,0200147%7Ethumb.jpg,amufzfMi_fEw0Rs99rxR_HrDFlE.l3Y0
         batchoperationsdemo,0301420%7Ethumb.jpg,9qGU2SEscL.C.c_sK89trmXYIwooABSh
         batchoperationsdemo,0401524%7Ethumb.jpg,ORnEWNuB1QhHrrYAGFsZhbyvEYJ3DUor
         batchoperationsdemo,200907200065HQ%7Ethumb.jpg,d8LgvIVjbDR5mUVwW6pu9ahTfReyn5V4
         batchoperationsdemo,200907200076HQ%7Ethumb.jpg,XUT25d7.gK40u_GmnupdaZg3BVx2jN40
         batchoperationsdemo,201103190002HQ%7Ethumb.jpg,z.2sVRh0myqVi0BuIrngWlsRPQdb7qOS
   ```

1. Laden Sie die Ergebnisse herunter, speichern Sie sie in einem CSV-Format und laden Sie sie als Liste der Objekte für den S3-Batchoperations-Auftrag in Amazon S3 hoch.

1. Wenn Sie mehrere Manifestdateien haben, führen Sie auch auf diesen **Query with S3 Select (Abfragen mit S3 Select)** aus. Abhängig von der Größe der Ergebnisse können Sie die Listen kombinieren und einen einzelnen Auftrag für S3-Batch-Vorgänge ausführen oder jede Liste als separater Auftrag ausführen. Betrachten Sie den [Preis](https://aws.amazon.com/s3/pricing/) für jede Ausführung eines S3-Batch-Operations-Auftrags, wenn Sie die Anzahl der auszuführenden Aufträge festlegen.

## Schritt 3: Einrichten und Ausführen des Auftrags für S3-BatchVorgänge
<a name="bucket-key-ex-setup-and-run-job"></a>

Nachdem Sie nun Ihre gefilterten CSV-Listen von S3-Objekten haben, können Sie mit dem S3-Batch-Operations-Auftrag beginnen, um die Objekte mit S3-Bucket-Schlüssel zu verschlüsseln.

Ein *Auftrag* bezieht sich kollektiv auf die Liste (Manifeste) der bereitgestellten Objekte, die durchgeführte Operation und die angegebenen Parameter. Der einfachste Weg, diese Objekte mit aktivierten S3 Bucket Keys zu verschlüsseln, besteht darin, den Vorgang **Kopieren** zu verwenden und dasselbe Zielpräfix wie die im Manifest aufgeführten Objekte anzugeben. In einem Bucket ohne Versionsverwaltung überschreibt dieser Vorgang die vorhandenen Objekte. In einem Bucket mit aktivierter Versionsverwaltung erstellt dieser Vorgang eine neuere, verschlüsselte Version der Objekte.

Geben Sie beim Kopieren der Objekte an, dass Amazon S3 die Objekte mit SSE-KMS-Verschlüsselung verschlüsseln soll. Dieser Auftrag kopiert die Objekte, sodass alle Objekte nach Fertigstellung ein aktualisiertes Erstellungsdatum anzeigen, unabhängig davon, wann Sie sie ursprünglich zu Amazon S3 hinzugefügt haben. Geben Sie auch die anderen Eigenschaften für Ihre Gruppe von Objekten als Teil des S3 Batchoperations-Auftrags an, einschließlich Objekt-Markierungen und Speicherklasse.

**Topics**
+ [

### Einrichten Ihrer IAM-Richtlinie
](#bucket-key-ex-set-up-iam-policy)
+ [

### IAM-Rolle für Batch-Vorgänge einrichten
](#bucket-key-ex-set-up-iam-role)
+ [

### S3 Bucket Keys für einen vorhandenen Bucket aktivieren
](#bucket-key-ex-enable-s3-bucket-key-on-a-bucket)
+ [

### Erstellen eines Auftrags für S3-BatchVorgänge
](#bucket-key-ex-create-job)
+ [

### Ausführen eines Auftrags für S3-BatchVorgänge
](#bucket-key-ex-run-job)

### Einrichten Ihrer IAM-Richtlinie
<a name="bucket-key-ex-set-up-iam-policy"></a>

1. Öffnen Sie unter [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) die IAM-Konsole.

1. Wählen Sie im linken Navigationsbereich **Richtlinien** und anschließend **Richtlinie erstellen** aus.

1. Wählen Sie den Tab **JSON**. Klicken Sie auf **Edit policy (Richtlinie bearbeiten)** und fügen Sie die Beispielrichtlinie für IAM hinzu, die im folgenden Codeblock angezeigt wird. 

   Ersetzen Sie nach dem Kopieren des Richtlinienbeispiels in Ihre [IAM-Konsole](https://console.aws.amazon.com/iam/) Folgendes:

   1. Ersetzen Sie `amzn-s3-demo-source-bucket` mit dem Namen Ihres Quell-Buckets, aus dem Objekte kopiert werden sollen.

   1. Ersetzen Sie `amzn-s3-demo-destination-bucket` mit dem Namen Ihres Ziel-Buckets, in den Objekte kopiert werden sollen.

   1. Ersetzen Sie `amzn-s3-demo-manifest-bucket/manifest-key` durch den Namen Ihres Manifest-Objekts.

   1. Ersetzen Sie `amzn-s3-demo-completion-report-bucket` mit dem Namen des Buckets, in dem Sie Ihre Abschlussberichte speichern möchten.

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

****  

   ```
     {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
         {
           "Sid": "CopyObjectsToEncrypt",
           "Effect": "Allow",
           "Action": [
             "s3:PutObject",
             "s3:PutObjectTagging",
             "s3:PutObjectAcl",
             "s3:PutObjectVersionTagging",
             "s3:PutObjectVersionAcl",
             "s3:GetObject",
             "s3:GetObjectAcl",
             "s3:GetObjectTagging",
             "s3:GetObjectVersion",
             "s3:GetObjectVersionAcl",
             "s3:GetObjectVersionTagging"
           ],
           "Resource": [
             "arn:aws:s3:::amzn-s3-demo-source-bucket/*",
             "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
           ]
         },
         {
           "Sid": "ReadManifest",
           "Effect": "Allow",
           "Action": [
             "s3:GetObject",
             "s3:GetObjectVersion"
           ],
           "Resource": "arn:aws:s3:::amzn-s3-demo-manifest-bucket/manifest-key"
         },
         {
           "Sid": "WriteReport",
           "Effect": "Allow",
           "Action": [
             "s3:PutObject"
           ],
           "Resource": "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*"
         }
       ]
     }
   ```

------

1. Wählen Sie **Weiter: Tags** aus.

1. Wählen Sie alle gewünschten Markierungen aus (optional) und wählen Sie **Next: Review (Weiter: Überprüfung)**.

1. Geben Sie einen Namen und optional eine Beschreibung für die Richtlinie an und wählen Sie dann **Richtlinie erstellen** aus.

1. Wählen Sie **Review policy (Richtlinie überprüfen)** aus und klicken Sie anschließend auf **Save changes (Änderungen speichern)**.

1. Wenn Ihre S3-Batchoperations-Richtlinie jetzt abgeschlossen ist, bringt die Konsole Sie zur Seite der IAM-**Richtlinien** zurück. Markieren Sie den Richtliniennamen, klicken Sie auf die Schaltfläche links neben dem Richtliniennamen und wählen Sie **Policy actions (Richtlinienaktionen)**, und dann **Attach (Hinzufügen)**. 

   Um die neu erstellte Richtlinie einer IAM-Rolle zuzuordnen, wählen Sie die entsprechenden Benutzer, Gruppen oder Rollen in Ihrem Konto aus und wählen Sie **Attach policy (Richtlinie anfügen)** aus. Das bringt Sie zurück zur IAM-Konsole.

### IAM-Rolle für Batch-Vorgänge einrichten
<a name="bucket-key-ex-set-up-iam-role"></a>

1. Klicken Sie im Navigationsbereich der [IAM-Konsole](https://console.aws.amazon.com/iam/) auf **Rollen** und wählen Sie dann **Rolle erstellen** aus.

1. Wählen Sie **AWS-Service**, **S3** und **S3 Batch Operations**. Wählen Sie dann **Next: Permissions** aus.

1. Beginnen Sie mit der Eingabe des Namens der IAM-**Richtlinie**, die Sie soeben erstellt haben. Aktivieren Sie das Kontrollkästchen nach dem Richtliniennamen, wenn es angezeigt wird, und wählen Sie **Next: Markierungen (Weiter: Markierungen)**.

1. (Optional) Fügen Sie Markierungen hinzu, oder lassen Sie die Schlüssel- und Wertefelder für diese Übung leer. Klicken Sie auf **Next: Review** (Weiter: Prüfen).

1. Geben Sie einen Rollennamen ein, akzeptieren Sie die Standard-Beschreibung oder fügen Sie eine eigene hinzu. Wählen Sie **Create role** aus.

1. Stellen Sie sicher, dass der Benutzer, der den Auftrag erstellt, über die Berechtigungen im folgenden Beispiel verfügt. 

   Ersetzen Sie `account-id` durch Ihre AWS-Konto -ID und `IAM-role-name` durch den Namen, den Sie auf die IAM-Rolle anwenden möchten, die Sie später während der Auftragserstellung in Batch Operations erstellen werden. Weitere Informationen finden Sie unter [Gewähren von Berechtigungen für Batchoperationen](batch-ops-iam-role-policies.md).

   ```
               {
               "Sid": "AddIamPermissions",
               "Effect": "Allow",
               "Action": [
               "iam:GetRole",
               "iam:PassRole"
               ],
               "Resource": "arn:aws:iam::account-id:role/IAM-role-name"
               }
   ```

### S3 Bucket Keys für einen vorhandenen Bucket aktivieren
<a name="bucket-key-ex-enable-s3-bucket-key-on-a-bucket"></a>

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

1. Wählen Sie in der Liste **Buckets** den Bucket aus, für den Sie einen S3-Bucket-Schlüssel aktivieren möchten.

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

1. Wählen Sie unter **Default encryption (Standard-Verschlüsselung)** **Edit (Bearbeiten)** aus.

1. Unter **Verschlüsselungstyp** können Sie zwischen **Von Amazon S3 verwalteten Schlüsseln (SSE-S3)** und **AWS Key Management Service -Schlüsseln (SSE-KMS)** wählen. 

1. Wenn Sie unter **AWS Key Management Service Schlüssel (SSE-KMS)** ausgewählt haben **AWS KMS key**, können Sie den AWS KMS Schlüssel über eine der folgenden Optionen angeben.
   + Wenn Sie aus einer Liste verfügbarer KMS-Schlüssel auswählen möchten, wählen Sie **Aus Ihren AWS KMS -Schlüsseln wählen** aus. Wählen Sie in der Liste verfügbarer Schlüssel einen KMS-Schlüssel mit symmetrischer Verschlüsselung aus, der sich in derselben Region wie Ihr Bucket befindet. Sowohl der AWS verwaltete Schlüssel (`aws/s3`) als auch Ihre vom Kunden verwalteten Schlüssel werden in der Liste angezeigt.
   + Um den KMS-Schlüssel-ARN **einzugeben, wählen Sie AWS KMS Schlüssel-ARN** eingeben und geben Sie dann 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. Unter **Bucket Key (Bucket-Schlüssel)**, wählen Sie **Enable (Aktivieren)** und dann **Save changes (Änderungen speichern)** aus.

Nachdem nun ein S3-Bucket-Schlüssel auf Bucket-Ebene aktiviert ist, übernehmen Objekte, die in diesen Bucket hochgeladen, geändert oder kopiert werden, diese Verschlüsselungskonfiguration standardmäßig. Dies umfasst Objekte, die mit Amazon S3 Batch Operations kopiert wurden.

### Erstellen eines Auftrags für S3-BatchVorgänge
<a name="bucket-key-ex-create-job"></a>

1. Ö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 Navigationsbereich die Option **Batch Operations (Batch-Vorgänge)** und dann **Create Job (Auftrag erstellen)**.

1. Wählen Sie die **Region**, in der Sie Ihre Objekte speichern und wählen Sie **CSV** als Manifest-Typ.

1. Geben Sie den Pfad ein, oder navigieren Sie zu der CSV-Manifestdatei, die Sie zuvor aus Ergebnisse von S3 Select (oder Athena) erstellt haben. Wenn Ihr Manifest eine Version enthält IDs, wählen Sie dieses Feld aus. Wählen Sie **Next**.

1. Wählen Sie die **Copy**-Operation und wählen Sie den Ziel-Bucket für den Kopiervorgang aus. Sie können serverseitige Verschlüsselung deaktiviert lassen. Solange S3 Bucket-Schlüssel für den Ziel-Bucket aktiviert ist, wendet der Kopiervorgang S3 Bucket-Schlüssel auf den Ziel-Bucket an.

1. (Optional) Wählen Sie nach Bedarf eine Speicherklasse und die anderen Parameter aus. Die in diesem Schritt angegebenen Parameter gelten für alle Vorgänge, die an den im Manifest aufgeführten Objekten ausgeführt werden. Wählen Sie **Weiter** aus.

1. Gehen Sie zum Konfigurieren der serverseitigen Verschlüsselung wie folgt vor: 

   1. Wählen Sie unter **Serverseitige Verschlüsselung** eine der folgenden Optionen 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 einen Verschlüsselungsschlüssel angeben. 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. Wenn Sie unter **Verschlüsselungseinstellungen** die Option **Verschlüsselungsschlüssel angeben** auswählen, müssen Sie entweder **Verwenden von Ziel-Bucket-Einstellungen für die Standardverschlüsselung** oder **Überschreiben der Ziel-Bucket-Einstellungen für die Standardverschlüsselung** auswählen.

   1. Wenn Sie **Überschreiben der Ziel-Bucket-Einstellungen für die Standardverschlüsselung** auswählen, müssen Sie die folgenden Verschlüsselungseinstellungen konfigurieren.

      1. Unter **Verschlüsselungstyp** müssen Sie entweder **Von Amazon S3 verwaltete 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 erhalten Sie unter [Verwenden serverseitiger Verschlüsselung mit von Amazon S3 verwalteten Schlüsseln (SSE-S3)](UsingServerSideEncryption.md) und [Verwenden der serverseitigen Verschlüsselung mit AWS KMS Schlüsseln (SSE-KMS)](UsingKMSEncryption.md).

      1. Wenn Sie **AWS Key Management Service Schlüssel (SSE-KMS)** wählen, können Sie unter **AWS KMS key**Ihr AWS KMS key durch eine der folgenden Optionen angeben.
         + Um aus einer Liste verfügbarer KMS-Schlüssel auszuwählen, wählen Sie **Wählen Sie aus Ihrem AWS KMS keys** und wählen Sie dann einen KMS-Schlüssel mit symmetrischer Verschlüsselung in derselben Region wie Ihr Bucket aus. Sowohl der AWS verwaltete Schlüssel (`aws/s3`) als auch Ihre vom Kunden verwalteten Schlüssel werden in der Liste angezeigt.
         + 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 unter **Bucket Key** (Bucket-Schlüssel) die Option **Enable** (Aktivieren). Die Copy-Operation wendet einen S3-Bucket-Schlüssel auf den Ziel-Bucket an.

1. Geben Sie Ihrem Job eine Beschreibung (oder behalten Sie die Standardeinstellung bei), legen Sie die Prioritätsstufe fest, wählen Sie einen Berichtstyp aus und geben Sie den **Pfad zum Ziel des Fertigstellungsberichts** an.

1. Stellen Sie im Abschnitt **Permissions (Berechtigungen)** sicher, dass Sie die IAM-Rolle für Batch-Vorgänge auswählen, die Sie zuvor definiert haben. Wählen Sie **Next**.

1. Überprüfen Sie die Einstellungen unter **Review (Überprüfen)**. Wenn Sie Änderungen vornehmen müssen, wählen Sie **Previous (Vorherige)** aus. Nachdem Sie die Einstellungen für Batch-Vorgänge bestätigt haben, wählen Sie **Create Job (Auftrag erstellen)**. 

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

### Ausführen eines Auftrags für S3-BatchVorgänge
<a name="bucket-key-ex-run-job"></a>

Der Setup-Assistent kehrt Sie automatisch zum Abschnitt S3-Batch-Vorgänge der Amazon S3-Konsole zurück. Ihr neuer Auftrag wechselt vom **New**-Zustand in den **Preparing**-Zustand, da S3 den Prozess beginnt. Während des Preparing-Zustands liest S3 das Manifest des Auftrags, prüft es auf Fehler und berechnet die Anzahl der Objekte.

1. Klicken Sie auf die Aktualisierungs-Schaltfläche in der Amazon S3-Konsole, um den Fortschritt zu überprüfen. Abhängig von der Größe des Manifests kann das Lesen Minuten oder Stunden dauern.

1. Nachdem S3 das Manifest des Auftrags gelesen hat, wechselt der Auftrag in den Zustand **Awaiting your confirmation (Wartet auf Ihre Bestätigung)**. Klicken Sie auf die Options-Schaltfläche links neben der Auftrags-ID und wählen Sie **Run job (Auftrag ausführen)**.

1. Wählen Sie die Einstellungen für den Auftrag aus und wählen Sie in der unteren rechten Ecke des Fensters **Run job (Auftrag ausführen)** aus.

   Nachdem der Auftrag ausgeführt wird, können Sie die Schaltfläche Aktualisieren auswählen, um den Fortschritt über die Dashboard-Ansicht der Konsole zu überprüfen oder den bestimmten Auftrag auszuwählen.

1. Wenn der Auftrag abgeschlossen wurde, können Sie die **Successful (erfolgreichen)** und **Failed (fehlgeschlagenen)** Objektzählungen anzeigen, um zu bestätigen, dass alles wie erwartet ausgeführt wurde. Wenn Sie Auftragsberichte aktiviert haben, überprüfen Sie Ihren Auftragsbericht auf die genaue Ursache für fehlgeschlagene Vorgänge.

   Sie können diese Schritte auch mithilfe der AWS CLI AWS SDKs, oder Amazon S3 S3-REST-API ausführen. Weitere Informationen zum Nachverfolgen von Auftragsstatus- und Abschlussberichten finden Sie unter [Verfolgen von Auftragsstatus- und Abschluss](batch-ops-job-status.md).

Beispiele, die den Kopiervorgang mit Tags unter Verwendung von AWS CLI und zeigen AWS SDK für Java, finden Sie unter[Erstellen eines Batch-Vorgangsauftrags mit Auftrags-Markierungen zur Kennzeichnung](batch-ops-tags-create.md).

# Berechnen von Prüfsummen
<a name="batch-ops-compute-checksums"></a>

Sie können S3 Batch Operations mit der Operation **Prüfsumme berechnen** verwenden, um Prüfsummenberechnungen für in Amazon S3 gespeicherte Objekte im Ruhezustand durchzuführen. Die Operation **Prüfsumme berechnen** berechnet Objektprüfsummen, die Sie zur Überprüfung der Datenintegrität verwenden können, ohne Objekte für gespeicherte Daten herunterzuladen oder wiederherzustellen. Mit der Operation **Prüfsumme berechnen** können Sie Prüfsummen sowohl für zusammengesetzte als auch für vollständige Objektprüfsummentypen und für alle unterstützten Prüfsummenalgorithmen berechnen.

Mit der Operation **Prüfsumme berechnen** können Sie Milliarden von Objekten mit einer einzigen Auftragsanfrage verarbeiten. Dieser Stapelvorgang ist mit allen S3-Speicherklassen kompatibel, unabhängig von der Objektgröße. Um einen **Compute-Prüfsummenjob** zu erstellen, verwenden Sie die Amazon S3 S3-Konsole, die AWS Command Line Interface (AWS CLI) AWS SDKs, die oder die Amazon S3 S3-REST-API.

Wenn Sie [die Protokollierung des Serverzugriffs aktivieren](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html), können Sie auch Protokolleinträge über Ihren **Prüfsummenberechnungsauftrag** erhalten. Die Auftragsoperation **Prüfsumme berechnen** gibt nach Abschluss der Prüfsummenberechnungen separate Protokollereignisse für den Serverzugriff aus. Diese Protokolleinträge folgen dem Standardformat [S3-Server-Zugriffsprotokollierung](https://docs.aws.amazon.com/AmazonS3/latest/userguide/LogFormat.html) und enthalten Felder wie Operationstyp, Zeitstempel, [Fehlercodes](https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList)und die zugehörige **Prüfsumme berechnen** -Job-ID. Dieses Protokoll liefert einen Audit Trail der Prüfsummenüberprüfung Ihrer Objekte und hilft Ihnen bei der Verfolgung und Überprüfung von Datenintegritätsoperationen. 

**Anmerkung**  
Die Operation **Prüfsumme berechnen** unterstützt nicht die serverseitige Verschlüsselung mit vom Kunden bereitgestellten Verschlüsselungsschlüsseln (SSE-C) verschlüsselter Objekte. Sie können den **Checksum-Vorgang „Compute**“ jedoch mit Objekten verwenden, die mit [serverseitiger Verschlüsselung mit verwalteten S3-Schlüsseln (SSE-S3) und serverseitiger Verschlüsselung mit (DSSE-KMS)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html) verschlüsselt wurden. AWS Key Management Service **Stellen Sie sicher, dass Sie die [richtigen AWS KMS Berechtigungen für die Ausführung des Prüfsummenvorgangs „Compute“ erteilt](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html#require-sse-kms) haben.**

Um mit der Operation **Prüfsumme berechnen** mit Batch-Operationen zu beginnen, können Sie entweder:
+ Manuelles Erstellen einer neuen Manifest-Datei.
+ Verwenden Sie ein vorhandenes Manifest.
+ Direkte Batch-Vorgänge zur automatischen Generierung eines Manifests auf Grundlage der Objektfilterkriterien, die Sie [bei der Erstellung Ihres Auftrags festlegen](https://docs.aws.amazon.com/AmazonS3/latest/userguide/batch-ops-create-job.html#specify-batchjob-manifest).

Übermitteln Sie dann Ihre **Prüfsumme berechnen**-Auftragsanfrage und überwachen Sie ihren Status. Nach Beendigung des Auftrags **Prüfsumme berechnen** erhalten Sie automatisch einen Abschlussbericht im angegebenen Ziel-Bucket. Dieser Abschlussbericht enthält Prüfsummeninformationen für jedes Objekt im Bucket, so dass Sie die Datenkonsistenz überprüfen können. Weitere Informationen darüber, wie Sie diesen Bericht zur Überprüfung des Auftrags verwenden können, finden Sie unter [Verfolgen des Auftragsstatus und Abschlussberichte](https://docs.aws.amazon.com/AmazonS3/latest/userguide/batch-ops-job-status.html).

Weitere Informationen zu **Prüfsumme berechnen** und zur Verwendung von **Prüfsumme berechnen** in der Konsole finden Sie unter [Überprüfen der Objektintegrität auf Daten im Ruhezustand in Amazon S3](checking-object-integrity-at-rest.md). Informationen zum Senden von REST-Anfragen an **Prüfsumme berechnen**finden Sie unter [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html) und [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html) in der *Amazon S3 API-Referenz*.

In den folgenden Abschnitten wird erläutert, wie Sie mit der Verwendung der Operation **Compute-Prüfsumme** mit S3-Batch-Operationen beginnen können.

**Topics**
+ [

## S3-Batch-Operationen **Prüfsumme berechnen** Überlegungen
](#batch-ops-compute-checksum-considerations)
+ [

## S3 Batch Operations Abschlussbericht
](#batch-ops-compute-checksum-completion-report)

## S3-Batch-Operationen **Prüfsumme berechnen** Überlegungen
<a name="batch-ops-compute-checksum-considerations"></a>

Bevor Sie die Operation **Prüfsumme berechnen** verwenden, sollten Sie die folgende Liste von Überlegungen lesen:
+ Wenn Ihr Manifest ein Versions-ID-Feld enthält, müssen Sie eine Versions-ID für alle Objekte im Manifest angeben. Wenn die Versions-ID nicht angegeben wird, führt die Anforderung **Prüfsumme berechnen** den Vorgang mit der neuesten Version des Objekts durch.
+ Um **Prüfsummenberechnung**-Operationsdetails in Ihren [Serverzugriffsprotokollen](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html)zu erhalten, müssen Sie zuerst [Serverzugriffsprotokollierung](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html) auf dem Quell-Bucket aktivieren und einen Ziel-Bucket zum Speichern der Protokolle angeben. Der Ziel-Bucket muss auch im selben Bucket AWS-Region und AWS-Konto wie der Quell-Bucket vorhanden sein. Nach der Konfiguration der Serverzugriffsprotokollierung erzeugt die Operation **Prüfsumme berechnen** [Protokolle](https://docs.aws.amazon.com/AmazonS3/latest/userguide/LogFormat.html#log-record-fields), die Standardfelder wie Operationstyp, HTTP-Statuscode, [S3-Fehlercodes](https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList), Zeitstempel und die zugehörige **Prüfsumme berechnen**-Job-ID enthalten. Die Operation **Prüfsumme berechnen** läuft asynchron. Infolgedessen verwenden die [Protokolleinträge](https://docs.aws.amazon.com/AmazonS3/latest/userguide/LogFormat.html#log-record-fields) in ihren Protokollen eine **Prüfsumme berechnen** -Job-ID anstelle einer Anforderungs-ID.
+ Die Berichterstellung kann bei gespeicherten Objekten bis zu einigen Stunden dauern.
+ Für die folgenden S3 Glacier-Speicherklassen kann der Auftrag **Prüfsumme berechnen** bis zu einer Woche in Anspruch nehmen:
  + S3 Glacier Flexible Retrieval
  + S3 Glacier Deep Archive
+ Für Buckets, für die der Abschlussbericht geschrieben wird, müssen Sie die [Bucketbesitzerbedingung](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-owner-condition.html#bucket-owner-condition-when-to-use) verwenden, wenn Sie den Vorgang **Prüfsumme berechnen** ausführen. Wenn der tatsächliche Bucket-Besitzer nicht mit dem erwarteten Bucket-Besitzer für die eingereichte Auftragsanfrage übereinstimmt, schlägt der Auftrag fehl. Eine Liste der S3-Vorgänge, die die Bucket-Eigentümer-Bedingung nicht unterstützen, finden Sie unter [Einschränkungen und Beschränkungen](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-owner-condition.html#bucket-owner-condition-restrictions-limitations).

## S3 Batch Operations Abschlussbericht
<a name="batch-ops-compute-checksum-completion-report"></a>

Wenn Sie einen Auftrag **Prüfsumme berechnen** erstellen, können Sie einen S3 Batch Operations-Abschlussbericht anfordern. Diese CSV-Datei enthält die Objekte, die Erfolgs- oder Fehlercodes, die Ausgaben und die Beschreibungen. Weitere Informationen zum Nachverfolgen von Aufträgen und zu Abschlussberichten finden Sie unter [Abschlussberichte](https://docs.aws.amazon.com/AmazonS3/latest/userguide/batch-ops-job-status.html#batch-ops-completion-report).

# Alle Objektmarkierungen löschen
<a name="batch-ops-delete-object-tagging"></a>

Sie können Amazon S3 Batch Operations verwenden, um umfangreiche Batch-Vorgänge für Amazon-S3-Objekte durchzuführen. Der Vorgang **Alle Objekt-Tags löschen** entfernt alle Amazon S3-Objekt-Tag-Sätze, die derzeit mit den im Manifest aufgeführten Objekten verknüpft sind. S3 Batch Operations unterstützt nicht das Löschen von Markierungen aus Objekten, während andere Markierungen beibehalten werden. 

Wenn sich die Objekte in Ihrem Manifest in einem versionierten Bucket befinden, können Sie die Tag-Sätze aus einer bestimmten Version eines Objekts entfernen. Hierzu müssen Sie für jedes Objekt im Manifest eine Versions-ID angeben. Wenn Sie keine Versions-ID für ein Objekt angeben, entfernt S3 Batch-Vorgänge den Tag-Satz aus der neuesten Version jedes Objekts. Weitere Informationen über Batchoperationsmanifeste finden Sie unter [Angeben eines Manifests](batch-ops-create-job.md#specify-batchjob-manifest). 

Weitere Informationen zur Objektmarkierung finden Sie unter [Kategorisierung Ihrer Objekte mit Hilfe von Tags](object-tagging.md) in diesem Handbuch und unter [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html), [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html) und [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html) in der *API-Referenz zum Amazon Simple Storage Service*.

**Warnung**  
Durch die Ausführung dieser Aufgabe werden alle Objekt-Tag-Sätze für jedes im Manifest aufgelistete Objekt entfernt. 

Informationen zum Erstellen einer Aufgabe **Alle Objekt-Tags löschen** mithilfe der Konsole finden Sie unter[Erstellen eines S3-Batch-Vorgangsauftrags](batch-ops-create-job.md).

## Beschränkungen und Einschränkungen
<a name="batch-ops-delete-object-tagging-restrictions"></a>

Wenn Sie Batch Operations verwenden, um Objekt-Tags zu löschen, gelten die folgenden Einschränkungen und Beschränkungen:
+ Die AWS Identity and Access Management (IAM-) Rolle, die Sie für die Ausführung des Jobs angeben, muss über Berechtigungen zur Ausführung des zugrunde liegenden Amazon S3 `DeleteObjectTagging` S3-Vorgangs verfügen. Weitere Informationen finden Sie unter [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html) in der *API-Referenz zu Amazon Simple Storage Service*.
+ S3 Batch Operations verwendet die Amazon-S3-Operation [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html), um die Tag-Sätze von jedem Objekt im Manifest zu entfernen. Alle Einschränkungen und Begrenzungen, die auf den zugrunde liegenden Vorgang zutreffen, gelten auch für S3-Batchoperations-Aufträge. 
+ Ein einziger Tagging-Auftrag zum Löschen von Objekten kann ein Manifest mit bis zu 20 Milliarden Objekten unterstützen.

# Funktion aufrufen AWS Lambda
<a name="batch-ops-invoke-lambda"></a>

Sie können Amazon S3 Batch Operations verwenden, um umfangreiche Batch-Vorgänge für Amazon-S3-Objekte durchzuführen. Der Vorgang Batch Operations der ** AWS Lambda Funktion aufrufen** initiiert AWS Lambda Funktionen zur Ausführung benutzerdefinierter Aktionen für Objekte, die in einem Manifest aufgeführt sind. In diesem Abschnitt wird beschrieben, wie Sie eine Lambda-Funktion zur Verwendung mit S3-Batch-Vorgänge erstellen und wie Sie einen Auftrag zum Aufrufen der Funktion erstellen. Die S3-Batch-Vorgängeaufgabe verwendet die `LambdaInvoke`-Operation, um eine Lambda-Funktion für jedes in einem Manifest aufgeführte Objekt auszuführen.

Sie können mit S3 Batch Operations arbeiten, indem Sie die Amazon S3 S3-Konsole AWS Command Line Interface (AWS CLI) oder die Amazon S3 S3-REST-API verwenden. AWS SDKs Weitere Informationen zur Verwendung von Lambda finden Sie unter [Getting started with AWS Lambda(Erste Schritte mit Lambda)](https://docs.aws.amazon.com/lambda/latest/dg/getting-started.html) im *AWS Lambda -Entwicklerhandbuch*. 

In den folgenden Abschnitten werden die ersten Schritte mit S3-Batch-Vorgänge mit Lambda erläutert.

**Topics**
+ [

## Verwenden von Lambda mit Batch Operations
](#batch-ops-invoke-lambda-using)
+ [

## Erstellen einer Lambda-Funktion zur Verwendung mit S3-BatchVorgänge
](#batch-ops-invoke-lambda-custom-functions)
+ [

## Erstellen eines S3-Batchoperations-Auftrags, der eine Lambda-Funktion aufruft
](#batch-ops-invoke-lambda-create-job)
+ [

## Bereitstellen von Informationen auf Aufgabenebene in Lambda-Manifesten
](#storing-task-level-information-in-lambda)
+ [

## Tutorial zu S3-Batchvorgängen
](#batch-ops-tutorials-lambda)

## Verwenden von Lambda mit Batch Operations
<a name="batch-ops-invoke-lambda-using"></a>

Wenn Sie S3 Batch Operations mit verwenden AWS Lambda, müssen Sie neue Lambda-Funktionen speziell für die Verwendung mit S3 Batch Operations erstellen. Sie können vorhandene ereignisbasierte Funktionen von Amazon S3 nicht mit S3-Batch-Vorgänge wiederverwenden. Ereignisfunktionen können Nachrichten lediglich erhalten und nicht zurückgeben. Die Lambda-Funktionen, die mit S3-Batch-Vorgänge verwendet werden, müssen Nachrichten akzeptieren und zurückgeben. Weitere Informationen zur Verwendung von Lambda mit Amazon S3-Ereignissen 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*.

Sie erstellen einen S3-Batchoperations-Auftrag, der Ihre Lambda-Funktion aufruft. Der Auftrag führt dieselbe Lambda-Funktion für alle in Ihrem Manifest aufgeführten Objekte aus. Sie können steuern, welche Versionen Ihrer Lambda-Funktion während der Verarbeitung der Objekte in Ihrem Manifest verwendet werden sollen. S3 Batch Operations unterstützt unqualifizierte Amazon-Ressourcennamen (ARNs), Aliase und bestimmte Versionen. *Weitere Informationen finden Sie unter [Einführung in die AWS Lambda Versionierung im Entwicklerhandbuch](https://docs.aws.amazon.com/lambda/latest/dg/versioning-intro.html).AWS Lambda *

Wenn Sie dem S3-Batchoperations-Auftrag mit einem Funktion-ARN zur Verfügung stellen, der einen Alias oder den-`$LATEST` Qualifizierer verwendet, und dann die Version aktualisieren, auf die einer davon verweist, beginnt S3-Batch-Vorgänge mit dem Aufruf der neuen Version Ihrer Lambda-Funktion. Dies kann nützlich sein, wenn Sie mitten in der Ausführung einer großen Aufgabe Funktionen aktualisieren möchten. Wenn Sie nicht möchten, dass S3 Batch Operations die verwendete Version ändert, geben Sie die spezifische Version im `FunctionARN`-Parameter an, wenn Sie Ihren Auftrag erstellen.

Ein einziger AWS Lambda Job mit S3 Batch Operations kann ein Manifest mit bis zu 20 Milliarden Objekten unterstützen.

### Verwenden von Lambda und Batch Operations mit Verzeichnis-Buckets
<a name="batch-ops-invoke-lambda-directory-buckets"></a>

Verzeichnis-Buckets sind eine Art von Amazon-S3-Buckets, die für Workloads oder leistungskritische Anwendungen entwickelt wurden, die eine konstante Latenzzeit im einstelligen Millisekundenbereich erfordern. Weitere Informationen finden Sie unter [Verzeichnis-Buckets](https://docs.aws.amazon.com//AmazonS3/latest/userguide/directory-buckets-overview.html).

Für die Verwendung von Batch Operations zum Aufrufen von Lambda-Funktionen, die auf Verzeichnis-Buckets wirken, gelten besondere Anforderungen. Beispielsweise müssen Sie Ihre Lambda-Anfrage mithilfe eines aktualisierten JSON-Schemas strukturieren und [https://docs.aws.amazon.com//AmazonS3/latest/API/API_control_LambdaInvokeOperation.html#AmazonS3-Type-control_LambdaInvokeOperation-InvocationSchemaVersion](https://docs.aws.amazon.com//AmazonS3/latest/API/API_control_LambdaInvokeOperation.html#AmazonS3-Type-control_LambdaInvokeOperation-InvocationSchemaVersion) 2.0 angeben (nicht 1.0), wenn Sie den Auftrag erstellen. Mit diesem aktualisierten Schema können Sie optionale Schlüssel-Wert-Paare für [https://docs.aws.amazon.com//AmazonS3/latest/API/API_control_LambdaInvokeOperation.html#AmazonS3-Type-control_LambdaInvokeOperation-UserArguments](https://docs.aws.amazon.com//AmazonS3/latest/API/API_control_LambdaInvokeOperation.html#AmazonS3-Type-control_LambdaInvokeOperation-UserArguments) angeben, mit denen Sie bestimmte Parameter vorhandener Lambda-Funktionen ändern können. Weitere Informationen finden [Sie unter Automatisieren der Objektverarbeitung in Amazon S3 S3-Verzeichnis-Buckets mit S3 Batch Operations und AWS Lambda](https://aws.amazon.com/blogs/storage/automate-object-processing-in-amazon-s3-directory-buckets-with-s3-batch-operations-and-aws-lambda/) im AWS Storage-Blog.

### Antwort- und Ergebniscodes
<a name="batch-ops-invoke-lambda-response-codes"></a>

S3 Batch Operations ruft die Lambda-Funktion mit einem oder mehreren Schlüsseln auf, mit denen jeweils eine `TaskID` verknüpft ist. S3 Batch Operations erwartet von Lambda-Funktionen einen Ergebniscode pro Schlüssel. Jede in der Anfrage IDs gesendete Aufgabe, die nicht mit einem Ergebniscode pro Schlüssel zurückgegeben wird, erhält den Ergebniscode aus dem `treatMissingKeysAs` Feld. `treatMissingKeysAs`ist ein optionales Anforderungsfeld und hat standardmäßig den Wert. `TemporaryFailure` Die folgende Tabelle enthält die anderen möglichen Ergebniscodes und Werte für das `treatMissingKeysAs`-Feld. 


| Antwortcode | Beschreibung | 
| --- | --- | 
| Succeeded | Die Aufgabe wurde normal abgeschlossen. Wenn Sie einen Aufgabenabschlussbericht angefordert haben, ist die Ergebniszeichenfolge der Aufgabe in dem Bericht enthalten. | 
| TemporaryFailure | Die Aufgabe unterlag einem vorübergehenden Fehler und wird erneut ausgeführt, bevor der Job abgeschlossen ist. Die Ergebniszeichenfolge wird ignoriert. Wenn dies der letzte Versuch ist, ist die Fehlermeldung im abschließenden Bericht enthalten. | 
| PermanentFailure | Die Aufgabe unterlag einem dauerhaften Fehler. Wenn Sie einen Aufgabenabschlussbericht angefordert haben, ist die Aufgabe als Failed markiert und enthält die Fehlermeldungszeichenfolge. Ergebniszeichenfolge aus fehlgeschlagenen Aufgaben werden ignoriert. | 

## Erstellen einer Lambda-Funktion zur Verwendung mit S3-BatchVorgänge
<a name="batch-ops-invoke-lambda-custom-functions"></a>

Dieser Abschnitt enthält Beispielberechtigungen AWS Identity and Access Management (IAM), die Sie mit Ihrer Lambda-Funktion verwenden müssen. Er enthält auch eine Beispiel-Lambda-Funktion zur Verwendung mit S3-BatchVorgänge. Wenn Sie noch nie eine Lambda-Funktion erstellt haben, finden Sie weitere Informationen 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*.

Sie müssen Lambda-Funktionen speziell für die Verwendung mit S3-Batch-Vorgänge erstellen. Sie können vorhandene ereignisbasierte Lambda-Funktionen von Amazon S3 nicht wiederverwenden, da Lambda-Funktionen, die für S3 Batch Operations verwendet werden, spezielle Datenfelder akzeptieren und zurückgeben müssen. 

**Wichtig**  
AWS Lambda In Java geschriebene Funktionen akzeptieren entweder [https://github.com/aws/aws-lambda-java-libs/blob/master/aws-lambda-java-core/src/main/java/com/amazonaws/services/lambda/runtime/RequestHandler.java](https://github.com/aws/aws-lambda-java-libs/blob/master/aws-lambda-java-core/src/main/java/com/amazonaws/services/lambda/runtime/RequestHandler.java)oder [https://github.com/aws/aws-lambda-java-libs/blob/master/aws-lambda-java-core/src/main/java/com/amazonaws/services/lambda/runtime/RequestStreamHandler.java](https://github.com/aws/aws-lambda-java-libs/blob/master/aws-lambda-java-core/src/main/java/com/amazonaws/services/lambda/runtime/RequestStreamHandler.java)Handler-Schnittstellen. Um das Anforderungs- und Antwortformat von S3 Batch Operations zu unterstützen, AWS Lambda ist jedoch die `RequestStreamHandler` Schnittstelle für die benutzerdefinierte Serialisierung und Deserialisierung einer Anfrage und Antwort erforderlich. Diese Schnittstelle ermöglicht es Lambda, ein InputStream und an die `handleRequest` Java-Methode OutputStream zu übergeben.   
Achten Sie darauf, die `RequestStreamHandler`-Schnittstelle zu verwenden, wenn Sie Lambda-Funktionen mit S3-Batch-Vorgänge verwenden. Wenn Sie eine `RequestHandler`-Schnittstelle verwenden, schlägt der Batchauftrag mit „Invalid JSON returned in Lambda payload (Ungültiges JSON in Lambda-Nutzlast zurückgegeben)“ im Abschlussbericht fehl.   
Weitere Informationen finden Sie unter [Handler interfaces (Handler-Schnittstellen)](https://docs.aws.amazon.com//lambda/latest/dg/java-handler.html#java-handler-interfaces) im *AWS Lambda -Benutzerhandbuch.*

### Beispiele für IAM-Berechtigungen
<a name="batch-ops-invoke-lambda-custom-functions-iam"></a>

Im Folgenden finden Sie Beispiele für die IAM-Berechtigungen, die für die Verwendung einer Lambda-Funktion mit S3-Batch-Vorgänge erforderlich sind. 

**Example – Vertrauensrichtlinie für S3-BatchVorgänge**  
Nachfolgend finden Sie ein Beispiel für eine Vertrauensrichtlinie, die Sie für die Batchoperations-IAM-Rolle verwenden können. Diese IAM-Rolle wird beim Erstellen des Auftrags angegeben und erteilt Batch-Vorgänge die Berechtigung, die IAM-Rolle zu übernehmen.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "batchoperations.s3.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

**Example – Lambda IAM-Richtlinie**  
Nachfolgend finden Sie ein Beispiel für eine IAM-Richtlinie, die S3-Batch-Vorgänge die Berechtigung zum Aufrufen der Lambda-Funktion und zum Lesen des Eingabemanifests erteilt.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "BatchOperationsLambdaPolicy",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetObjectVersion",
                "s3:PutObject",
                "lambda:InvokeFunction"
            ],
            "Resource": "*"
        }
    ]
}
```

### Beispiel: Anforderung und Antwort
<a name="batch-ops-invoke-lambda-custom-functions-request"></a>

Dieser Abschnitt bietet Beispiele für Anforderungen und Antworten für die Lambda-Funktion.

**Example Anforderung**  
Nachfolgend sehen Sie ein JSON-Beispiel für eine Anforderung für die Lambda-Funktion.  

```
{
    "invocationSchemaVersion": "1.0",
    "invocationId": "YXNkbGZqYWRmaiBhc2RmdW9hZHNmZGpmaGFzbGtkaGZza2RmaAo",
    "job": {
        "id": "f3cc4f60-61f6-4a2b-8a21-d07600c373ce"
    },
    "tasks": [
        {
            "taskId": "dGFza2lkZ29lc2hlcmUK",
            "s3Key": "customerImage1.jpg",
            "s3VersionId": "1",
            "s3BucketArn": "arn:aws:s3:us-east-1:0123456788:amzn-s3-demo-bucket1"
        }
    ]
}
```

**Example Antwort**  
Nachfolgend sehen Sie ein JSON-Beispiel für eine Antwort für die Lambda-Funktion.  

```
{
  "invocationSchemaVersion": "1.0",
  "treatMissingKeysAs" : "PermanentFailure",
  "invocationId" : "YXNkbGZqYWRmaiBhc2RmdW9hZHNmZGpmaGFzbGtkaGZza2RmaAo",
  "results": [
    {
      "taskId": "dGFza2lkZ29lc2hlcmUK",
      "resultCode": "Succeeded",
      "resultString": "[\"Mary Major", \"John Stiles\"]"
    }
  ]
}
```

### Beispiel für eine Lambda-Funktion für S3-BatchVorgänge
<a name="batch-ops-invoke-lambda-custom-functions-example"></a>

Im folgenden Beispiel entfernt Python Lambda eine Löschmarkierung von einem versionierten Objekt.

Wie das Beispiel zeigt, sind Schlüssel aus S3-Batch-Vorgänge URL-codiert. Um Amazon S3 mit anderen AWS Diensten zu verwenden, ist es wichtig, dass Sie den Schlüssel, der von S3 Batch Operations übergeben wird, per URL dekodieren.

```
import logging
from urllib import parse
import boto3
from botocore.exceptions import ClientError

logger = logging.getLogger(__name__)
logger.setLevel("INFO")

s3 = boto3.client("s3")


def lambda_handler(event, context):
    """
    Removes a delete marker from the specified versioned object.

    :param event: The S3 batch event that contains the ID of the delete marker
                  to remove.
    :param context: Context about the event.
    :return: A result structure that Amazon S3 uses to interpret the result of the
             operation. When the result code is TemporaryFailure, S3 retries the
             operation.
    """
    # Parse job parameters from Amazon S3 batch operations
    invocation_id = event["invocationId"]
    invocation_schema_version = event["invocationSchemaVersion"]

    results = []
    result_code = None
    result_string = None

    task = event["tasks"][0]
    task_id = task["taskId"]

    try:
        obj_key = parse.unquote_plus(task["s3Key"], encoding="utf-8")
        obj_version_id = task["s3VersionId"]
        bucket_name = task["s3BucketArn"].split(":")[-1]

        logger.info(
            "Got task: remove delete marker %s from object %s.", obj_version_id, obj_key
        )

        try:
            # If this call does not raise an error, the object version is not a delete
            # marker and should not be deleted.
            response = s3.head_object(
                Bucket=bucket_name, Key=obj_key, VersionId=obj_version_id
            )
            result_code = "PermanentFailure"
            result_string = (
                f"Object {obj_key}, ID {obj_version_id} is not " f"a delete marker."
            )

            logger.debug(response)
            logger.warning(result_string)
        except ClientError as error:
            delete_marker = error.response["ResponseMetadata"]["HTTPHeaders"].get(
                "x-amz-delete-marker", "false"
            )
            if delete_marker == "true":
                logger.info(
                    "Object %s, version %s is a delete marker.", obj_key, obj_version_id
                )
                try:
                    s3.delete_object(
                        Bucket=bucket_name, Key=obj_key, VersionId=obj_version_id
                    )
                    result_code = "Succeeded"
                    result_string = (
                        f"Successfully removed delete marker "
                        f"{obj_version_id} from object {obj_key}."
                    )
                    logger.info(result_string)
                except ClientError as error:
                    # Mark request timeout as a temporary failure so it will be retried.
                    if error.response["Error"]["Code"] == "RequestTimeout":
                        result_code = "TemporaryFailure"
                        result_string = (
                            f"Attempt to remove delete marker from  "
                            f"object {obj_key} timed out."
                        )
                        logger.info(result_string)
                    else:
                        raise
            else:
                raise ValueError(
                    f"The x-amz-delete-marker header is either not "
                    f"present or is not 'true'."
                )
    except Exception as error:
        # Mark all other exceptions as permanent failures.
        result_code = "PermanentFailure"
        result_string = str(error)
        logger.exception(error)
    finally:
        results.append(
            {
                "taskId": task_id,
                "resultCode": result_code,
                "resultString": result_string,
            }
        )
    return {
        "invocationSchemaVersion": invocation_schema_version,
        "treatMissingKeysAs": "PermanentFailure",
        "invocationId": invocation_id,
        "results": results,
    }
```

## Erstellen eines S3-Batchoperations-Auftrags, der eine Lambda-Funktion aufruft
<a name="batch-ops-invoke-lambda-create-job"></a>

Wenn Sie einen S3-Batchoperations-Auftrag erstellen, um eine Lambda-Funktion aufzurufen, müssen Sie Folgendes angeben:
+ Den ARN Ihrer Lambda-Funktion (möglicherweise mit dem Funktionsalias oder einer spezifischen Versionsnummer)
+ Eine IAM-Rolle mit der Berechtigung zum Aufruf der Funktion
+ Den Aktionsparamete `LambdaInvokeFunction`

Weitere Informationen zum Erstellen eines S3-Batchoperations-Auftrags finden Sie unter [Erstellen eines S3-Batch-Vorgangsauftrags](batch-ops-create-job.md) und [Von S3 Batch Operations unterstützte Vorgänge](batch-ops-operations.md).

Im folgenden Beispiel wird ein S3-Batch-Operations-Auftrag erstellt, der eine Lambda-Funktion mit der AWS CLI aufruft. Wenn Sie dieses Beispiel verwenden möchten, ersetzen Sie die *`user input placeholders`* (Platzhalter für Benutzereingaben) durch Ihre Informationen.

```
aws s3control create-job
    --account-id account-id
    --operation  '{"LambdaInvoke": { "FunctionArn": "arn:aws:lambda:region:account-id:function:LambdaFunctionName" } }'
    --manifest '{"Spec":{"Format":"S3BatchOperations_CSV_20180820","Fields":["Bucket","Key"]},"Location":{"ObjectArn":"arn:aws:s3:::amzn-s3-demo-manifest-bucket","ETag":"ManifestETag"}}'
    --report '{"Bucket":"arn:aws:s3:::amzn-s3-demo-bucket","Format":"Report_CSV_20180820","Enabled":true,"Prefix":"ReportPrefix","ReportScope":"AllTasks"}'
    --priority 2
    --role-arn arn:aws:iam::account-id:role/BatchOperationsRole
    --region region
    --description "Lambda Function"
```

## Bereitstellen von Informationen auf Aufgabenebene in Lambda-Manifesten
<a name="storing-task-level-information-in-lambda"></a>

Wenn Sie AWS Lambda Funktionen mit S3 Batch Operations verwenden, benötigen Sie möglicherweise zusätzliche Daten für jede Aufgabe oder Taste, an der gearbeitet wird. Möglicherweise möchten Sie, dass sowohl ein Quellobjektschlüssel als auch ein neuer Objektschlüssel bereitgestellt wird. Ihre Lambda-Funktion kann in einem solchen Fall den Quellschlüssel in einen neuen S3-Bucket unter einem neuen Namen speichern. Standardmäßig können Sie mit Batch Operations nur den Ziel-Bucket und eine Liste von Quellschlüsseln im Eingabemanifest für Ihrer Aufgabe angeben. Die nachfolgenden Beispiele beschrieben, wie Sie weitere Daten in Ihr Manifest aufnehmen können, sodass Sie komplexere Lambda-Funktionen ausführen können.

Zum Angeben von Pro-Schlüssel-Parametern in Ihrem S3-BatchVorgängemanifest zur Verwendung im Code der Lambda-Funktion verwenden Sie das folgende URL-kodierte JSON-Format. Das `key`-Feld wird an Ihre Lambda-Funktion übergeben, als wäre es ein Amazon S3-Objektschlüssel. Es kann jedoch von der Lambda-Funktion so interpretiert werden, dass es andere Werte oder mehrere Schlüssel enthält, wie in den folgenden Beispielen gezeigt. 

**Anmerkung**  
Die maximale Anzahl von Zeichen für das Feld `key` im Manifest beträgt 1.024.

**Example – Manifest, das die „Amazon-S3-Schlüssel“ durch JSON-Zeichenfolgen ersetzt**  
Die URL-kodierte Version muss S3-Batch-Vorgänge bereitgestellt werden.  

```
amzn-s3-demo-bucket,{"origKey": "object1key", "newKey": "newObject1Key"}
amzn-s3-demo-bucket,{"origKey": "object2key", "newKey": "newObject2Key"}
amzn-s3-demo-bucket,{"origKey": "object3key", "newKey": "newObject3Key"}
```

**Example – URL-kodiertes Manifest**  
Diese URL-kodierte Version muss S3-Batch-Vorgänge bereitgestellt werden. Die non-URL-encoded Version funktioniert nicht.  

```
amzn-s3-demo-bucket,%7B%22origKey%22%3A%20%22object1key%22%2C%20%22newKey%22%3A%20%22newObject1Key%22%7D
amzn-s3-demo-bucket,%7B%22origKey%22%3A%20%22object2key%22%2C%20%22newKey%22%3A%20%22newObject2Key%22%7D
amzn-s3-demo-bucket,%7B%22origKey%22%3A%20%22object3key%22%2C%20%22newKey%22%3A%20%22newObject3Key%22%7D
```

**Example – Lambda-Funktion im Manifest-Format, die Ergebnisse in den Auftragsbericht schreibt.**  
Dieses Beispiel für ein URL-codiertes Manifest enthält durch Pipe-Zeichen getrennte Objektschlüssel für die folgende Lambda-Funktion zum Analysieren.  

```
amzn-s3-demo-bucket,object1key%7Clower
amzn-s3-demo-bucket,object2key%7Cupper
amzn-s3-demo-bucket,object3key%7Creverse
amzn-s3-demo-bucket,object4key%7Cdelete
```
Diese Lambda-Funktion zeigt, wie eine durch Pipe-Zeichen getrennte Aufgabe analysiert wird, die im Amazon S3-Batch-Operations-Manifest codiert ist. Die Aufgabe gibt an, welcher Revisionsvorgang auf das angegebene Objekt angewendet wird.  

```
import logging
from urllib import parse
import boto3
from botocore.exceptions import ClientError

logger = logging.getLogger(__name__)
logger.setLevel("INFO")

s3 = boto3.resource("s3")


def lambda_handler(event, context):
    """
    Applies the specified revision to the specified object.

    :param event: The Amazon S3 batch event that contains the ID of the object to
                  revise and the revision type to apply.
    :param context: Context about the event.
    :return: A result structure that Amazon S3 uses to interpret the result of the
             operation.
    """
    # Parse job parameters from Amazon S3 batch operations
    invocation_id = event["invocationId"]
    invocation_schema_version = event["invocationSchemaVersion"]

    results = []
    result_code = None
    result_string = None

    task = event["tasks"][0]
    task_id = task["taskId"]
    # The revision type is packed with the object key as a pipe-delimited string.
    obj_key, revision = parse.unquote_plus(task["s3Key"], encoding="utf-8").split("|")
    bucket_name = task["s3BucketArn"].split(":")[-1]

    logger.info("Got task: apply revision %s to %s.", revision, obj_key)

    try:
        stanza_obj = s3.Bucket(bucket_name).Object(obj_key)
        stanza = stanza_obj.get()["Body"].read().decode("utf-8")
        if revision == "lower":
            stanza = stanza.lower()
        elif revision == "upper":
            stanza = stanza.upper()
        elif revision == "reverse":
            stanza = stanza[::-1]
        elif revision == "delete":
            pass
        else:
            raise TypeError(f"Can't handle revision type '{revision}'.")

        if revision == "delete":
            stanza_obj.delete()
            result_string = f"Deleted stanza {stanza_obj.key}."
        else:
            stanza_obj.put(Body=bytes(stanza, "utf-8"))
            result_string = (
                f"Applied revision type '{revision}' to " f"stanza {stanza_obj.key}."
            )

        logger.info(result_string)
        result_code = "Succeeded"
    except ClientError as error:
        if error.response["Error"]["Code"] == "NoSuchKey":
            result_code = "Succeeded"
            result_string = (
                f"Stanza {obj_key} not found, assuming it was deleted "
                f"in an earlier revision."
            )
            logger.info(result_string)
        else:
            result_code = "PermanentFailure"
            result_string = (
                f"Got exception when applying revision type '{revision}' "
                f"to {obj_key}: {error}."
            )
            logger.exception(result_string)
    finally:
        results.append(
            {
                "taskId": task_id,
                "resultCode": result_code,
                "resultString": result_string,
            }
        )
    return {
        "invocationSchemaVersion": invocation_schema_version,
        "treatMissingKeysAs": "PermanentFailure",
        "invocationId": invocation_id,
        "results": results,
    }
```

## Tutorial zu S3-Batchvorgängen
<a name="batch-ops-tutorials-lambda"></a>

Das folgende Tutorial enthält vollständige end-to-end Verfahren für einige Batch-Operationsaufgaben mit Lambda. In diesem Tutorial erfahren Sie, wie Sie Batch Operations einrichten, um eine Lambda-Funktion zum Batch-Transcodieren von Videos aufzurufen, die in einem S3-Quell-Bucket gespeichert sind. Die Lambda-Funktion ruft AWS Elemental MediaConvert auf, um die Videos zu transkodieren. 
+ [Tutorial: Batch-Transcodierung von Videos mit S3 Batch Operations](tutorial-s3-batchops-lambda-mediaconvert-video.md)

# Alle Objektmarkierungen ersetzen
<a name="batch-ops-put-object-tagging"></a>

Sie können Amazon S3 Batch Operations verwenden, um umfangreiche Batch-Vorgänge für Amazon-S3-Objekte durchzuführen. Der Vorgang **Ersetzen aller Objekt-Tags** ersetzt die Objekt-Tags für jedes im Manifest aufgeführte Objekt. Ein -Objekt-Tag ist ein Schlüssel-Wert-Paar, mit dem Sie Metadaten über ein Objekt speichern können.

Um einen Auftrag **Alle Objekt-Tags ersetzen** zu erstellen, geben Sie eine Reihe von Tags an, die Sie anwenden möchten. S3 Batch-Vorgänge wendet auf jedes Objekt den gleichen Markierungssatz an. Der von Ihnen bereitgestellte Tag-Satz ersetzt alle Tag-Sätze, die bereits mit den Objekten im Manifest verknüpft sind. S3 Batch Operations unterstützen nicht das Hinzufügen von Tags zu Objekten, während die vorhandenen Tags unverändert gelassen werden.

Wenn die Objekte in Ihrem Manifest zu einem versionierten Bucket gehören, können Sie die Tag-Gruppen auf bestimmte Versionen der einzelnen Objekte anwenden. Geben Sie hierzu für jedes Objekt im Manifest eine Versions-ID an. Wenn Sie für ein Objekt keine Versions-ID angeben, wendet S3 Batch Operations den Tag auf die aktuelle Version jedes Objekts an. Weitere Informationen über Batchoperationsmanifeste finden Sie unter [Angeben eines Manifests](batch-ops-create-job.md#specify-batchjob-manifest). 

Weitere Informationen zum Objekt-Tagging finden Sie unter [Kategorisierung Ihrer Objekte mit Hilfe von Tags](object-tagging.md) in dieser Anleitung sowie unter [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html), [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html) und [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html) in der *API-Referenz zu Amazon Simple Storage Service*.

Informationen zur Verwendung der Konsole zum Erstellen einer Aufgabe **Alle Objekt-Tags ersetzen** finden Sie unter [Erstellen eines S3-Batch-Vorgangsauftrags](batch-ops-create-job.md).

## Beschränkungen und Einschränkungen
<a name="batch-ops-set-tagging-restrictions"></a>

Wenn Sie Batch Operations verwenden, um Objekt-Tags zu ersetzen, gelten die folgenden Einschränkungen und Beschränkungen:
+ Die AWS Identity and Access Management (IAM-) Rolle, die Sie für die Ausführung des Batch Operations-Jobs angeben, muss über Berechtigungen zum Ausführen des zugrunde liegenden `PutObjectTagging` Vorgangs verfügen. Weitere Informationen zu den erforderlichen Berechtigungen finden Sie unter [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html) in der *API-Referenz zu Amazon Simple Storage Service*.
+ S3 Batch Operations verwendet den [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html)-Vorgang in Amazon S3, um Tags auf jedes Objekt im Manifest anzuwenden. Alle Einschränkungen und Begrenzungen, die auf den zugrunde liegenden Vorgang zutreffen, gelten auch für S3-Batchoperations-Aufträge.
+ Ein einziger Auftrag zum Ersetzen aller Objekt-Tags kann ein Manifest mit bis zu 20 Milliarden Objekten unterstützen.

# Ersetzen der Zugriffssteuerungsliste (ACL)
<a name="batch-ops-put-object-acl"></a>

Sie können Amazon S3 Batch Operations verwenden, um umfangreiche Batch-Vorgänge für Amazon-S3-Objekte durchzuführen. Die Operation **Replace Access Control List (ACL)** ersetzt die Zugriffskontrolllisten (ACLs) für jedes Objekt, das im Manifest aufgeführt ist. Mithilfe von können Sie definieren ACLs, wer auf ein Objekt zugreifen kann und welche Aktionen sie ausführen können.

**Anmerkung**  
Für die meisten modernen Anwendungsfälle in Amazon S3 ist die Verwendung von nicht mehr erforderlich ACLs. Wir empfehlen, die ACLs Option deaktiviert zu lassen, außer in Fällen, in denen Sie den Zugriff für jedes Objekt einzeln steuern müssen. Wenn diese ACLs Option deaktiviert ist, können Sie mithilfe von Richtlinien den Zugriff auf alle Objekte in Ihrem Bucket steuern, unabhängig davon, wer die Objekte in Ihren Bucket hochgeladen hat. Weitere Informationen finden Sie unter [Kontrolle des Besitzes von Objekten und Deaktivierung ACLs für Ihren Bucket](about-object-ownership.md).

S3 Batch Operations unterstützt benutzerdefinierte ACLs , die Sie definieren, und vorgefertigte ACLs Dateien, die Amazon S3 mit einem vordefinierten Satz von Zugriffsberechtigungen bereitstellt.

Wenn sich die Objekte in Ihrem Manifest in einem versionierten Bucket befinden, können Sie ACLs sie auf bestimmte Versionen jedes Objekts anwenden. Geben Sie hierzu für jedes Objekt im Manifest eine Versions-ID an. Wenn Sie für kein Objekt eine Versions-ID angeben, wendet S3 Batch Operations die ACL auf die aktuelle Version des Objekts an.

Weitere Informationen zu ACLs in Amazon S3 finden Sie unter[Zugriffskontrolllisten (ACL) – Übersicht](acl-overview.md).

**S3 Block Public Access**  
Wenn Sie den öffentlichen Zugriff auf alle Objekte in einem Bucket einschränken möchten, empfehlen wir, Amazon S3 Block Public Access anstelle von S3 Batch Operations für die Anwendung zu verwenden ACLs. Block Public Access kann den öffentlichen Zugriff auf einen Bucket oder ein Konto mithilfe einer einzelnen, einfachen Operation einschränken, die sich zudem auch noch schnell umsetzen lässt. Wegen dieses Verhaltens ist Amazon S3 Block Public Access die bessere Wahl, wenn Sie die Absicht haben, den öffentlichen Zugriff auf alle Objekte in einem Bucket oder einem Konto einzuschränken. Verwenden Sie S3 Batch Operations, nur dann wenn Sie eine benutzerdefinierte ACL auf jedes Objekt im Manifest anwenden möchten. Weitere Informationen über die S3 Block Public Access finden Sie unter [Blockieren des öffentlichen Zugriffs auf Ihren Amazon-S3-Speicher](access-control-block-public-access.md).

**S3 Object Ownership**  
Wenn sich die Objekte im Manifest in einem Bucket befinden, der die **erzwungene Einstellung Bucket Owner** für Object Ownership verwendet, kann der Vorgang **Replace Access Control List (ACL)** nur Objekte angeben ACLs , die dem Bucket-Besitzer die volle Kontrolle gewähren. In diesem Fall kann der Vorgang „**Zugriffskontrollliste (ACL) ersetzen**“ anderen Personen AWS-Konten oder Gruppen keine Objekt-ACL-Berechtigungen gewähren. Weitere Informationen finden Sie unter [Kontrolle des Besitzes von Objekten und Deaktivierung ACLs für Ihren Bucket](about-object-ownership.md).

## Beschränkungen und Einschränkungen
<a name="batch-ops-put-object-acl-restrictions"></a>

Wenn Sie Batch Operations zum Ersetzen verwenden ACLs, gelten die folgenden Einschränkungen und Beschränkungen: 
+ Die AWS Identity and Access Management (IAM) -Rolle, die Sie für die Ausführung des Auftrags **Replace Access Control List (ACL)** angeben, muss über Berechtigungen verfügen, um den zugrunde liegenden Amazon S3 `PutObjectAcl` S3-Vorgang auszuführen. Weitere Informationen zu den erforderlichen Berechtigungen finden Sie unter [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html) in der *API-Referenz zu Amazon Simple Storage Service*.
+ S3-Batch-Vorgänge verwenden die Amazon S3 `PutObjectAcl`-Operation, um die angegebene ACL auf jedes Objekt im Manifest anzuwenden. Daher gelten alle Einschränkungen und Begrenzungen, die auf den zugrunde liegenden `PutObjectAcl`-Vorgang zutreffen, auch für die S3-Batch-Operations-Aufgaben **Zugriffssteuerungslisten (ACLs) ersetzen**.
+ Ein einziger Auftrag zum Ersetzen der Zugriffssteuerungsliste kann ein Manifest mit bis zu 20 Milliarden Objekten unterstützen.

# Objekte mit Batch Operations wiederherstellen
<a name="batch-ops-initiate-restore-object"></a>

Sie können Amazon S3 Batch Operations verwenden, um umfangreiche Batch-Vorgänge für Amazon-S3-Objekte durchzuführen. Der **Wiederherstellungsvorgang** initiiert Wiederherstellungsanforderungen für die archivierten Amazon-S3-Objekte, die in Ihrem Manifest aufgeführt sind. Die folgenden archivierten Objekte müssen wiederhergestellt werden, bevor auf sie in Echtzeit zugegriffen werden kann:
+ Objekte, die in den Speicherklassen S3 Glacier Flexible Retrieval oder S3 Glacier Deep Archive archiviert werden
+ Objekte, die über die Speicherklasse S3 Intelligent-Tiering in den Stufen Archive Access oder Deep Archive Access archiviert sind

Die Verwendung des Vorgangs **Wiederherstellen** ([https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_S3InitiateRestoreObjectOperation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_S3InitiateRestoreObjectOperation.html)) in Ihrer S3-Batch-Operations-Aufgabe führt zu einer `RestoreObject`-Anforderung für jedes im Manifest angegebene Objekt.

**Wichtig**  
Die Aufgabe **Wiederherstellen** *initiiert* nur die Anforderung zum Wiederherstellen von Objekten. S3-Batch-Vorgänge melden die Aufgabe als abgeschlossen für jedes Objekt, nachdem die Anfrage für dieses Objekt initiiert wurde. Amazon S3 aktualisiert den Auftrag nicht und benachrichtigt Sie nicht weiter, wenn die Objekte wiederhergestellt wurden. Sie können jedoch S3-Ereignis-Benachrichtigungen verwenden, um Benachrichtigungen zu erhalten, wenn die Objekte in Amazon S3 verfügbar sind. Weitere Informationen finden Sie unter [Amazon-S3-Ereignisbenachrichtigungen](EventNotifications.md).

Wenn Sie den Auftrag **Wiederherstellen** erstellen, sind die folgenden Argumente verfügbar:

**ExpirationInDays**  
Dieses Argument gibt an, wie lange das Objekt S3 Glacier Flexible Retrieval oder S3 Glacier Deep Archive in Amazon S3 verfügbar bleibt. **Wiederherstellen**-Aufgaben, die auf Objekte von S3 Glacier Flexible Retrieval und S3 Glacier Deep Archive ausgelegt sind, muss `ExpirationInDays` auf `1` oder mehr festgelegt werden.  
Legen Sie `ExpirationInDays` beim Erstellen von **Wiederherstellen**-Vorgangsaufgaben, die auf Stufenobjekte S3 Intelligent-Tiering Archive Access und Deep Archive Access abzielen, nicht fest. Objekte in den Archivzugriffstufen S3 Intelligent-Tiering unterliegen keinem Ablaufdatum bei der Wiederherstellung, daher führt die Angabe von `ExpirationInDays` zu einem Fehler bei der Wiederherstellungsanforderung.

**GlacierJobTier**  
Amazon S3 kann Objekte mithilfe einer von drei verschiedenen Abrufstufen wiederherstellen: `EXPEDITED`, `STANDARD` und `BULK`. Die S3-Batchoperations-Funktion unterstützt jedoch nur die Abrufstufen `STANDARD` und `BULK`. Weitere Informationen zu den Unterschieden zwischen den Wiederherstellungsstufen finden Sie unter [Verstehen von Archiv-Abrufoptionen](restoring-objects-retrieval-options.md).   
Weitere Informationen zu den Preisen für jede Stufe finden Sie im Abschnitt **Anfragen und Datenabrufe** auf der Seite [Amazon S3-Preise](https://aws.amazon.com/s3/pricing/).

## Unterschiede bei der Wiederherstellung aus S3 Glacier und S3 Intelligent-Tiering
<a name="batch-ops-initiate-restore-diff"></a>

Das Wiederherstellen archivierter Dateien aus den Speicherklassen S3 Glacier Flexible Retrieval oder S3 Glacier Deep Archive unterscheidet sich von der Wiederherstellung von Dateien aus der Speicherklasse S3 Intelligent-Tiering in den Stufen Archive Access oder Deep Archive Access.
+ Wenn Sie von S3 Glacier Flexible Retrieval oder S3 Glacier Deep Archive wiederherstellen, wird eine temporäre *Kopie* des Objekts erstellt. Amazon S3 löscht diese Kopie nachdem der Wert, den Sie im `ExpirationInDays`-Argument angegeben haben, abgelaufen ist. Nachdem diese temporäre Kopie gelöscht wurde, müssen Sie eine zusätzliche Wiederherstellungsanfrage einreichen, um auf das Objekt zugreifen zu können.
+ Geben Sie bei der Wiederherstellung archivierter S3 Intelligent-Tiering-Objekte das `ExpirationInDays`-Argument *nicht* an. Wenn Sie ein Objekt aus den Stufen S3 Intelligent-Tiering Archive Access oder Deep Archive Access wiederherstellen, wird das Objekt zurück in die Speicherklasse S3 Intelligent-Tiering Frequent Access übergehen. Nach mindestens 90 aufeinanderfolgenden Tagen ohne Zugriff wechselt das Objekt automatisch in die Stufe „Archive Access“. Das Objekt wechselt nach mindestens 180 aufeinanderfolgenden Tagen ohne Zugriff automatisch in die Stufe „Deep Archive Access“. 
+ Batch-Operations-Aufträge können entweder mit Objekte der Speicherklassen S3 Glacier Flexible Retrieval und S3 Glacier Deep Archive *oder* mit Objekten der Speicherstufen S3 Intelligent-Tiering Archive Access  und Deep Archive Access arbeiten. Batch Operations kann im selben Auftrag nicht für beide Typen von archivierten Objekten ausgeführt werden. Um Objekte beider Typen wiederherzustellen, *müssen* Sie separate Batchoperations-Aufgaben erstellen. 

## Überlappende Wiederherstellungen
<a name="batch-ops-initiate-restore-object-in-progress"></a>

Sollte der Auftrag [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_S3InitiateRestoreObjectOperation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_S3InitiateRestoreObjectOperation.html) versuchen, ein Objekt wiederherzustellen, das gerade wiederhergestellt wird, geht S3 Batch Operations folgendermaßen vor:

Der Wiederherstellungsvorgang für das Objekt ist erfolgreich, wenn eine der folgenden Bedingungen erfüllt ist:
+ Im Vergleich zu der bereits ausgeführten Wiederherstellungsanforderung ist der `ExpirationInDays`-Wert für diesen Auftrag identisch und sein `GlacierJobTier`-Wert ist schneller.
+ Die vorherige Wiederherstellungsanforderung wurde bereits abgeschlossen und das Objekt ist derzeit verfügbar. In diesem Fall aktualisiert Batch-Vorgänge das Ablaufdatum des wiederhergestellten Objekts so, dass es mit dem in der laufenden Wiederherstellungsanforderung angegebenen `ExpirationInDays`-Wert übereinstimmt.

Der Wiederherstellungsvorgang für das Objekt schlägt fehl, wenn eine der folgenden Bedingungen erfüllt sind:
+ Die bereits ausgeführte Wiederherstellungsanforderung wurde noch nicht abgeschlossen und die Wiederherstellungsdauer für diese Aufgabe (durch den `ExpirationInDays`-Wert angegeben) unterscheidet sich von der Wiederherstellungsdauer, die in der bereits ausgeführten Wiederherstellungsanforderung angegeben wurde.
+ Die Wiederherstellungsebene für diesen Auftrag (durch den `GlacierJobTier`-Wert angegeben) ist identisch oder langsamer als die Wiederherstellungsebene, die in der bereits ausgeführten Wiederherstellungsanforderung angegeben wurde.

## Einschränkungen
<a name="batch-ops-initiate-restore-object-limitations"></a>

`S3InitiateRestoreObjectOperation`-Aufträge haben die folgenden Einschränkungen:
+ Sie müssen die Aufgabe in derselben Region wie die archivierten Objekte erstellen.
+ S3 Batch Operations unterstützt die Abrufstufe `EXPEDITED` nicht.
+ Ein einzelner Batch Operations Restore-Auftrag kann ein Manifest mit bis zu 4 Milliarden Objekten unterstützen.

Weitere Informationen zum Wiederherstellen von Objekten finden Sie unter [Wiederherstellen eines archivierten Objekts](restoring-objects.md).

# Aktualisieren Sie die Objektverschlüsselung
<a name="batch-ops-update-encryption"></a>

Sie können Amazon S3 Batch Operations verwenden, um umfangreiche Batch-Vorgänge für Amazon-S3-Objekte durchzuführen. Der Vorgang Batch [https://docs.aws.amazon.com//AmazonS3/latest/API/API_control_UpdateObjectEncryptionOperation.html](https://docs.aws.amazon.com//AmazonS3/latest/API/API_control_UpdateObjectEncryptionOperation.html)Operations aktualisiert den serverseitigen Verschlüsselungstyp von mehr als einem Amazon S3 S3-Objekt mit einer einzigen Anfrage. Ein einziger `UpdateObjectEncryption` Operationsauftrag kann ein Manifest mit bis zu 20 Milliarden Objekten unterstützen.

Der `UpdateObjectEncryption` Vorgang wird für alle Amazon S3 S3-Speicherklassen unterstützt, die von Allzweck-Buckets unterstützt werden. Sie können den `UpdateObjectEncryption` Vorgang verwenden, um verschlüsselte Objekte von der [serverseitigen Verschlüsselung mit verwalteten Amazon S3 S3-Schlüsseln (SSE-S3)](https://docs.aws.amazon.com//AmazonS3/latest/userguide/UsingServerSideEncryption.html) zu [AWS Key Management Service (AWS KMS) -Schlüsseln (SSE-KMS)](https://docs.aws.amazon.com//AmazonS3/latest/userguide/UsingKMSEncryption.html) zu ändern oder S3-Bucket Keys anzuwenden. Sie können den `UpdateObjectEncryption` Vorgang auch verwenden, um den vom Kunden verwalteten KMS-Schlüssel, der zur Verschlüsselung Ihrer Daten verwendet wird, zu ändern, sodass Sie die benutzerdefinierten Schlüsselrotationsstandards einhalten können.

 Wenn Sie einen Batch Operations-Job erstellen, können Sie eine Objektliste auf der Grundlage des Quellspeicherorts und der von Ihnen angegebenen Filterkriterien generieren. Sie können den `MatchAnyObjectEncryption` Filter verwenden, um eine Liste von Objekten aus Ihrem Bucket zu generieren, die Sie aktualisieren und in Ihr Manifest aufnehmen möchten. Die generierte Objektliste enthält nur Quell-Bucket-Objekte mit dem angegebenen serverseitigen Verschlüsselungstyp. Wenn Sie SSE-KMS auswählen, können Sie Ihre Ergebnisse optional weiter filtern, indem Sie einen bestimmten KMS-Schlüssel-ARN und den aktivierten Bucket Key-Status angeben. Weitere Informationen finden Sie unter [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_JobManifestGeneratorFilter.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_JobManifestGeneratorFilter.html)und [`SSEKMSFilter`in der *Amazon S3API-Referenz*](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_SSEKMSFilter.html).

## Einschränkungen und Überlegungen
<a name="batch-ops-encrypt-object-restrictions"></a>

Wenn Sie den Vorgang Batch `UpdateObjectEncryption` Operations verwenden, gelten die folgenden Einschränkungen und Überlegungen:
+ Der `UpdateObjectEncryption` Vorgang unterstützt keine unverschlüsselten Objekte oder Objekte, die entweder mit serverseitiger Dual-Layer-Verschlüsselung AWS KMS keys (DSSE-KMS) oder mit vom Kunden bereitgestellten Verschlüsselungsschlüsseln (SSE-C) verschlüsselt wurden. Darüber hinaus können Sie keine Anfrage für den Verschlüsselungstyp SSE-S3 angeben. `UpdateObjectEncryption`
+ Sie können den `UpdateObjectEncryption` Vorgang verwenden, um Objekte in Buckets zu aktualisieren, für die S3-Versionierung aktiviert ist. Um den Verschlüsselungstyp einer bestimmten Version zu aktualisieren, müssen Sie in Ihrer `UpdateObjectEncryption` Anfrage eine Versions-ID angeben. Wenn Sie keine Versions-ID angeben, bezieht sich die `UpdateObjectEncryption` Anfrage auf die aktuelle Version des Objekts. Weitere Informationen über das S3-Versioning finden Sie unter [Beibehalten mehrerer Versionen von Objekten mit der S3-Versionsverwaltung](Versioning.md).
+ Der `UpdateObjectEncryption` Vorgang schlägt bei jedem Objekt fehl, auf das der Aufbewahrungsmodus S3 Object Lock oder Legal Hold angewendet wurde. Wenn für ein Objekt eine Aufbewahrungsfrist im Governance-Modus oder eine gesetzliche Aufbewahrungsfrist gilt, müssen Sie zuerst den Object Lock-Status für das Objekt entfernen, bevor Sie Ihre `UpdateObjectEncryption` Anfrage stellen. Sie können den `UpdateObjectEncryption` Vorgang nicht für Objekte verwenden, auf die eine Aufbewahrungsfrist für den Object Lock-Konformitätsmodus angewendet wurde. Weitere Informationen zur S3-Objektsperre finden Sie unter [Sperren von Objekten mit Object Lock](object-lock.md).
+ `UpdateObjectEncryption`Anfragen für Quell-Buckets mit aktivierter Live-Replikation lösen keine Replikatereignisse im Ziel-Bucket aus. Wenn Sie den Verschlüsselungstyp von Objekten sowohl in Ihren Quell- als auch in Ihren Ziel-Buckets ändern möchten, müssen Sie separate `UpdateObjectEncryption` Anfragen für die Objekte im Quell- und Ziel-Bucket initiieren.
+ Standardmäßig sind alle `UpdateObjectEncryption` Anfragen, die einen vom Kunden verwalteten KMS-Schlüssel angeben, auf KMS-Schlüssel beschränkt, die dem Bucket-Besitzer gehören. AWS-Konto Wenn Sie die Nutzung verwenden AWS Organizations, können Sie die Möglichkeit zur Nutzung AWS KMS keys von Benutzerkonten anderer Mitglieder innerhalb Ihrer Organisation beantragen, indem Sie sich an uns wenden AWS Support.
+ Wenn Sie S3 Batch Replication verwenden, um Datensätze regionsübergreifend zu replizieren und der serverseitige Verschlüsselungstyp Ihrer Objekte zuvor von SSE-S3 auf SSE-KMS aktualisiert wurde, benötigen Sie möglicherweise zusätzliche Berechtigungen. Für den Bucket der Quellregion benötigen Sie Berechtigungen. `kms:decrypt` Anschließend benötigen Sie die `kms:encrypt` Berechtigungen `kms:decrypt` und für den Bucket in der Zielregion.
+ Geben Sie in Ihrer `UpdateObjectEncryption` Anfrage einen vollständigen KMS-Schlüssel-ARN an. Sie können keinen Aliasnamen oder Alias-ARN verwenden. Sie können den vollständigen KMS-Schlüssel-ARN in der AWS-KMS-Konsole oder mithilfe der AWS KMS `DescribeKey` KMS-API ermitteln.
+ Um die Leistung der Manifestgenerierung bei der Verwendung des `KmsKeyArn` Filters zu verbessern, verwenden Sie diesen Filter in Verbindung mit anderen Objekt-Metadatenfiltern. Sie können es beispielsweise `KmsKeyArn` mit, oder kombinieren `MatchAnyPrefix``CreatedAfter`, `MatchAnyStorageClass` wenn Sie in S3 Batch Operations automatisch ein Manifest generieren.

Mehr über `UpdateObjectEncryption` erfahren Sie unter [Aktualisierung der serverseitigen Verschlüsselung für vorhandene Daten](update-sse-encryption.md).

## Erforderliche Berechtigungen
<a name="batch-ops-required-permissions"></a>

Um den `UpdateObjectEncryption` Vorgang auszuführen, fügen Sie Ihrem IAM-Prinzipal AWS Identity and Access Management (Benutzer, Rolle oder Gruppe) die folgende (IAM-) Richtlinie hinzu. Um diese Richtlinie zu verwenden, *`amzn-s3-demo-bucket`* ersetzen Sie sie durch den Namen des Buckets, der die Objekte enthält, für die Sie die Verschlüsselung aktualisieren möchten. `amzn-s3-demo-manifest-bucket`Ersetzen Sie es durch den Namen des Buckets, der Ihr Manifest enthält, und `amzn-s3-demo-completion-report-bucket` durch den Namen des Buckets, in dem Sie Ihren Abschlussbericht speichern möchten.

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3BatchOperationsUpdateEncryption",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetObjectVersion",
                "s3:PutObject",
                "s3:UpdateObjectEncryption"
            ],
            "Resource": [
                 "arn:aws:s3:::amzn-s3-demo-bucket-target"
                "arn:aws:s3:::amzn-s3-demo-bucket-target-target/*"
            ]
        },
        {
            "Sid": "S3BatchOperationsPolicyForManifestFile",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:GetObjectVersion"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket-manifest/*"
            ]
        },
        {
            "Sid": "S3BatchOperationsPolicyForCompletionReport",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket-completion-report/*"
            ]
        },
        {
            "Sid": "S3BatchOperationsPolicyManifestGeneration",
            "Effect": "Allow",
            "Action": [
                "s3:PutInventoryConfiguration"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket-target"
            ]
        },
        {
            "Sid": "AllowKMSOperationsForS3BatchOperations",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:Encrypt",
                "kms:ReEncrypt*"
            ],
            "Resource": [                "arn:aws:kms:us-east-1:111122223333:key/01234567-89ab-cdef-0123-456789abcdef"
            ]
        }
    ]
}
```

Informationen zu den Vertrauens- und Berechtigungsrichtlinien, die Sie der IAM-Rolle zuordnen müssen, die der Dienstprinzipal von S3 Batch Operations annimmt, um Batch Operations-Jobs in Ihrem Namen auszuführen, finden Sie unter [Gewähren von Berechtigungen für Batchoperationen](batch-ops-iam-role-policies.md) und[Objektverschlüsselung aktualisieren](batch-ops-iam-role-policies.md#batch-ops-update-encryption-policies).

# Batch Operations Job zur Aktualisierung der Objektverschlüsselung erstellen
<a name="batch-ops-update"></a>

Um den serverseitigen Verschlüsselungstyp von mehr als einem Amazon S3 S3-Objekt mit einer einzigen Anfrage zu aktualisieren, können Sie S3 Batch Operations verwenden. Sie können S3 Batch Operations über die Amazon S3 S3-Konsole AWS Command Line Interface (AWS CLI) AWS SDKs oder die Amazon S3 S3-REST-API verwenden.

## Mit dem AWS CLI
<a name="batch-ops-example-cli-update-job"></a>

Um die folgenden Befehle ausführen zu können, müssen Sie den AWS CLI installiert und konfiguriert haben. Falls Sie das nicht AWS CLI installiert haben, finden [Sie weitere Informationen unter Installieren oder Aktualisieren auf die neueste Version von AWS CLI](https://docs.aws.amazon.com//cli/latest/userguide/getting-started-install.html) im *AWS Command Line Interface Benutzerhandbuch*.

Alternativ können Sie AWS CLI Befehle von der Konsole aus ausführen, indem Sie AWS CloudShell AWS CloudShell ist eine browserbasierte, vorab authentifizierte Shell, die Sie direkt von der aus starten können. AWS-Managementkonsole[Weitere Informationen finden Sie unter Was ist? CloudShell](https://docs.aws.amazon.com//cloudshell/latest/userguide/welcome.html) und [Erste Schritte mit AWS CloudShell](https://docs.aws.amazon.com//cloudshell/latest/userguide/getting-started.html) im *AWS CloudShell Benutzerhandbuch*.

**Example 1 — Erstellen Sie einen Batch-Operationsauftrag, der verschlüsselte Objekte von einem KMS-Schlüssel AWS KMS key auf einen anderen aktualisiert**  
Das folgende Beispiel zeigt, wie Sie einen S3 Batch Operations-Job erstellen, der die Verschlüsselungseinstellungen für mehrere Objekte in Ihrem Allzweck-Bucket aktualisiert. Dieser Befehl erstellt einen Job, der Objekte, die mit einem AWS Key Management Service (AWS KMS) -Schlüssel verschlüsselt wurden, so ändert, dass sie einen anderen KMS-Schlüssel verwenden. Dieser Job generiert und speichert auch ein Manifest der betroffenen Objekte und erstellt einen Bericht mit den Ergebnissen. Zur Verwendung dieses Befehls ersetzen Sie `user input placeholders` durch eigene Informationen.  

```
aws s3control create-job --account-id account-id \
--no-confirmation-required \
--operation '{"S3UpdateObjectEncryption": {  "ObjectEncryption": { "SSEKMS": { "KMSKeyArn": "KMS-key-ARN-to-apply", "BucketKeyEnabled": false  }  }  } }' \
--report '{ "Enabled": true, "Bucket": "report-bucket-ARN",  "Format": "Report_CSV_20180820", "Prefix": "report", "ReportScope": "AllTasks" }' \
--manifest-generator '{ "S3JobManifestGenerator": { "ExpectedBucketOwner": "account-id", "SourceBucket": "source-bucket-ARN", "EnableManifestOutput": true, "ManifestOutputLocation": { "Bucket": "manifest-bucket-ARN", "ManifestFormat": "S3InventoryReport_CSV_20211130", "ManifestPrefix": "manifest-prefix" }, "Filter": {   "MatchAnyObjectEncryption": [{ "SSEKMS": { "KmsKeyArn": "kms-key-ARN-to-match" } }] } } }' \
--priority 1 \
--role-arn batch-operations-role-ARN
```
Um eine optimale Leistung zu erzielen, empfehlen wir, den `KmsKeyArn` Filter zusammen mit anderen Objektmetadatenfiltern wie `MatchAnyPrefix``CreatedAfter`, oder zu verwenden`MatchAnyStorageClass`.

**Example 2 — Erstellen Sie einen Batch Operations-Job, der SSE-S3-verschlüsselte Objekte auf SSE-KMS aktualisiert**  
Das folgende Beispiel zeigt, wie Sie einen S3 Batch Operations-Job erstellen, der die Verschlüsselungseinstellungen für mehrere Objekte in Ihrem Allzweck-Bucket aktualisiert. Dieser Befehl erstellt einen Job, der Objekte, die mit serverseitiger Verschlüsselung mit verwalteten Amazon S3 S3-Schlüsseln (SSE-S3) verschlüsselt wurden, dahingehend ändert, dass stattdessen serverseitige Verschlüsselung mit AWS Key Management Service () -Schlüsseln (AWS KMS SSE-KMS) verwendet wird. Dieser Job generiert und speichert auch ein Manifest der betroffenen Objekte und erstellt einen Bericht über die Ergebnisse. Zur Verwendung dieses Befehls ersetzen Sie `user input placeholders` durch eigene Informationen.  

```
aws s3control create-job --account-id account-id \
--no-confirmation-required \
--operation '{"S3UpdateObjectEncryption": {  "ObjectEncryption": { "SSEKMS": { "KMSKeyArn": "KMS-key-ARN-to-apply", "BucketKeyEnabled": false  }  }  } }' \
--report '{ "Enabled": true, "Bucket": "report-bucket-ARN",  "Format": "Report_CSV_20180820", "Prefix": "report", "ReportScope": "AllTasks" }' \
--manifest-generator '{ "S3JobManifestGenerator": { "ExpectedBucketOwner": "account-id", "SourceBucket": "source-bucket-ARN", "EnableManifestOutput": true, "ManifestOutputLocation": { "Bucket": "manifest-bucket-ARN", "ManifestFormat": "S3InventoryReport_CSV_20211130", "ManifestPrefix": "manifest-prefix" }, "Filter": {   "MatchAnyObjectEncryption": [{ "SSES3": {} }] } } }' \
--priority 1 \
--role-arn batch-operations-role-ARN
```
Um eine optimale Leistung zu erzielen, empfehlen wir, den `KmsKeyArn` Filter zusammen mit anderen Objektmetadatenfiltern wie `MatchAnyPrefix``CreatedAfter`, oder zu verwenden`MatchAnyStorageClass`.

# Aufrechterhaltung der S3-Objektsperre
<a name="batch-ops-retention-date"></a>

Sie können Amazon S3 Batch Operations verwenden, um umfangreiche Batch-Vorgänge für Amazon-S3-Objekte durchzuführen. Sie können den Vorgang **Object-Lock-Aufbewahrung** verwenden, um Aufbewahrungsfristen für Ihre Objekte entweder im *Governance*-Modus oder im *Compliance*-Modus anzuwenden. Diese Aufbewahrungsmodi wenden unterschiedliche Schutzgrade an. Sie können einen der beiden Aufbewahrungsmodi auf jede Objektversion anwenden. Aufbewahrungsdaten verhindern wie gesetzliche Aufbewahrungsfristen, dass ein Objekt überschrieben oder gelöscht wird. Amazon S3 speichert das in den Metadaten des Objekts angegebene *Aufbewahrungsdatum* und schützt die angegebene Version der Objektversion bis zum Ablauf der Aufbewahrungsfrist.

Sie können S3 Batch Operations mit der Objektsperre verwenden, um die Aufbewahrungsdaten vieler Amazon-S3-Objekte gleichzeitig zu verwalten. Sie geben die Liste der Zielobjekte in Ihrem Manifest an und senden das Manifest zur Fertigstellung an Batch Operations. Weitere Informationen finden Sie unter S3-Objektsperre [Aufbewahrungszeiträume](object-lock.md#object-lock-retention-periods). 

Ihr S3-Batchoperations-Auftrag mit Aufbewahrungsdaten läuft bis zum Abschluss, bis zum Abbruch oder bis ein Fehlerstatus erreicht ist. Wir empfehlen die Verwendung von S3 Batch Operations und S3-Object-Lock-Aufbewahrung, wenn Sie das Aufbewahrungsdatum für viele Objekte mit einer einzigen Anfrage hinzufügen, ändern oder entfernen möchten. 

Batch-Vorgänge überprüft, ob die Objektsperre in Ihrem Bucket aktiviert ist, bevor Schlüssel im Manifest verarbeitet werden. Um die Operationen und die Validierung durchzuführen, benötigt Batch Operations die `s3:PutObjectRetention` Berechtigungen `s3:GetBucketObjectLockConfiguration` und in einer AWS Identity and Access Management (IAM) -Rolle, damit Batch Operations Object Lock in Ihrem Namen aufrufen kann. Weitere Informationen finden Sie unter [Überlegungen zu Object Lock](object-lock-managing.md).

Informationen zur Verwendung dieser Operation mit der REST-API finden Sie unter `S3PutObjectRetention` in der [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html)-Operation in der *API-Referenz zu Amazon Simple Storage Service*. 

Ein AWS Command Line Interface (AWS CLI) Beispiel für die Verwendung dieses Vorgangs finden Sie unter[Unter Verwendung der AWS CLI](batch-ops-object-lock-retention.md#batch-ops-cli-object-lock-retention-example). Ein AWS SDK für Java Beispiel finden Sie unter[Verwenden des AWS SDK for Java](batch-ops-object-lock-retention.md#batch-ops-examples-java-object-lock-retention). 

## Beschränkungen und Einschränkungen
<a name="batch-ops-retention-date-restrictions"></a>

Wenn Sie Batch Operations verwenden, um Aufbewahrungsfristen für Objektsperren anzuwenden, gelten die folgenden Einschränkungen und Beschränkungen: 
+ S3 Batch Operations nimmt keine Änderungen auf Bucket-Ebene vor.
+ Versionierung und die S3-Objektsperre müssen auf dem Bucket konfiguriert werden, in dem der Auftrag ausgeführt wird.
+ Alle im Manifest aufgelisteten Objekte müssen sich im selben Bucket befinden.
+ Die Operation funktioniert mit der neuesten Version des Objekts, es sei denn, eine Version ist explizit im Manifest angegeben.
+ Sie benötigen eine `s3:PutObjectRetention`-Berechtigung in Ihrer IAM-Rolle, um eine Aufgabe des Typs **Object-Lock-Aufbewahrung** zu verwenden.
+ Die `s3:GetBucketObjectLockConfiguration`-IAM-Berechtigung ist erforderlich, um zu bestätigen, dass die Objektsperre für den S3-Bucket aktiviert ist, auf dem Sie die Aufgabe ausführen. 
+ Sie können den Aufbewahrungszeitraum nur von Objekten verlängern, bei denen die Aufbewahrungsdaten des `COMPLIANCE`-Modus angewendet wurden. Dieser Aufbewahrungszeitraum kann nicht verkürzt werden.
+ Ein einziger S3 Object Lock Retention Job kann ein Manifest mit bis zu 20 Milliarden Objekten unterstützen.

# S3-Objektsperre aufgrund gesetzlicher Aufbewahrungsfristen
<a name="batch-ops-legal-hold"></a>

Sie können Amazon S3 Batch Operations verwenden, um umfangreiche Batch-Vorgänge für Amazon-S3-Objekte durchzuführen. Die **Rechtliche Aufbewahrungspflicht für Objektsperren** ermöglicht es Ihnen, eine rechtliche Aufbewahrungspflicht für eine Objektversion festzulegen. Wie das Festlegen von Aufbewahrungszeiträumen verhindern auch rechtliche Aufbewahrungsfristen das Überschreiben oder Löschen von Objektversionen. Mit rechtlichen Aufbewahrungsfristen sind jedoch keine Aufbewahrungszeiträume verknüpft. Sie sind gültig, bis sie entfernt werden. 

Sie können S3-Batch-Vorgänge mit Objektsperre verwenden, um vielen Amazon S3-Objekten gleichzeitig gesetzliche Aufbewahrungsfristen hinzuzufügen. Sie können dies tun, indem Sie die Zielobjekte in Ihrem Manifest auflisten und diese Liste an Batch Operations senden. Ihre S3-Batch-Operations-Aufgabe **Rechtliche Aufbewahrungspflicht für Objektsperren** wird bis zum Abschluss, bis zum Abbrechen oder bis ein Fehlerstatus erreicht ist, ausgeführt.

S3 Batch Operations überprüft, ob die Objektsperre in Ihrem S3-Bucket aktiviert ist, bevor Objekte im Manifest verarbeitet werden. Um die Objektoperationen und die Validierung auf Bucket-Ebene durchzuführen, benötigt S3 Batch Operations die Rolle `s3:PutObjectLegalHold` and `s3:GetBucketObjectLockConfiguration` in an AWS Identity and Access Management (IAM). Diese Berechtigungen ermöglichen es S3 Batch Operations, S3-Objektsperren in Ihrem Namen aufzurufen. 

Wenn Sie eine S3-Batch-Operations-Aufgabe erstellen, um die gesetzliche Aufbewahrungsfrist zu entfernen, müssen Sie lediglich `Off` als Status der gesetzlichen Aufbewahrungsfrist angeben. Weitere Informationen finden Sie unter [Überlegungen zu Object Lock](object-lock-managing.md).

Informationen zur Verwendung dieser Operation mit der Amazon S3 REST-API finden Sie unter `S3PutObjectLegalHold` in der [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html)-Operation in der *API-Referenz zum Amazon Simple Storage Service*. 

Ein Beispiel für die Verwendung dieser Operation finden Sie unter [Verwenden des AWS SDK for Java](batch-ops-legal-hold-off.md#batch-ops-examples-java-object-lock-legalhold). 

## Beschränkungen und Einschränkungen
<a name="batch-ops-legal-hold-restrictions"></a>

Wenn Sie Batch Operations verwenden, um eine gesetzliche Object-Lock-Aufbewahrungsfrist anzuwenden oder zu entfernen, gelten die folgenden Einschränkungen: 
+ S3 Batch Operations nimmt keine Änderungen auf Bucket-Ebene vor.
+ Alle im Manifest aufgelisteten Objekte müssen sich im selben Bucket befinden.
+ Versionierung und die S3-Objektsperre müssen auf dem Bucket konfiguriert werden, in dem der Auftrag ausgeführt wird.
+ Die Operation **Rechtliche Aufbewahrungspflicht für Objektsperren** funktioniert mit der neuesten Version des Objekts, es sei denn, eine Version ist explizit im Manifest angegeben.
+ Die`s3:PutObjectLegalHold`-Berechtigung ist in Ihrer IAM-Rolle erforderlich, um Objekten gesetzliche Aufbewahrungsfristen hinzuzufügen oder von diesen zu entfernen.
+ Die `s3:GetBucketObjectLockConfiguration`-IAM-Berechtigung ist erforderlich, um zu bestätigen, dass die S3-Objektsperre für den S3-Bucket aktiviert ist, in dem die Aufgabe durchgeführt wird. 
+ Ein einziger S3 Object Lock Legal Hold Job kann ein Manifest mit bis zu 20 Milliarden Objekten unterstützen.
+ [Kopieren von Objekten](batch-ops-copy-object.md)
+ [Berechnen von Prüfsummen](batch-ops-compute-checksums.md)
+ [Alle Objektmarkierungen löschen](batch-ops-delete-object-tagging.md)
+ [Funktion aufrufen AWS Lambda](batch-ops-invoke-lambda.md)
+ [Alle Objektmarkierungen ersetzen](batch-ops-put-object-tagging.md)
+ [Ersetzen der Zugriffssteuerungsliste (ACL)](batch-ops-put-object-acl.md)
+ [Objekte mit Batch Operations wiederherstellen](batch-ops-initiate-restore-object.md)
+ [Aktualisieren Sie die Objektverschlüsselung](batch-ops-update-encryption.md)
+ [Replizieren vorhandener Objekte mit der Batch-Replikation](s3-batch-replication-batch.md)
+ [Aufrechterhaltung der S3-Objektsperre](batch-ops-retention-date.md)
+ [S3-Objektsperre aufgrund gesetzlicher Aufbewahrungsfristen](batch-ops-legal-hold.md)