

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.

# Ausführen von Objektoperationen in großem Umfang mit Batch Operations
<a name="batch-ops"></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 Command Line Interface (AWS CLI) oder die Amazon S3 S3-REST-API verwenden. AWS SDKs

Verwenden Sie S3 Batch Operations, um Objekte zu kopieren, die serverseitige Verschlüsselung von Objekten zu aktualisieren und Objekt-Tags oder Zugriffskontrolllisten festzulegen (ACLs). Sie können Objektwiederherstellungen auch über S3 Glacier Flexible Retrieval initiieren oder eine AWS Lambda Funktion aufrufen, um benutzerdefinierte Aktionen mit Ihren Objekten durchzuführen. Sie können diese Vorgänge für eine benutzerdefinierte Liste von Objekten durchführen oder mit einem Amazon S3 Inventory einfach Objektlisten erzeugen. Amazon S3 Batch Operations verwendet dieselben Amazon S3-API-Operationen, die Sie bereits mit Amazon S3 verwenden. 

**Anmerkung**  
Weitere Informationen zur Verwendung der Speicherklasse Amazon S3 Express One Zone mit Verzeichnis-Buckets finden Sie unter [S3 Express One Zone](directory-bucket-high-performance.md#s3-express-one-zone) und [Arbeiten mit Verzeichnis-Buckets](directory-buckets-overview.md). Weitere Informationen zur Verwendung von Batch Operations mit S3 Express One Zone und Verzeichnis-Buckets finden Sie unter [Verwenden von Batch Operations mit Verzeichnis-Buckets.](directory-buckets-objects-Batch-Ops.md).

## Grundlagen von S3-BatchVorgänge
<a name="batch-ops-basics"></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 oder Aktion in Listen von Amazon S3-Objekten ausführen, die Sie angeben. 

### Terminologie
<a name="batch-ops-terminology"></a>

In diesem Abschnitt werden die Begriffe *Manifeste*, *Jobs*, *Operationen*und *Tasks*verwendet, die wie folgt definiert sind:

**Manifest**  
Ein Manifest ist ein Amazon-S3-Objekt, das Objektschlüssel enthält, die Amazon S3 bearbeiten soll. Wenn Sie einen Batch-Operations-Auftrag erstellen möchten, müssen Sie ein Manifest angeben. Ihr benutzergeneriertes Manifest muss den Bucket-Namen, den Objektschlüssel und (optional) die Objektversion für jedes Objekt enthalten. Wenn Sie ein benutzergeneriertes Manifest angeben, muss es in Form eines Amazon-S3-Bestandsberichts oder einer CSV-Datei vorliegen.   
Sie können Amazon S3 auch anweisen, automatisch ein Manifest auf der Grundlage von Objektfilterkriterien zu generieren, die Sie bei der Erstellung Ihres Auftrags angeben. Diese Option ist für Batch Operations-Jobs verfügbar, die Sie mit der Amazon S3 S3-Konsole erstellen, oder für jeden Auftragstyp, den Sie mit der AWS Command Line Interface (AWS CLI) AWS SDKs, oder Amazon S3 S3-REST-API erstellen. 

**Aufgabe**  
Ein Auftrag ist die grundlegende Arbeitseinheit für S3 Batch Operations. Eine Aufgabe enthält alle Informationen, die erforderlich sind, um die angegebene Operation für die im Manifest aufgeführten Objekte auszuführen. Sobald Sie diese Informationen bereitgestellt und den Beginn des Auftrags angefordert haben, führt die Aufgabe die Operation für alle Objekte im Manifest durch. 

**Operation**  
Die Operation stellt die Art der API-[Aktion](https://docs.aws.amazon.com/AmazonS3/latest/API/API_Operations.html) dar, z. B. das Kopieren von Objekten, die von dem Batchoperations-Auftrag ausgeführt werden soll. Jeder Auftrag führt einen einzelnen Typ von Operation für alle Objekte aus, die im Manifest angegeben sind.

**Aufgabe**  
Eine Aufgabe ist die Ausführungseinheit für einen Auftrag. Eine Aufgabe stellt einen einzelnen Aufruf einer Amazon S3- oder AWS Lambda API-Operation dar, um den Vorgang des Jobs für ein einzelnes Objekt auszuführen. Während der Lebensdauer eines Auftrag erstellt S3-Batch-Vorgänge eine Aufgabe für jedes Objekt, das im Manifest angegeben ist.

### Funktionsweise eines S3-Batchoperations-Auftrags
<a name="batch-ops-basics-how-it-works"></a>

Ein Auftrag ist die grundlegende Arbeitseinheit für S3 Batch Operations. Eine Aufgabe enthält alle Informationen, die erforderlich sind, um die angegebene Operation für eine Liste von Objekten auszuführen. Um einen Auftrag zu erstellen, übergeben Sie S3-Batch-Vorgänge eine Liste von Objekten und geben die Aktion an, die für diese Objekte ausgeführt werden soll. Informationen zu den Vorgängen, die S3 Batch Operations unterstützt, finden Sie unter [Von S3 Batch Operations unterstützte Vorgänge](batch-ops-operations.md).

Ein Batch-Job führt die festgelegte Operation für jedes Objekt aus, das im *Manifest* enthalten ist. Ein Manifest listet die Objekte auf, die ein Batch-Auftrag verarbeiten soll, und es wird als Objekt in einem Bucket gespeichert. Sie können einen kommagetrennten Wert (CSV)-formatierten [Katalogisieren und Analysieren Ihrer Daten mit S3 Inventory](storage-inventory.md)-Bericht als Manifest nutzen, was die Erstellung umfassender Listen von Objekten in einem Bucket erleichtert. Ein Manifest können Sie auch in einem einfachen CSV-Format festlegen, mit dem Sie Batch-Vorgänge für eine benutzerdefinierte Liste an Objekten durchführen können, die in einem einzelnen Bucket enthalten sind. 

Nachdem Sie einen Auftrag erstellt haben, verarbeitet Amazon S3 die Liste der Objekte in dem Manifest und führt die festgelegte Operation für jedes Objekt aus. Während ein Auftrag ausgeführt wird, können Sie den Fortschritt programmgesteuert oder über die Amazon S3-Konsole überwachen. Sie können einen Auftrag auch so konfigurieren, dass er nach Ende der Ausführung einen Abschlussbericht erzeugt. Der Abschlussbericht beschreibt die Ergebnisse jeder Aufgabe, die von dem Auftrag durchgeführt wurde. Weitere allgemeine Informationen zur Überwachung von Aufträgen finden Sie unter [Verwalten von S3-Batch-Vorgangsaufträgen](batch-ops-managing-jobs.md). 

Mit S3 Batch Operations sind Kosten verbunden. Die Erstellung von Batch Operations-Aufträgen wird Ihnen in Rechnung gestellt, einschließlich der Aufträge, die vor der Fertigstellung abgebrochen werden. Weitere Informationen finden Sie unter [Amazon S3 – Preise](https://aws.amazon.com/s3/pricing/).

S3 Stapelverarbeitungsaufträge können standardmäßig bis zu 4 Milliarden Objekte für alle Vorgänge verarbeiten. Insbesondere Copy-, Object Tagging-, Object Lock-, AWS Lambda Funktionsaufruf- und Batch-Replikationsaufträge können bis zu 20 Milliarden Objekte unterstützen. Es gibt ein Limit von 6 aktiven Batch-Replikationsaufträgen pro AWS Konto. Weitere Informationen zum Erstellen eines Batch-Operations-Auftrags finden Sie unter [Erstellen eines S3-Batch-Operations-Auftrags](https://docs.aws.amazon.com/AmazonS3/latest/userguide/batch-ops-create-job.html).

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

Das folgende Tutorial enthält vollständige end-to-end Verfahren für einige Batch-Operationsaufgaben.
+ [Tutorial: Batch-Transcodierung von Videos mit S3 Batch Operations](tutorial-s3-batchops-lambda-mediaconvert-video.md)

# Gewähren von Berechtigungen für Batchoperationen
<a name="batch-ops-iam-role-policies"></a>

Bevor Sie S3 Batch Operation-Aufträge erstellen und ausführen, müssen Sie die erforderlichen Berechtigungen erteilen. Um einen Amazon-S3-Batch-Vorgangsauftrag zu erstellen, ist die `s3:CreateJob`-Benutzerberechtigung erforderlich. Dieselbe Entität, die den Job erstellt, muss auch die `iam:PassRole` Berechtigung haben, die AWS Identity and Access Management (IAM-) Rolle, die für den Job angegeben ist, an Batch Operations zu übergeben.

Die folgenden Abschnitte enthalten Informationen zum Erstellen einer IAM-Rolle und zum Anhängen von Richtlinien. Allgemeine Informationen zur Angabe von IAM-Ressourcen finden Sie unter [IAM-JSON-Richtlinienelemente: Ressource](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_resource.html) im *IAM-Benutzerhandbuch*.

**Topics**
+ [

## Erstellen einer IAM-Rolle für S3-BatchVorgänge
](#batch-ops-iam-role-policies-create)
+ [

## Anfügen von Berechtigungsrichtlinien
](#batch-ops-iam-role-policies-perm)

## Erstellen einer IAM-Rolle für S3-BatchVorgänge
<a name="batch-ops-iam-role-policies-create"></a>

Amazon S3 benötigt Berechtigungen, um S3-Batch-Vorgänge für Sie auszuführen. Sie gewähren diese Berechtigungen über eine AWS Identity and Access Management (IAM-) Rolle. Wenn Sie einen S3 Batch Operations-Job erstellen, geben Sie die IAM-Rolle an, die der Job verwenden soll. Dies kann eine bestehende IAM-Rolle sein. Oder, wenn Sie die Amazon S3-Konsole verwenden, um den Job zu erstellen, kann es sich um eine IAM-Rolle handeln, die Amazon S3 für Sie erstellt.

Wenn Sie Amazon S3 die IAM-Rolle für Sie erstellen lassen, erstellt Amazon S3 automatisch Vertrauens- und Berechtigungsrichtlinien und fügt sie der Rolle hinzu. Die Vertrauensrichtlinie ermöglicht es dem Dienstprinzipal (`batchoperations.s3.amazonaws.com`) von S3 Batch Operations, die Rolle zu übernehmen. Die Berechtigungsrichtlinie ermöglicht alle für die Ausführung des Jobs erforderlichen Aktionen auf der Grundlage der Einstellungen, die Sie für den Job angeben. Wenn Sie beispielsweise einen Job so konfigurieren, dass Objekte von einem Bucket in einen anderen in Ihrem Bucket kopiert werden AWS-Konto, erlaubt die Berechtigungsrichtlinie Aktionen wie `s3:GetObject` und`s3:PutObject`. Sie können die Vertrauens- und Berechtigungsrichtlinien für die Rolle überprüfen, bevor Sie den Job einreichen. Diese Option ist nur verfügbar, wenn Sie die Amazon S3 S3-Konsole verwenden, um einen Job zu erstellen, und Sie den Job so konfigurieren, dass er eine von S3 generierte Objektliste verwendet, die Filter verwendet oder auf einer Replikationskonfiguration basiert. Nachdem Sie den Job eingereicht haben, bleibt die IAM-Rolle in Ihrem Konto bestehen. Sie können sie dann erneut für nachfolgende Jobs verwenden, die denselben Vorgang ausführen, oder sie löschen, wenn die Ausführung des Jobs abgeschlossen ist.

Wenn Sie die IAM-Rolle lieber manuell erstellen möchten, können Ihnen die Richtlinienbeispiele in diesem Abschnitt bei der Erstellung der Rolle helfen. Weitere Informationen zum Erstellen und Konfigurieren von Rollen finden Sie unter [IAM-Rollen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) im *IAM-Benutzerhandbuch*. Informationen zu Berechtigungen für S3-API-Operationen nach S3-Ressourcentyp finden Sie unter. [Erforderliche Berechtigungen für Amazon-S3-API-Operationen](using-with-s3-policy-actions.md) Weitere Beispiele finden Sie unter [Steuern von Berechtigungen für Batch Operations mithilfe von Auftragsmarkierungen](batch-ops-job-tags-examples.md) und[Kopieren von Objekten mit S3 BatchVorgänge](batch-ops-examples-copy.md).

Sie können in Ihren IAM-Richtlinien auch Bedingungsschlüssel verwenden, um Zugriffsberechtigungen für S3-BatchVorgängeaufträge zu filtern. Weitere Informationen und eine vollständige Liste der IAM-Berechtigungen, -Ressourcen und -Bedingungsschlüssel für Amazon S3 finden Sie unter [Aktionen, Ressourcen und Bedingungsschlüssel für Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html) in der *Service-Authorization-Referenz*.

Weitere Informationen zu den Berechtigungen für S3-API-Operationen nach S3-Ressourcentypen finden Sie unter [Erforderliche Berechtigungen für Amazon-S3-API-Operationen](using-with-s3-policy-actions.md).

Das folgende Video zeigt, wie Sie IAM-Berechtigungen für Batch Operations-Jobs mithilfe der Amazon S3 S3-Konsole einrichten.

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/qpwHUrwAiUI//0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/qpwHUrwAiUI/)


### Vertrauensrichtlinie
<a name="batch-ops-iam-role-policies-trust"></a>

Sie fügen der Rolle die folgende Vertrauensrichtlinie an, um dem S3-BatchVorgängeaervice-Prinzipal zu erlauben, die IAM-Rolle zu übernehmen.

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

****  

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

------

## Anfügen von Berechtigungsrichtlinien
<a name="batch-ops-iam-role-policies-perm"></a>

Je nach Art der Operation können Sie eine der folgenden Richtlinien anfügen.

Bevor Sie Berechtigungen konfigurieren, beachten Sie Folgendes:
+ Unabhängig von der Operation benötigt Amazon S3 Berechtigungen, um das Manifestobjekt aus Ihrem S3-Bucket zu lesen und optional einen Bericht in Ihren Bucket zu schreiben. Daher enthalten alle der folgenden Richtlinien diese Berechtigungen.
+ Für Manifeste von Amazon-S3-Bestandsbericht benötigt S3-Batch-Vorgänge die Berechtigung, das Manifest.json-Objekt und alle zugehörigen CSV-Datendateien zu lesen.
+ Versionsspezifische Berechtigungen wie `s3:GetObjectVersion` sind nur erforderlich, wenn Sie die Versions-ID der Objekte festlegen.
+ Wenn Sie S3 Batch Operations für verschlüsselte Objekte ausführen, muss die IAM-Rolle auch Zugriff auf die AWS KMS Schlüssel haben, mit denen sie verschlüsselt wurden.
+ Wenn Sie ein mit verschlüsseltes Inventarberichtsmanifest einreichen AWS KMS, muss Ihre IAM-Richtlinie die Berechtigungen `"kms:GenerateDataKey"` für das Objekt manifest.json `"kms:Decrypt"` und alle zugehörigen CSV-Datendateien enthalten.
+ Wenn der Batch Operations-Job ein Manifest in einem Bucket generiert, für den Zugriffskontrolllisten (ACLs) aktiviert sind und sich in einem anderen Bucket befindet AWS-Konto, müssen Sie die `s3:PutObjectAcl` Berechtigung in der IAM-Richtlinie der für den Batch-Job konfigurierten IAM-Rolle erteilen. Wenn Sie diese Berechtigung nicht angeben, schlägt der Batch-Job mit dem Fehler `Error occurred when preparing manifest: Failed to write manifest` fehl.

### Objekte kopieren: PutObject
<a name="batch-ops-put-copy-object-policy"></a>

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

****  

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

------

### Objekt-Tags ersetzen: PutObjectTagging
<a name="batch-ops-put-object-tagging-policy"></a>

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement":[
    {
      "Effect":"Allow",
      "Action":[
        "s3:PutObjectTagging",
        "s3:PutObjectVersionTagging"
      ],
      "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:GetObjectVersion"
      ],
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"
      ]
    },
    {
      "Effect":"Allow",
      "Action":[
        "s3:PutObject"
      ],
      "Resource":[
        "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*"
      ]
    }
  ]
}
```

------

### Objekt-Tags löschen: DeleteObjectTagging
<a name="batch-ops-delete-object-tagging-policy"></a>

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
              "s3:DeleteObjectTagging",
              "s3:DeleteObjectVersionTagging"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetObjectVersion"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*"
            ]
        }
    ]
}
```

------

### Zugriffssteuerungsliste ersetzen: PutObjectAcl
<a name="batch-ops-put-object-acl-policy"></a>

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObjectAcl",
        "s3:PutObjectVersionAcl"
      ],
      "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:GetObjectVersion"
      ],
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject"
      ],
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*"
      ]
    }
  ]
}
```

------

### Objekte wiederherstellen: RestoreObject
<a name="batch-ops-initiate-restore-policy"></a>

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement":[
    {
      "Effect":"Allow",
      "Action":[
          "s3:RestoreObject"
      ],
      "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:GetObjectVersion"
      ],
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"
      ]
    },
    {
      "Effect":"Allow",
      "Action":[
        "s3:PutObject"
      ],
      "Resource":[
        "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*"
      ]
    }
  ]
}
```

------

### Object-Lock-Aufbewahrung anwenden: PutObjectRetention
<a name="batch-ops-put-object-lock-policy"></a>

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "s3:GetBucketObjectLockConfiguration",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-destination-bucket"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObjectRetention",
                "s3:BypassGovernanceRetention"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetObjectVersion"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*"
            ]
        }
    ]
}
```

------

### Anwenden der rechtlichen Aufbewahrungspflicht für Objektsperren: PutObjectLegalHold
<a name="batch-ops-put-object-legal-hold-policy"></a>

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "s3:GetBucketObjectLockConfiguration",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-destination-bucket"
            ]
        },
        {
            "Effect": "Allow",
            "Action": "s3:PutObjectLegalHold",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetObjectVersion"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*"
            ]
        }
    ]
}
```

------

### Bestehende Objekte replizieren: InitiateReplication mit einem von S3 generierten Manifest
<a name="batch-ops-batch-replication-policy"></a>

Verwenden Sie diese Richtlinie, wenn Sie ein von S3 generiertes Manifest verwenden und speichern. Weitere Informationen zur Verwendung von Batch Operations zum Replizieren vorhandener Objekte finden Sie unter [Replizieren vorhandener Objekte mit der Batch-Replikation](s3-batch-replication-batch.md).

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Action":[
            "s3:InitiateReplication"
         ],
         "Effect":"Allow",
         "Resource":[
            "arn:aws:s3:::amzn-s3-demo-source-bucket/*"
         ]
      },
      {
         "Action":[
            "s3:GetReplicationConfiguration",
            "s3:PutInventoryConfiguration"
         ],
         "Effect":"Allow",
         "Resource":[
            "arn:aws:s3:::amzn-s3-demo-source-bucket"
         ]
      },
      {
         "Action":[
            "s3:GetObject",
            "s3:GetObjectVersion"
         ],
         "Effect":"Allow",
         "Resource":[
            "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"
         ]
      },
      {
         "Effect":"Allow",
         "Action":[
            "s3:PutObject"
         ],
         "Resource":[
            "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*",
            "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"    
         ]
      }
   ]
}
```

------

### Bestehende Objekte replizieren: InitiateReplication mit einem Benutzermanifest
<a name="batch-ops-batch-replication-policy-user"></a>

Verwenden Sie diese Richtlinie, wenn Sie ein vom Benutzer bereitgestelltes Manifest verwenden. Weitere Informationen zur Verwendung von Batch Operations zum Replizieren vorhandener Objekte finden Sie unter [Replizieren vorhandener Objekte mit der Batch-Replikation](s3-batch-replication-batch.md).

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Action":[
            "s3:InitiateReplication"
         ],
         "Effect":"Allow",
         "Resource":[
            "arn:aws:s3:::amzn-s3-demo-source-bucket/*"
         ]
      },
      {
         "Action":[
            "s3:GetObject",
            "s3:GetObjectVersion"
         ],
         "Effect":"Allow",
         "Resource":[
            "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"
         ]
      },
      {
         "Effect":"Allow",
         "Action":[
            "s3:PutObject"
         ],
         "Resource":[
            "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*"    
         ]
      }
   ]
}
```

------

### Prüfsumme berechnen: Zulassen`GetObject`,, und `GetObjectVersion` `RestoreObject` `PutObject`
<a name="batch-ops-compute-object-checksum-policies"></a>

Verwenden Sie diese Richtlinie, wenn Sie versuchen, die Operation **Prüfsumme berechnen** mit S3 Batch Operations zu verwenden. Die Berechtigungen für `GetObject`, `GetObjectVersion`und `RestoreObject` sind erforderlich, um die Bytes der gespeicherten Daten zu erhalten und zu lesen. Ersetzen Sie die Platzhalter für die Benutzereingaben durch Ihre eigenen Informationen. Weitere Informationen zur **Compute-Prüfsumme** finden Sie unter [Überprüfen der Objektintegrität auf Daten im Ruhezustand in Amazon S3](checking-object-integrity-at-rest.md).

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:GetObjectVersion",
        "s3:RestoreObject"
      ],
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-bucket1/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:GetObjectVersion"
      ],
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-bucket2/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject"
      ],
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-bucket3/*"
      ]
    }
  ]
}
```

### Objektverschlüsselung aktualisieren
<a name="batch-ops-update-encryption-policies"></a>

Sie müssen die folgende Berechtigungsrichtlinie anhängen, damit Batch Operations ein Manifest lesen, den Verschlüsselungstyp Ihrer Objekte aktualisieren und einen Abschlussbericht erstellen kann. Um diese Berechtigungsrichtlinie zu verwenden, ersetzen Sie sie durch Ihre eigenen Informationen. *`user input placeholders`* Weitere Informationen zur Verwendung dieses Vorgangs und zu den Berechtigungen, die Sie der von Ihrem IAM-Prinzipal verwendeten Rolle zuweisen müssen, finden Sie unter[Aktualisieren Sie die Objektverschlüsselung](batch-ops-update-encryption.md).

```
{
    "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/*"
            ]
        },
        {
            "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"
            ]
        }
    ]
}
```

# Erstellen eines S3-Batch-Vorgangsauftrags
<a name="batch-ops-create-job"></a>

Mit S3 Batch Operations können Sie umfangreiche Stapelvorgänge für eine Liste bestimmter Amazon-S3-Objekte durchführen. In diesem Abschnitt werden die Informationen beschrieben, die Sie zum Erstellen eines S3-Batch-Vorgangsauftrags benötigen, sowie die Ergebnisse einer `CreateJob`-Anforderung. Es enthält auch Anweisungen zum Erstellen eines Batch Operations-Jobs mithilfe der Amazon S3 S3-Konsole, AWS Command Line Interface (AWS CLI) und AWS SDK für Java.

Wenn Sie einen S3 Batch Operations-Job erstellen, können Sie einen Abschlussbericht für alle Aufgaben oder nur für fehlgeschlagene Aufgaben anfordern. Sofern mindestens eine Aufgabe erfolgreich aufgerufen wurde, generiert S3 Batch Operations einen Bericht für abgeschlossene, fehlgeschlagene oder abgebrochene Aufträge. Weitere Informationen finden Sie unter [Beispiele: Abschlussberichte zu S3-BatchVorgänge](batch-ops-examples-reports.md).

Das folgende Video zeigt eine kurze Demonstration, wie ein Batch-Operations-Auftrag mit der Amazon-S3-Konsole erstellt wird .

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/qpwHUrwAiUI//0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/qpwHUrwAiUI/)


**Topics**
+ [

## Batch-Vorgangsauftrag-Anforderungselemente
](#batch-ops-create-job-request-elements)
+ [

## Angeben eines Manifests
](#specify-batchjob-manifest)
+ [

## Automatische Generierung einer Objektliste und Speicherung als Manifest-Datei
](#automatically-generate-manifest-file)
+ [

## Erstellen einer Manifestdatei
](#create-manifest-file)
+ [

## Verwendung eines vorhandenen Manifests
](#specify-existing-manifest-file)
+ [

## Erstellen eines Auftrags
](#to-create-batch-ops-job)
+ [

## Auftragsantworten
](#batch-ops-create-job-response-elements)

## Batch-Vorgangsauftrag-Anforderungselemente
<a name="batch-ops-create-job-request-elements"></a>

Um einen S3-Batch-Vorgangsauftrag zu erstellen, müssen Sie die folgenden Informationen angeben:

**Operation**  
Geben Sie die Operation an, die S3-Batch-Vorgänge für die Objekte im Manifest ausführen soll. Jeder Operationstyp akzeptiert Parameter, die für diesen Vorgang spezifisch sind. Mit Batch Operations können Sie eine Operation in großen Mengen ausführen, mit den gleichen Ergebnissen, als ob Sie diese Operation one-by-one für jedes Objekt ausgeführt hätten.

**Manifest**  
Ein *Manifest* ist ein Amazon-S3-Objekt, das Objektschlüssel enthält, die Amazon S3 bearbeiten soll. Sie können die folgenden Verfahren verwenden, um ein Manifest für einen Batch-Operations-Auftrag anzugeben:  
+ Direkte Batch-Operationen zum Generieren einer Objektliste auf der Grundlage der von Ihnen angegebenen Metadaten. Sie können diese Liste als Manifest-Datei speichern und sie bei der Erstellung Ihres Auftrags verwenden. Diese Option ist für jeden Auftragstyp verfügbar, den Sie mithilfe der Amazon S3 S3-Konsole, der AWS CLI AWS SDKs, oder der Amazon S3 S3-REST-API erstellen.
+ Generieren Sie automatisch eine Objektliste auf der Grundlage einer vorhandenen Replikationskonfiguration. Sie können diese Liste als Manifest-Datei speichern und für zukünftige Aufträge wiederverwenden. 
+ Erstellen Sie eine neue Manifestdatei manuell.
+ Verwenden Sie ein vorhandenes Manifest. 
+ Unabhängig davon, wie Sie Ihr Manifest angeben, muss die Liste selbst in einem Allzweck-Bucket gespeichert werden. Batch Operations kann keine vorhandenen Manifeste aus Verzeichnis-Buckets importieren (oder generierte Manifeste in Verzeichnis-Buckets speichern). Im Manifest beschriebene Objekte können jedoch in Verzeichnis-Buckets gespeichert werden. Weitere Informationen finden Sie unter [Verzeichnis-Buckets](https://docs.aws.amazon.com//AmazonS3/latest/userguide/directory-buckets-overview.html).
+ Wenn sich die Objekte in Ihrem Manifest in einem versionierten Bucket befinden, weist die Angabe der Version IDs für die Objekte Batch Operations an, den Vorgang für eine bestimmte Version auszuführen. Wenn keine Version IDs angegeben ist, führt Batch Operations den Vorgang mit der neuesten Version der Objekte aus. Wenn Ihr Manifest ein Versions-ID-Feld enthält, müssen Sie eine Versions-ID für alle Objekte im Manifest angeben.
Weitere Informationen finden Sie unter [Angeben eines Manifests](#specify-batchjob-manifest).

**Priorität**  
Mit Auftragsprioritäten können Sie angeben, welche relative Priorität dieser Auftrag gegenüber den anderen in Ihrem Konto ausgeführten Aufträgen besitzt. Eine höhere Nummer bedeutet eine höhere Priorität.  
Auftragsprioritäten sind nur in Beziehung zu den für andere Aufträge in demselben Konto und in der derselben Region festgelegten Prioritäten bedeutsam. Sie können wählen, welches Nummerierungssystem für Sie funktioniert. Beispielsweise können Sie allen **Restore** (`RestoreObject`) -Aufträgen die Priorität 1, allen **Copy** (`CopyObject`) -Aufträgen die Priorität 2 und allen **Replace-Zugriffskontrolllisten (ACLs) (`PutObjectAcl`)** -Aufträgen die Priorität 3 zuweisen.   
S3 Batch Operations priorisiert Aufträge gemäß den Prioritätszahlen, garantiert aber keine strikte Sortierung. Daher sind Auftrags-Prioritäten nicht dazu geeignet, sicherzustellen, dass ein Auftrag vor einem anderen Auftrag gestartet oder beendet wird. Wenn Sie eine strikte Sortierung gewährleisten möchten, müssen Sie den Abschluss eines Auftrags abwarten, bevor Sie den nächsten starten. 

**RoleArn**  
Geben Sie eine AWS Identity and Access Management (IAM) -Rolle an, um den Job auszuführen. Die von Ihnen verwendete IAM-Rolle muss über ausreichende Berechtigungen verfügen, um den im Job angegebenen Vorgang auszuführen. Um z. B. einen `CopyObject`-Auftrag auszuführen, benötigt die IAM-Rolle die `s3:GetObject`-Berechtigung für den Quell-Bucket und die `s3:PutObject`-Berechtigung für den Ziel-Bucket. Die Rolle muss auch die Berechtigung haben, das Manifest zu lesen und den Abschlussbericht zu schreiben.  
Bei der IAM-Rolle kann es sich um eine bestehende Rolle handeln. Oder, wenn Sie die Amazon S3-Konsole verwenden, um den Job zu erstellen, kann es sich um eine IAM-Rolle handeln, die Amazon S3 automatisch für Sie erstellt. Weitere Informationen finden Sie unter [Gewähren von Berechtigungen für Batchoperationen](batch-ops-iam-role-policies.md).  
Weitere Informationen zu IAM-Rollen finden Sie unter [IAM-Rollen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) im *IAM-Benutzerhandbuch*. Weitere Informationen zu Amazon-S3-Berechtigungen finden Sie unter [Richtlinienaktionen für Amazon S3](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-actions).  
Batch-Operations-Aufträge, die Aktionen für Verzeichnis-Buckets ausführen, erfordern bestimmte Berechtigungen. Weitere Informationen finden Sie unter [AWS Identity and Access Management (IAM) für S3 Express One Zone](https://docs.aws.amazon.com//AmazonS3/latest/userguide/s3-express-security-iam.html).

**Bericht**  
Geben Sie an, ob S3-Batch-Vorgänge einen Abschlussbericht erstellen soll. Wenn Sie einen Abschlussbericht anfordern, müssen Sie in diesem Element auch die Parameter für den Bericht angeben. Die folgenden Informationen sind erforderlich:  
+ Den Bucket, in dem der Bericht gespeichert werden soll
**Anmerkung**  
Der Bericht muss in einem Allzweck-Bucket gespeichert werden. Batch Operations kann Berichte nicht in Verzeichnis-Buckets speichern. Weitere Informationen finden Sie unter [Verzeichnis-Buckets](https://docs.aws.amazon.com//AmazonS3/latest/userguide/directory-buckets-overview.html).
+ Das Format des Berichts
+ Ob der Bericht die Details aller oder nur fehlgeschlagener Aufgaben enthält
+ Eine optionale Präfix-Zeichenfolge
Wenn das Feld `CreateJob.Report.ExpectedBucketOwner` angegeben wird, muss der Eigentümer des Buckets für den Abschlussbericht übereinstimmen. Wenn sie nicht übereinstimmt, schlägt der Auftrag fehl.  
Abschlussberichte werden immer mit serverseitiger Verschlüsselung mit von Amazon S3 verwalteten Schlüsseln (SSE-S3) verschlüsselt.

**Markierungen (optional)**  
Sie können den Zugriff auf Ihre S3-Batch-Vorgänge-Aufträge kennzeichnen und steuern, indem Sie *Markierungen* hinzufügen. Sie können Tags verwenden, um zu identifizieren, wer für einen Batch-Operations-Auftrag verantwortlich ist, oder um zu steuern, wie Benutzer mit einzelnen Batch-Operations-Aufträgen interagieren. Das Vorhandensein von Aufgabe-Markierungen kann einem Benutzer die Möglichkeit gewähren oder einschränken, eine Aufgabe abzubrechen, eine Aufgabe im Bestätigungsstatus zu aktivieren oder die Prioritätsstufe einer Aufgabe zu ändern. Beispielsweise können Sie einem Benutzer die Berechtigung zum Aufrufen des `CreateJob`-Vorgangs erteilen, vorausgesetzt, der Auftrag wird mit dem Tag `"Department=Finance"` erstellt.   
Sie können Aufträge mit bereits zugeordneten Markierungen erstellen und Sie können bereits erstellten Aufträgen nachträglich Markierungen hinzufügen.   
Weitere Informationen finden Sie unter [Steuern von Zugriffs- und Labeling-Aufträgen mithilfe von Markierungen](batch-ops-job-tags.md).

**Description (optional)**  
Um Ihren Auftrag zu verfolgen und zu überwachen, können Sie auch eine Beschreibung von bis zu 256 Zeichen angeben. Amazon S3 enthält diese Beschreibung immer dann, wenn Informationen über einen Auftrag zurückgegeben oder Auftragsdetails auf der Amazon-S3-Konsole angezeigt werden. So können Sie Aufträge ganz einfach nach den ihnen zugewiesenen Beschreibungen sortieren und filtern. Beschreibungen müssen nicht eindeutig sein, sodass Sie Beschreibungen auch als Kategorien (z. B. "Wöchentliche Aufträge zum Kopieren von Protokollen") verwenden können, um Gruppen ähnlicher Aufträge nachzuverfolgen.

## Angeben eines Manifests
<a name="specify-batchjob-manifest"></a>

Ein *Manifest* ist ein Amazon-S3-Objekt, das Objektschlüssel enthält, die Amazon S3 bearbeiten soll. Sie können die folgenden Verfahren verwenden, um ein Manifest für einen Batch-Operations-Auftrag anzugeben:
+ Direkte Batch-Operationen zum Generieren einer Objektliste auf der Grundlage der von Ihnen angegebenen Metadaten. Sie können diese Liste als Manifest speichern und bei der Erstellung Ihres Jobs verwenden. Diese Option ist für jeden Auftragstyp verfügbar, den Sie mithilfe der Amazon S3 S3-Konsole, der AWS CLI AWS SDKs, oder der Amazon S3 S3-REST-API erstellen.
+ Generieren Sie automatisch eine Objektliste auf der Grundlage einer vorhandenen Replikationskonfiguration. Sie können diese Liste als Manifest speichern und für future Jobs erneut verwenden. 
+ Erstellen Sie eine neue Manifestdatei manuell.
+ Verwenden Sie ein vorhandenes Manifest. 

**Anmerkung**  
Amazon S3 Batch Operations unterstützt keine regionenübergreifende Objektlistenerstellung. 
Unabhängig davon, wie Sie Ihr Manifest angeben, muss die Liste selbst in einem Allzweck-Bucket gespeichert werden. Batch Operations kann keine vorhandenen Manifeste aus Verzeichnis-Buckets importieren (oder generierte Manifeste in Verzeichnis-Buckets speichern). Im Manifest beschriebene Objekte können jedoch in Verzeichnis-Buckets gespeichert werden. Weitere Informationen finden Sie unter [Verzeichnis-Buckets](https://docs.aws.amazon.com//AmazonS3/latest/userguide/directory-buckets-overview.html).

## Automatische Generierung einer Objektliste und Speicherung als Manifest-Datei
<a name="automatically-generate-manifest-file"></a>

Sie können Amazon S3 anweisen, automatisch eine Objektliste auf der Grundlage der von Ihnen angegebenen Metadaten zu erstellen. Sie können diese Liste als Manifest speichern und bei der Erstellung Ihres Jobs verwenden. Diese Option ist für jeden Auftragstyp verfügbar, den Sie mithilfe der Amazon S3 S3-Konsole, der AWS CLI AWS SDKs, oder der Amazon S3 S3-REST-API erstellen. 

Um eine Objektliste automatisch zu erstellen und als Manifest-Datei zu speichern, geben Sie die folgenden Elemente als Teil Ihrer Anfrage zur Auftragserstellung an:
+ Informationen über den Bucket, der Ihre Quellobjekte enthält, einschließlich des Bucket-Eigentümers und des Amazon-Ressourcennamens (ARN).
+ Informationen zur Manifestausgabe, einschließlich eines Flags zum Erstellen einer Manifestdatei, des Eigentümers des Ausgabe-Buckets, des ARN, des Präfixes, des Dateiformats und des Verschlüsselungstyps.
+ Optionale Kriterien zum Filtern von Objekten nach Erstellungsdatum, Schlüsselname, Größe, Verschlüsselungstyp, KMS-Schlüssel-ARN, Bucket-Schlüssel und Speicherklasse. Bei Replikationsaufträgen können Sie auch Tags zum Filtern von Objekten verwenden. 

### Objektfilterkriterien
<a name="manifest-generator-filter-criteria"></a>

Um die Liste der Objekte zu filtern, die in eine automatisch erstellte Objektliste aufgenommen werden sollen, können Sie die folgenden Kriterien 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) in der *Amazon-S3-API-Referenz*.

**CreatedAfter**  
Falls angegeben, enthält das generierte Manifest nur Quell-Bucket-Objekte, die nach diesem Zeitpunkt erstellt wurden.

**CreatedBefore**  
Falls angegeben, enthält das generierte Manifest nur Quell-Bucket-Objekte, die vor diesem Zeitpunkt erstellt wurden.

**EligibleForReplication**  
Falls angegeben, enthält das generierte Manifest nur Objekte, wenn sie gemäß der Replikationskonfiguration im Quell-Bucket für die Replikation in Frage kommen.

**KeyNameConstraint**  
Falls angegeben, enthält das generierte Manifest nur Quell-Bucket-Objekte, deren Objektschlüssel den für **MatchAnySubstring**MatchAnyPrefix****, und angegebenen Zeichenketteneinschränkungen entsprechen **MatchAnySuffix**.  
**MatchAnySubstring**— Falls angegeben, enthält das generierte Manifest Objekte, wenn die angegebene Zeichenfolge an einer beliebigen Stelle in der Objektschlüsselzeichenfolge vorkommt.  
**MatchAnyPrefix**— Falls angegeben, enthält das generierte Manifest Objekte, wenn die angegebene Zeichenfolge am Anfang der Objektschlüsselzeichenfolge steht.  
**MatchAnySuffix**— Falls angegeben, enthält das generierte Manifest Objekte, wenn die angegebene Zeichenfolge am Ende der Objektschlüsselzeichenfolge steht.

**MatchAnyObjectEncryption**  
 Falls angegeben, enthält die als Manifest gespeicherte Objektliste nur Bucket-Quellobjekte mit dem angegebenen serverseitigen Verschlüsselungstyp (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C oder NOT-SSE). Wenn Sie SSE-KMS oder DSSE-KMS auswählen, können Sie Ihre Ergebnisse optional weiter filtern, indem Sie eine bestimmte KMS-Schlüssel-ARN angeben. Wenn Sie SSE-KMS auswählen, können Sie Ihre Ergebnisse optional auch nach dem Status "Bucket Key aktiviert" filtern.   
Um die Leistung der Manifestgenerierung bei der Verwendung des `KmsKeyArn` Filters zu verbessern, verwenden Sie den Filter zusammen mit anderen Objektmetadatenfiltern`MatchAnyPrefix`, z. B.`CreatedAfter`, oder`MatchAnyStorageClass`.

**MatchAnyStorageClass**  
Falls angegeben, enthält das generierte Manifest nur Quell-Bucket-Objekte, die mit der angegebenen Speicherklasse gespeichert sind.

**ObjectReplicationStatuses**  
Falls angegeben, enthält das generierte Manifest nur Quell-Bucket-Objekte, die einen der angegebenen Replikationsstatus haben.

**ObjectSizeGreaterThanBytes**  
Falls angegeben, enthält das generierte Manifest nur Quell-Bucket-Objekte, deren Dateigröße die angegebene Byteanzahl überschreitet.

**ObjectSizeLessThanBytes**  
Falls angegeben, enthält das generierte Manifest nur Quell-Bucket-Objekte, deren Dateigröße die angegebene Byteanzahl unterschreitet.

**Anmerkung**  
Die meisten Aufträge, bei denen automatisch erstellte Objektlisten als Manifeste gespeichert sind, können nicht geklont werden. Stapelreplikationsaufträge können geklont werden, es sei denn, sie verwenden die Manifest-Filterkriterien `KeyNameConstraint`, `MatchAnyStorageClass`, `ObjectSizeGreaterThanBytes` oder `ObjectSizeLessThanBytes`.

Die Syntax für die Angabe von Manifestkriterien hängt von der Methode ab, mit der Sie Ihren Job erstellen. Beispiele finden Sie unter [Erstellen eines Auftrags](#to-create-batch-ops-job).

## Erstellen einer Manifestdatei
<a name="create-manifest-file"></a>

Um eine Manifestdatei manuell zu erstellen, geben Sie den Manifestobjektschlüssel ETag (Entity-Tag) und die optionale Versions-ID in einer Liste im CSV-Format an. Die Inhalte des Manifests müssen per URL verschlüsselt sein. 

Standardmäßig wendet Amazon S3 automatisch die serverseitige Verschlüsselung mit von Amazon S3 verwalteten Verschlüsselungsschlüsseln (SSE-S3) an, um ein Manifest zu verschlüsseln, das in einen Amazon-S3-Bucket hochgeladen wird. Manifeste, die die serverseitige Verschlüsselung mit vom Kunden bereitgestellten Schlüsseln (SSE-C) verwenden, werden nicht unterstützt. Manifeste, die serverseitige Verschlüsselung mit AWS Key Management Service (AWS KMS) -Schlüsseln (SSE-KMS) verwenden, werden nur unterstützt, wenn Sie Inventarberichte im CSV-Format verwenden. Die Verwendung eines manuell erstellten Manifests mit wird nicht unterstützt. AWS KMS 

Ihr Manifest muss den Bucket-Namen, den Objektschlüssel und (optional) die Objektversion enthalten. Sämtliche anderen Felder in dem Manifest werden nicht von S3-Batch-Vorgänge verwendet.

**Anmerkung**  
Wenn sich die Objekte in Ihrem Manifest in einem versionierten Bucket befinden, weist die Angabe der Version IDs für die Objekte Batch Operations an, den Vorgang für eine bestimmte Version auszuführen. Wenn keine Version IDs angegeben ist, führt Batch Operations den Vorgang mit der neuesten Version der Objekte aus. Wenn Ihr Manifest ein Versions-ID-Feld enthält, müssen Sie eine Versions-ID für alle Objekte im Manifest angeben.

Im Folgenden finden Sie ein Beispielmanifest im CSV-Format ohne Version IDs.

```
amzn-s3-demo-bucket1,objectkey1
amzn-s3-demo-bucket1,objectkey2
amzn-s3-demo-bucket1,objectkey3
amzn-s3-demo-bucket1,photos/jpgs/objectkey4
amzn-s3-demo-bucket1,photos/jpgs/newjersey/objectkey5
amzn-s3-demo-bucket1,object%20key%20with%20spaces
```

Das Folgende ist ein Beispiel für ein Manifest im CSV-Format, das die Version enthält IDs.

```
amzn-s3-demo-bucket1,objectkey1,PZ9ibn9D5lP6p298B7S9_ceqx1n5EJ0p
amzn-s3-demo-bucket1,objectkey2,YY_ouuAJByNW1LRBfFMfxMge7XQWxMBF
amzn-s3-demo-bucket1,objectkey3,jbo9_jhdPEyB4RrmOxWS0kU0EoNrU_oI
amzn-s3-demo-bucket1,photos/jpgs/objectkey4,6EqlikJJxLTsHsnbZbSRffn24_eh5Ny4
amzn-s3-demo-bucket1,photos/jpgs/newjersey/objectkey5,imHf3FAiRsvBW_EHB8GOu.NHunHO1gVs
amzn-s3-demo-bucket1,object%20key%20with%20spaces,9HkPvDaZY5MVbMhn6TMn1YTb5ArQAo3w
```

## Verwendung eines vorhandenen Manifests
<a name="specify-existing-manifest-file"></a>

Sie können ein vorhandenes Manifest angeben, um einen Batch-Operations-Auftrag zu erstellen, indem Sie eines der beiden folgenden Formate verwenden:
+ **Amazon-S3-Bestandsbericht** – Muss ein CSV-formatierter Amazon-S3-Bestandsbericht sein. Sie müssen die `manifest.json`-Datei angeben, die mit dem Bestandsbericht verknüpft ist. Weitere Informationen zu Bestandsberichten finden Sie unter [Katalogisieren und Analysieren Ihrer Daten mit S3 Inventory](storage-inventory.md). Wenn der Inventarbericht eine Version enthält IDs, arbeitet S3 Batch Operations mit den spezifischen Objektversionen.
**Anmerkung**  
S3 Batch Operations unterstützt *Bestandsberichte* im .CSV-Format, die mit SSE-KMS verschlüsselt sind.
Wenn Sie ein Bestandsbericht-Manifest übermitteln, das mit SSE-KMS verschlüsselt ist, muss Ihre IAM-Richtlinie die Berechtigungen `"kms:Decrypt"` und `"kms:GenerateDataKey"` für das `manifest.json`-Objekt und alle zugehörigen CSV-Datendateien enthalten.
+ **CSV-Datei** – Jede Zeile in der Datei muss den Bucket-Namen, den Objektschlüssel und optional die Objektversion enthalten. Objektschlüssel müssen URL-codiert sein, wie in den folgenden Beispielen gezeigt. Das Manifest muss entweder die Version IDs für alle Objekte enthalten oder die Version IDs für alle Objekte weglassen. Weitere Informationen über das CSV-Manifest-Format finden Sie unter [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_JobManifestSpec.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_JobManifestSpec.html) in der *Amazon-Simple-Storage-Service-API-Referenz*.
**Anmerkung**  
S3 Batch Operations unterstützt keine .CSV-formatierten *Manifestdateien*, die mit SSE-KMS verschlüsselt sind.

**Wichtig**  
Wenn Sie ein manuell erstelltes Manifest und einen versionierten Bucket verwenden, empfehlen wir, die Version IDs für die Objekte anzugeben. Wenn Sie einen Auftrag erstellen, analysiert S3-Batch-Vorgänge das gesamte Manifest, bevor Sie den Auftrag ausführen. Es wird jedoch kein „Snapshot“ des Bucket-Zustands aufgenommen.  
Da Manifeste Milliarden von Objekten enthalten können, kann die Ausführung von Aufträgen längere Zeit dauern, was sich darauf auswirken kann, für welche Version eines Objekts der Auftrag durchgeführt wird. Angenommen, Sie überschreiben ein Objekt mit einer neuen Version, während ein Auftrag ausgeführt wird, und Sie haben keine Versions-ID für dieses Objekt angegeben. In diesem Fall führt Amazon S3 den Vorgang auf der neuesten Version des Objekts durch, und nicht auf der Version, die galt, als Sie den Auftrag erstellten. Die einzige Möglichkeit, dieses Verhalten zu vermeiden, besteht darin, die Version IDs für die Objekte anzugeben, die im Manifest aufgeführt sind.

## Erstellen eines Auftrags
<a name="to-create-batch-ops-job"></a>

 Sie können S3-Batch Operations-Jobs mithilfe der Amazon S3 S3-Konsole, AWS CLI AWS SDKs, oder der Amazon S3 S3-REST-API erstellen. 

Weitere Informationen zum Erstellen einer Auftragsanfrage finden Sie unter [Batch-Vorgangsauftrag-Anforderungselemente](#batch-ops-create-job-request-elements). 

**Voraussetzungen**  
Bevor Sie einen Batch-Operations-Auftrag erstellen, bestätigen Sie, dass Sie die entsprechenden Berechtigungen konfiguriert haben. Weitere Informationen finden Sie unter [Gewähren von Berechtigungen für Batchoperationen](batch-ops-iam-role-policies.md).

### Verwenden der S3-Konsole
<a name="batch-ops-create-job-console"></a>

**So erstellen Sie einen Batch Operations-Auftrag über die S3-Konsole**

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. Klicken Sie im linken Navigationsbereich der Amazon-S3-Konsole auf **Batch Operations**.

1. Wählen Sie **Job erstellen** aus.

1. **Wählen Sie unter Region und Umfang** auswählen die AWS Region aus, in der Sie Ihren Job erstellen möchten, und sehen Sie sich diese an.
**Anmerkung**  
Für Kopiervorgänge müssen Sie den Auftrag in derselben Region wie jener des Ziel-Buckets erstellen. Für alle anderen Vorgänge müssen Sie den Auftrag in derselben Region wie jener der Objekte im Manifest erstellen.

1. Geben Sie unter **Umfang**die Liste der Objekte an, auf die Ihr Stapelverarbeitungsauftrag wirken soll.

   Unter **Objektliste** können Sie wählen, ob Sie ein Manifest mithilfe einer Objektliste, ein Manifest mithilfe einer Replikationskonfiguration oder ein vorhandenes Manifest generieren möchten.
   + Wenn Sie **Generate an object list**wählen, wird automatisch eine Objektliste auf der Grundlage des Quellorts und der von Ihnen angegebenen Metadaten erstellt. Sie können diese Liste als Manifest speichern und für future Jobs erneut verwenden.
**Anmerkung**  
Um eine Objektliste zu generieren, benötigen Sie die `s3:PutInventoryConfiguration` entsprechende Berechtigung. Der Quell-Bucket muss ein Allzweck-Bucket sein.
   + Wenn Sie **Ein vorhandenes Manifest verwenden**wählen, können Sie eine Objektliste aus einem vorhandenen Manifest importieren. Ein Manifest ist ein S3-Bestandsbericht oder eine CV-Datei, in der die spezifischen Objekte aufgelistet sind, auf die Batch Operations einwirken soll.
   + Wenn Sie **Verwendung einer Replikationskonfiguration**wählen, können Sie eine Objektliste automatisch auf der Grundlage einer vorhandenen Replikationskonfiguration erstellen. Sie können diese Liste als Manifest speichern und für future Jobs erneut verwenden. 

      Für dieses Beispiel wählen Sie **Erstellen einer Objektliste**.

1. Wählen Sie für **Quellkonto**das Konto, das Eigentümer der Quellobjekte ist.

1. Geben Sie unter **Quelle**den Pfad zu Ihrer Quelle ein, zum Beispiel `s3://`*amzn-s3-demo-bucket*.

1. Unter **Objektfilter**können Sie Filter verwenden, um nach einem beliebigen Teil des Objektschlüssels oder nach dem Ende des Objektschlüssels zu filtern. Die **Objektschlüssel-Filter** helfen bei der Verfeinerung der Liste der Objekte, die im Manifest verwendet werden sollen. Wählen Sie für **Objekt-Metadatenfilter**, um den Umfang der in das Manifest aufzunehmenden Objekte weiter zu definieren.

1. Wählen Sie unter **Vorgang wählen**die Vorgangsart aus, die Sie für alle im Manifest aufgeführten Objekte durchführen möchten. Wenn Ihr Manifest auf Objekte verweist, die in einem Verzeichnis-Bucket gespeichert sind, verwenden Sie nur die Funktionen Kopieren oder Aufrufen von AWS Lambda-Funktionen. Alle anderen Operationen werden nicht unterstützt.

1. Nachdem Sie Ihre Vorgangsart ausgewählt haben, wählen Sie **Weiter**.

1. Füllen Sie die Informationen für **Zusätzliche Optionen konfigurieren** aus.

   Geben Sie unter **Berechtigungen** die AWS Identity and Access Management (IAM-) Rolle an, die der Job verwenden soll. Dies kann eine bestehende Rolle sein oder eine Rolle, die Amazon S3 automatisch für Sie erstellt. Weitere Informationen finden Sie unter [Gewähren von Berechtigungen für Batchoperationen](batch-ops-iam-role-policies.md). Amazon S3 kann die Rolle für Sie erstellen, wenn Sie den Job so konfiguriert haben, dass er eine von S3 generierte Objektliste mit Filtern oder eine Objektliste verwendet, die auf einer Replikationskonfiguration basiert.

1. Wenn Sie mit der Konfiguration der zusätzlichen Optionen fertig sind, wählen Sie **Weiter**.

1. Überprüfen Sie die Einstellungen unter **Review (Überprüfen)**. Wenn Sie Änderungen vornehmen müssen, wählen Sie **Previous**. Andernfalls können Sie **Job einreichen** wählen.

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

Um Ihren Batch Operations-Job mit dem zu erstellen AWS CLI, wählen Sie eines der folgenden Beispiele aus, je nachdem, ob Sie ein vorhandenes Manifest angeben oder ein Manifest automatisch generieren. 

------
#### [ Specify manifest ]

Das folgende Beispiel zeigt, wie Sie mit dem AWS CLI einen `S3PutObjectTagging` S3-Auftrag für Batch Operations erstellen, der auf Objekte reagiert, die in einer vorhandenen Manifestdatei aufgeführt sind.

**So erstellen Sie einen `S3PutObjectTagging`-Auftrag in Batch-Operations durch Angabe eines Manifests**

1. Verwenden Sie die folgenden Befehle, um eine AWS Identity and Access Management (IAM-) Rolle zu erstellen, und erstellen Sie anschließend eine IAM-Richtlinie, um die entsprechenden Berechtigungen zuzuweisen. Die folgende Rolle und die folgende Richtlinie gewähren Amazon S3 die Berechtigung zum Hinzufügen von Objekt-Tags, was Sie benötigen, wenn Sie in einem nachfolgenden Schritt den Auftrag erstellen.

   1. Verwenden Sie den folgenden Beispielbefehl, um eine IAM-Rolle für Batch Operations zu erstellen. Ersetzen Sie `S3BatchJobRole` durch den Namen, den Sie der Rolle geben möchten, um diesen Beispielbefehl zu verwenden.

      ```
      aws iam create-role \
       --role-name S3BatchJobRole \
       --assume-role-policy-document '{
         "Version": "2012-10-17"		 	 	 ,
         "Statement":[
            {
               "Effect":"Allow",
               "Principal":{
                  "Service":"batchoperations.s3.amazonaws.com"
               },
               "Action":"sts:AssumeRole"
            }
         ]
      }'
      ```

      Notieren Sie sich den Amazon-Ressourcenname (ARN) der Rolle. Sie benötigen den ARN zum Erstellen eines Auftrags.

   1. Verwenden Sie den folgenden Beispielbefehl zum Erstellen einer IAM-Richtlinie mit den erforderlichen Berechtigungen und fügen Sie sie der im vorherigen Schritt erstellten IAM-Rolle an. Weitere Informationen zu den erforderlichen Berechtigungen finden Sie unter [Gewähren von Berechtigungen für Batchoperationen](batch-ops-iam-role-policies.md).
**Anmerkung**  
Batch-Operations-Aufträge, die Aktionen für Verzeichnis-Buckets ausführen, erfordern bestimmte Berechtigungen. Weitere Informationen finden Sie unter [AWS Identity and Access Management (IAM) für S3 Express One Zone](https://docs.aws.amazon.com//AmazonS3/latest/userguide/s3-express-security-iam.html).

      Um diesen Beispielbefehl zu verwenden, ersetzen Sie die `user input placeholders` wie folgt: 
      + Ersetzen Sie `S3BatchJobRole` durch den Namen Ihrer IAM-Rolle. Stellen Sie sicher, dass dieser Name mit dem Namen übereinstimmt, den Sie zuvor verwendet haben.
      + Ersetzen Sie `PutObjectTaggingBatchJobPolicy` durch den Namen, den Sie Ihrer IAM-Richtlinie geben möchten.
      + Ersetzen Sie `amzn-s3-demo-destination-bucket` durch den Namen des Buckets, der die Objekte enthält, auf die Sie Tags anwenden möchten.
      + Ersetzen Sie *`amzn-s3-demo-manifest-bucket`* durch den Namen des Buckets, der das Manifest enthält.
      + Ersetzen Sie *`amzn-s3-demo-completion-report-bucket`* durch den Namen des Buckets, an den der Abschlussbericht übermittelt werden soll. 

      ```
      aws iam put-role-policy \
        --role-name S3BatchJobRole \
        --policy-name PutObjectTaggingBatchJobPolicy \
        --policy-document '{
        "Version": "2012-10-17"		 	 	 ,		 	 	 TCX5-2025-waiver;,
        "Statement":[
          {
            "Effect":"Allow",
            "Action":[
              "s3:PutObjectTagging",
              "s3:PutObjectVersionTagging"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
          },
          {
            "Effect": "Allow",
            "Action": [
              "s3:GetObject",
              "s3:GetObjectVersion",
              "s3:GetBucketLocation"
            ],
            "Resource": [
              "arn:aws:s3:::amzn-s3-demo-manifest-bucket",
              "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"
            ]
          },
          {
            "Effect":"Allow",
            "Action":[
              "s3:PutObject",
              "s3:GetBucketLocation"
            ],
            "Resource":[
              "arn:aws:s3:::amzn-s3-demo-completion-report-bucket",
              "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*"
            ]
          }
        ]
      }'
      ```

1. Verwenden Sie den folgenden Beispielbefehl, um einen `S3PutObjectTagging`-Auftrag zu erstellen. 

   Die `manifest.csv`-Datei stellt eine Liste mit Bucket- und Objektschlüsselwerten bereit. Der Auftrag wendet die angegebenen Tags auf Objekte an, die im Manifest aufgelistet sind. Das `ETag` ist das ETag des `manifest.csv` Objekts, das Sie von der Amazon S3 S3-Konsole abrufen können. Diese Anforderung enthält den `no-confirmation-required`-Parameter, damit Sie den Job ausführen können, ohne ihn mit dem `update-job-status`-Befehl bestätigen zu müssen. Weitere Informationen finden Sie unter [https://docs.aws.amazon.com/cli/latest/reference/s3control/create-job.html](https://docs.aws.amazon.com/cli/latest/reference/s3control/create-job.html) in der Referenz zum *AWS CLI -Befehl*.

   Wenn Sie diese Beispielbefehl verwenden möchten, ersetzen Sie `user input placeholders` durch Ihre Informationen. Ersetzen Sie *`IAM-role`* durch den ARN des Buckets, den Sie zuvor erstellt haben. 

   ```
   aws s3control create-job \
       --region us-west-2 \
       --account-id acct-id \
       --operation '{"S3PutObjectTagging": { "TagSet": [{"Key":"keyOne", "Value":"ValueOne"}] }}' \
       --manifest '{"Spec":{"Format":"S3BatchOperations_CSV_20180820","Fields":["Bucket","Key"]},"Location":{"ObjectArn":"arn:aws:s3:::amzn-s3-demo-manifest-bucket/manifest.csv","ETag":"60e460c9d1046e73f7dde5043ac3ae85"}}' \
       --report '{"Bucket":"arn:aws:s3:::amzn-s3-demo-completion-report-bucket","Prefix":"final-reports", "Format":"Report_CSV_20180820","Enabled":true,"ReportScope":"AllTasks"}' \
       --priority 42 \
       --role-arn IAM-role \
       --client-request-token $(uuidgen) \
       --description "job description" \
       --no-confirmation-required
   ```

   Als Antwort gibt Amazon S3 eine Auftrags-ID zurück (zum Beispiel `00e123a4-c0d8-41f4-a0eb-b46f9ba5b07c`). Sie benötigen die Auftrags-ID, um den Auftrag zu identifizieren, zu überwachen und zu ändern.

------
#### [ Generate manifest ]

Das folgende Beispiel zeigt, wie Sie einen S3-Batch-Operations–`S3DeleteObjectTagging`-Auftrag erstellen, der automatisch ein Manifest auf der Grundlage Ihrer Objektfilterkriterien generiert. Zu diesen Kriterien gehören das Erstellungsdatum, der Schlüsselname, die Größe, die Speicherklasse und die Tags.

**So erstellen Sie einen `S3DeleteObjectTagging`-Auftrag in Batch-Operations durch Erstellen eines Manifests**

1. Verwenden Sie die folgenden Befehle, um eine AWS Identity and Access Management (IAM-) Rolle und anschließend eine IAM-Richtlinie zur Zuweisung von Berechtigungen zu erstellen. Die folgende Rolle und die folgende Richtlinie gewähren Amazon S3 die Berechtigung zum Löschen von Objekt-Tags, was Sie benötigen, wenn Sie in einem nachfolgenden Schritt den Auftrag erstellen.

   1. 

      Verwenden Sie den folgenden Beispielbefehl, um eine IAM-Rolle für Batch Operations zu erstellen. Ersetzen Sie `S3BatchJobRole` durch den Namen, den Sie der Rolle geben möchten, um diesen Beispielbefehl zu verwenden.

      ```
      aws iam create-role \
       --role-name S3BatchJobRole \
       --assume-role-policy-document '{
         "Version": "2012-10-17"		 	 	 ,		 	 	 TCX5-2025-waiver;,
         "Statement":[
            {
               "Effect":"Allow",
               "Principal":{
                  "Service":"batchoperations.s3.amazonaws.com"
               },
               "Action":"sts:AssumeRole"
            }
         ]
      }'
      ```

      Notieren Sie sich den Amazon-Ressourcenname (ARN) der Rolle. Sie benötigen den ARN zum Erstellen eines Auftrags.

   1. Verwenden Sie den folgenden Beispielbefehl zum Erstellen einer IAM-Richtlinie mit den erforderlichen Berechtigungen und fügen Sie sie der im vorherigen Schritt erstellten IAM-Rolle an. Weitere Informationen zu den erforderlichen Berechtigungen finden Sie unter [Gewähren von Berechtigungen für Batchoperationen](batch-ops-iam-role-policies.md).
**Anmerkung**  
Batch-Operations-Aufträge, die Aktionen für Verzeichnis-Buckets ausführen, erfordern bestimmte Berechtigungen. Weitere Informationen finden Sie unter [AWS Identity and Access Management (IAM) für S3 Express One Zone](https://docs.aws.amazon.com//AmazonS3/latest/userguide/s3-express-security-iam.html).

      Um diesen Beispielbefehl zu verwenden, ersetzen Sie die `user input placeholders` wie folgt: 
      + Ersetzen Sie `S3BatchJobRole` durch den Namen Ihrer IAM-Rolle. Stellen Sie sicher, dass dieser Name mit dem Namen übereinstimmt, den Sie zuvor verwendet haben.
      + Ersetzen Sie `DeleteObjectTaggingBatchJobPolicy` durch den Namen, den Sie Ihrer IAM-Richtlinie geben möchten.
      + Ersetzen Sie `amzn-s3-demo-destination-bucket` durch den Namen des Buckets, der die Objekte enthält, auf die Sie Tags anwenden möchten.
      + Ersetzen Sie `amzn-s3-demo-manifest-bucket` durch den Namen des Buckets, in dem das Manifest gespeichert werden soll.
      + Ersetzen Sie `amzn-s3-demo-completion-report-bucket` durch den Namen des Buckets, an den der Abschlussbericht übermittelt werden soll. 

      ```
      aws iam put-role-policy \
        --role-name S3BatchJobRole \
        --policy-name DeleteObjectTaggingBatchJobPolicy \
        --policy-document '{
        "Version": "2012-10-17"		 	 	 ,		 	 	 TCX5-2025-waiver;,
        "Statement":[
          {
            "Effect":"Allow",
            "Action":[
              "s3:DeleteObjectTagging",
              "s3:DeleteObjectVersionTagging"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
          },
          {
            "Effect":"Allow",
            "Action":[
              "s3:PutInventoryConfiguration"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket"
          },
          {
            "Effect": "Allow",
            "Action": [
              "s3:GetObject",
              "s3:GetObjectVersion",
              "s3:ListBucket"
            ],
            "Resource": [
              "arn:aws:s3:::amzn-s3-demo-manifest-bucket",
              "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"
            ]
          },
          {
            "Effect":"Allow",
            "Action":[
              "s3:PutObject",
              "s3:ListBucket"
            ],
            "Resource":[
              "arn:aws:s3:::amzn-s3-demo-completion-report-bucket",
              "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*",
              "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"
            ]
          }
        ]
      }'
      ```

      

1. Verwenden Sie den folgenden Beispielbefehl, um den `S3DeleteObjectTagging`-Auftrag zu erstellen.

   In diesem Beispiel geben die Werte im `--report`-Abschnitt den Bucket, das Präfix, das Format und den Umfang des Auftragsberichts an, der generiert wird. Der `--manifest-generator`-Abschnitt enthält Informationen über den Quell-Bucket, der die Objekte enthält, auf die der Auftrag wirkt, Informationen über die Manifest-Ausgabeliste, die für den Auftrag generiert wird, und Filterkriterien, um den Bereich der Objekte, die in das Manifest aufgenommen werden sollen, nach Erstellungsdatum, Namenseinschränkungen, Größe und Speicherklasse einzugrenzen. Der Befehl gibt auch die Priorität, die IAM-Rolle und die AWS-Region des Auftrags an.

   Weitere Informationen finden Sie unter [https://docs.aws.amazon.com/cli/latest/reference/s3control/create-job.html](https://docs.aws.amazon.com/cli/latest/reference/s3control/create-job.html) in der Referenz zum *AWS CLI -Befehl*.

   Wenn Sie diese Beispielbefehl verwenden möchten, ersetzen Sie `user input placeholders` durch Ihre Informationen. Ersetzen Sie *`IAM-role`* durch den ARN des Buckets, den Sie zuvor erstellt haben. 

   ```
   aws s3control create-job \
       --account-id 012345678901 \
       --operation '{
           "S3DeleteObjectTagging": {}
       }' \
       --report '{
           "Bucket":"arn:aws:s3:::amzn-s3-demo-completion-report-bucket",
           "Prefix":"reports", 
           "Format":"Report_CSV_20180820",
           "Enabled":true,
           "ReportScope":"AllTasks"
       }' \
       --manifest-generator '{
           "S3JobManifestGenerator": {
             "ExpectedBucketOwner": "012345678901",
             "SourceBucket": "arn:aws:s3:::amzn-s3-demo-source-bucket",
             "EnableManifestOutput": true,
             "ManifestOutputLocation": {
               "ExpectedManifestBucketOwner": "012345678901",
               "Bucket": "arn:aws:s3:::amzn-s3-demo-manifest-bucket",
               "ManifestPrefix": "prefix",
               "ManifestFormat": "S3InventoryReport_CSV_20211130"
             },
             "Filter": {
               "CreatedAfter": "2023-09-01",
               "CreatedBefore": "2023-10-01",
               "KeyNameConstraint": {
                 "MatchAnyPrefix": [
                   "prefix"
                 ],
                 "MatchAnySuffix": [
                   "suffix"
                 ]
               },
               "ObjectSizeGreaterThanBytes": 100,
               "ObjectSizeLessThanBytes": 200,
               "MatchAnyStorageClass": [
                 "STANDARD",
                 "STANDARD_IA"
               ]
             }
           }
         }' \
        --priority 2 \
        --role-arn IAM-role \
        --region us-east-1
   ```

   Als Antwort gibt Amazon S3 eine Auftrags-ID zurück (zum Beispiel `00e123a4-c0d8-41f4-a0eb-b46f9ba5b07c`). Sie benötigen diese Auftrags-ID, um den Auftrag zu identifizieren, zu überwachen oder zu ändern.

------

### Mit dem AWS SDK für Java
<a name="batch-ops-examples-java-create-job"></a>

Um Ihren Batch Operations-Job mit dem AWS SDK for Java zu erstellen, können Sie zwischen zwei Ansätzen wählen, je nachdem, ob Sie ein vorhandenes Manifest angeben oder ein Manifest automatisch generieren:
+ *Vorhandenes Manifest angeben:* Erstellen Sie einen S3-Batch-Operations-Auftrag (z. B. `S3PutObjectTagging`), der auf Objekte wirkt, die in einer vorhandenen Manifest-Datei aufgeführt sind. Bei diesem Ansatz müssen Sie den Speicherort und die Formatspezifikationen für das Manifest angeben. ETag
+ *Manifest automatisch generieren:* Erstellen Sie einen S3-Batch-Operations-Auftrag (z. B. `s3PutObjectCopy`), der automatisch ein Manifest auf der Grundlage von Objektfilterkriterien, einschließlich Erstellungsdatum, Schlüsselname und Größenbeschränkungen, generiert.

Beide Ansätze verwenden den S3Control-Client zur Konfiguration von Auftragsvorgängen, Manifest-Spezifikationen, Auftragsberichten, IAM-Rollen und anderen Auftragsparametern, einschließlich Prioritäts- und Bestätigungsanforderungen.

Beispiele für die Erstellung von S3 Batch Operations-Jobs mit dem AWS SDK for Java finden [Sie unter Erstellen eines Batch-Jobs zum Kopieren von Objekten](https://docs.aws.amazon.com/AmazonS3/latest/API/s3-control_example_s3-control_CreateJob_section.html) in der *Amazon S3 S3-API-Referenz*.

### Verwenden der REST-API
<a name="batch-ops-examples-rest-create-job"></a>

Sie können die REST-API verwenden, um einen Batchvorgangsauftrag zu erstellen. Weitere Informationen finden Sie unter [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 *API-Referenz zu Amazon Simple Storage Service*. 

## Auftragsantworten
<a name="batch-ops-create-job-response-elements"></a>

Wenn die `CreateJob`-Anforderung erfolgreich ist, gibt Amazon S3 eine Auftrags-ID zurück. Die Auftrags-ID ist eine eindeutige Kennung, die Amazon S3 automatisch erstellt. Anhand dieser ID können Sie Ihren Batch-Vorgangsauftrag identifizieren und dessen Status überwachen.

Wenn Sie einen Job über die AWS CLI, oder REST-API erstellen AWS SDKs, können Sie S3 Batch Operations so einrichten, dass die Verarbeitung des Jobs automatisch beginnt. Der Auftrag wird ausgeführt, sobald er bereit ist, und muss nicht hinter Aufträgen mit höherer Priorität warten.

Wenn Sie einen Auftrag über die Amazon-S3-Konsole erstellen, müssen Sie die Auftragsdetails überprüfen und bestätigen, dass Sie ihn ausführen möchten, bevor Batch Operations mit seiner Verarbeitung beginnen kann. Wenn ein Job länger als 30 Tage im Status „Ausgesetzt“ verbleibt, schlägt er fehl.

# 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)

# Verwalten von S3-Batch-Vorgangsaufträgen
<a name="batch-ops-managing-jobs"></a>

Amazon S3 bietet robuste Tools, die Sie bei der Verwaltung Ihrer Aufträge für die S3-Batch-Vorgänge unterstützen, nachdem Sie diese erstellt haben. In diesem Abschnitt werden die Vorgänge beschrieben, mit denen Sie Ihre Jobs mithilfe der Amazon S3-Konsole AWS Command Line Interface (AWS CLI) oder der Amazon S3-REST-API verwalten und verfolgen können. AWS SDKs

**Topics**
+ [

## Verwenden der Amazon-S3-Konsole zum Verwalten Ihrer S3-Batch-Vorgangsaufträge
](#batch-ops-manage-console)
+ [

# Auflisten von Aufträgen
](batch-ops-list-jobs.md)
+ [

# Anzeigen von Auftragsdetails
](batch-ops-job-details.md)
+ [

# Zuweisen der Auftragspriorität
](batch-ops-job-priority.md)

## Verwenden der Amazon-S3-Konsole zum Verwalten Ihrer S3-Batch-Vorgangsaufträge
<a name="batch-ops-manage-console"></a>

Verwenden der Konsole zum Verwalten Ihrer S3-Batch-Vorgangsaufträge Beispielsweise ist Folgendes möglich:
+ Aktive und in Warteschlange gewartete Aufträge anzeigen
+ Überprüfen Sie den Status eines Jobs
+ Ändern der Priorität eines Auftrags
+ Bestätigen und Ausführen eines Auftrags
+ Einen Auftrag klonen
+ Abbrechen eines Auftrags

**Verwenden der Konsole zum Verwalten Ihrer Batchvorgänge**

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. Klicken Sie im linken Navigationsbereich auf **Batchvorgänge**.

1. Wählen Sie den Job aus, den Sie verwalten möchten.

# Auflisten von Aufträgen
<a name="batch-ops-list-jobs"></a>

Sie können eine Liste Ihrer S3-Batch-Vorgangsaufträge abrufen. Die Liste enthält Informationen zu Jobs, die noch nicht abgeschlossen wurden, und zu Jobs, die innerhalb der letzten 90 Tage abgeschlossen wurden. Für jeden Job enthält die Liste Details wie Job-ID, Beschreibung, Priorität, aktuellen Status und die Anzahl der Aufgaben, die erfolgreich waren oder nicht.

Sie können die Auftragsliste nach dem Status filtern. Wenn Sie die Liste mithilfe der Konsole abrufen, können Sie Ihre Jobs auch nach Beschreibung oder ID durchsuchen und sie danach filtern AWS-Region.

## Abrufen einer Liste mit `Active`- und `Complete`-Aufgaben
<a name="batch-ops-example-cli-active-jobs"></a>

Im folgenden AWS CLI Beispiel wird eine Liste mit `Active` und `Complete` -Jobs abgerufen. Wenn Sie dieses Beispiel verwenden möchten, ersetzen Sie die *`user input placeholders`* (Platzhalter für Benutzereingaben) durch Ihre Informationen.

```
aws s3control list-jobs \
    --region us-west-2 \
    --account-id account-id \
    --job-statuses '["Active","Complete"]' \
    --max-results 20
```

Weitere Informationen und Beispiele finden Sie unter [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/list-jobs.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/list-jobs.html) in der *AWS CLI -Befehlsreferenz*.

# Anzeigen von Auftragsdetails
<a name="batch-ops-job-details"></a>

Wenn Sie mehr Informationen zu einem Amazon S3 Batch Operations-Job benötigen, als Sie durch das Auflisten von Aufträgen abrufen können, können Sie alle Details für einen einzelnen Job anzeigen. Sie können Details für Jobs anzeigen, die noch nicht abgeschlossen wurden, oder für Jobs, die innerhalb der letzten 90 Tage abgeschlossen wurden. Zusätzlich zu den in einer Jobliste zurückgegebenen Informationen enthalten die Details eines einzelnen Jobs Informationen wie: 
+ Die Betriebsparameter.
+ Einzelheiten zum Manifest.
+ Informationen zum Abschlussbericht, falls Sie bei der Erstellung des Jobs einen konfiguriert haben.
+ Der Amazon-Ressourcenname (ARN) der AWS Identity and Access Management (IAM) -Rolle, die Sie zur Ausführung des Jobs zugewiesen haben.

Durch das Anzeigen der Details eines einzelnen Auftrags erhalten Sie Zugriff auf die gesamte Konfiguration eines Auftrags. Um die Details eines Jobs anzuzeigen, können Sie die Amazon S3 S3-Konsole oder die AWS Command Line Interface (AWS CLI) verwenden.

## Die Beschreibung eines Auftrags in S3 Batch Operations in der Amazon-S3-Konsole abrufen
<a name="batch-ops-console-job-description"></a>

**So zeigen Sie die Beschreibung eines Batch-Operations-Auftrags über die Konsole an**

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. Klicken Sie im linken Navigationsbereich auf **Batchvorgänge**.

1. Wählen Sie die Auftrags-ID des spezifischen Auftrags aus, um die zugehörigen Details anzuzeigen.

## Holen Sie sich eine Stellenbeschreibung für S3 Batch Operations in der AWS CLI
<a name="batch-ops-example-cli-job-description"></a>

Im folgenden Beispiel wird die Beschreibung eines Auftrags in S3 Batch Operations unter Verwendung der AWS CLI abgerufen. Wenn Sie den folgenden Beispielbefehl verwenden möchten, ersetzen Sie *`user input placeholders`* durch Ihre eigenen Informationen.

```
aws s3control describe-job \
--region us-west-2 \
--account-id account-id \
--job-id 00e123a4-c0d8-41f4-a0eb-b46f9ba5b07c
```

Weitere Informationen und Beispiele finden Sie unter [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/describe-job.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/describe-job.html) in der *Referenz zum AWS CLI -Befehl*.

# Zuweisen der Auftragspriorität
<a name="batch-ops-job-priority"></a>

Sie können jeder Aufgabe in Amazon S3 Batch Operations eine numerische Priorität zuweisen, die jede positive ganze Zahl sein kann S3 Batch Operations priorisiert Aufträge entsprechend der zugewiesenen Priorität. Aufträge mit höherer Priorität (oder einem höheren Wert für den Prioritätsparameter) werden zuerst bewertet. Die Priorität wird in absteigender Reihenfolge ermittelt. So erhält beispielsweise eine Auftragswarteschlange mit einem Prioritätswert von 10 Vorrang vor einer Auftragswarteschlange mit dem Wert 1. 

Sie können die Priorität eines Auftrags auch während seiner Ausführung ändern. Wenn Sie einen neuen Auftrag übermitteln, während ein Auftrag ausgeführt wird, kann der Auftrag mit niedrigerer Priorität pausieren und der Auftrag mit höherer Priorität ausgeführt werden.

Das Ändern der Auftragspriorität hat keinen Einfluss auf die Geschwindigkeit der Auftragsverarbeitung.

**Anmerkung**  
S3 Batch Operations berücksichtigt Aufgabenprioritäten auf Best-Effort-Basis. Zwar werden Aufträge mit höheren Prioritäten im Allgemeinen vor Aufträgen mit niedrigeren Prioritäten ausgeführt, Amazon S3 garantiert jedoch keine strikte Reihenfolge der Aufträge.

## Verwenden der S3-Konsole
<a name="batch-ops-example-console-update-job-priority"></a>

**So aktualisieren Sie die Auftragspriorität in der Amazon-S3-Konsole**

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. Klicken Sie im linken Navigationsbereich auf **Batchvorgänge**.

1. Wählen Sie den spezifischen Auftrag aus, den Sie verwalten möchten.

1. Wählen Sie **Action** (Aktion). Wählen Sie in der Dropdown-Liste **Update priority** (Priorität aktualisieren).

## Verwenden Sie den AWS CLI
<a name="batch-ops-example-cli-update-job-priority"></a>

Im folgenden Beispiel wird die Auftragspriorität mithilfe der AWS CLI aktualisiert. Eine höhere Zahl weist auf eine höhere Ausführungspriorität hin. Wenn Sie den folgenden Beispielbefehl verwenden möchten, ersetzen Sie *`user input placeholders`* durch Ihre eigenen Informationen.

```
aws s3control update-job-priority \
    --region us-west-2 \
    --account-id account-id \
    --priority 98 \
    --job-id 00e123a4-c0d8-41f4-a0eb-b46f9ba5b07c
```

## Mit dem AWS SDK für Java
<a name="batch-ops-examples-java-update-job-priority."></a>

Um die Priorität eines S3 Batch Operations-Jobs mithilfe des AWS SDK for Java zu aktualisieren, können Sie den S3Control-Client verwenden, um die Ausführungspriorität des Jobs zu ändern, die die Reihenfolge bestimmt, in der Jobs im Verhältnis zu anderen Jobs in der Warteschlange verarbeitet werden.

Weitere Informationen zur Auftragspriorität finden Sie unter [Zuweisen der Auftragspriorität](#batch-ops-job-priority).

Beispiele für die Aktualisierung der Auftragspriorität mit dem AWS SDK for Java finden Sie unter [Aktualisieren der Priorität eines Batch-Jobs](https://docs.aws.amazon.com/AmazonS3/latest/API/s3-control_example_s3-control_UpdateJobPriority_section.html) in der *Amazon S3 S3-API-Referenz*.

# Verfolgen von Auftragsstatus- und Abschluss
<a name="batch-ops-job-status"></a>

Mit S3 Batch Operations können Sie den Auftragsstatus anzeigen und aktualisieren, Benachrichtigungen und Protokollierung hinzufügen, Auftragsfehler verfolgen und Abschlussberichte erstellen. 

**Topics**
+ [

## Auftragsstatus
](#batch-ops-job-status-table)
+ [

## Auftragsstatus wird aktualisiert
](#updating-job-statuses)
+ [

## Benachrichtigungen und Protokollierung
](#batch-ops-notifications)
+ [

## Nachverfolgen von Auftragsfehlern
](#batch-ops-job-status-failure)
+ [

## Abschlussberichte
](#batch-ops-completion-report)
+ [

# Beispiele: Verfolgen eines S3 Batch Operations-Jobs in Amazon EventBridge über AWS CloudTrail
](batch-ops-examples-event-bridge-cloud-trail.md)
+ [

# Beispiele: Abschlussberichte zu S3-BatchVorgänge
](batch-ops-examples-reports.md)

## Auftragsstatus
<a name="batch-ops-job-status-table"></a>

Nachdem Sie einen Auftrag erstellt und ausgeführt haben, durchläuft dieser eine Reihe von Status. In der folgenden Tabelle werden die Status und mögliche Übergänge zwischen ihnen beschrieben. 


| Status | Beschreibung | Übergänge | 
| --- | --- | --- | 
| `New` | Ein Auftrag beginnt nach der Erstellung mit dem Status `New`. | Ein Auftrag wechselt automatisch in den Status `Preparing`, sobald Amazon S3 mit der Verarbeitung des Manifestobjekts beginnt. | 
| `Preparing` | Amazon S3 verarbeitet das Manifestobjekt und andere Auftragsparameter, um den Auftrag einzurichten und auszuführen. | Ein Auftrag wechselt automatisch in den Status `Ready`, sobald Amazon S3 die Verarbeitung des Manifests und anderer Parameter abschließt. Der Auftrag ist dann bereit, die angegebene Operation an den im Manifest aufgeführten Objekten auszuführen.Wenn der Auftrag vor der Ausführung bestätigt werden muss, wie dies bei der Erstellung eines Auftrags mit der Amazon-S3-Konsole der Fall ist, wechselt der Auftrag von `Preparing` zu `Suspended`. Der Auftrag verbleibt im Status `Suspended`, bis Sie bestätigen, dass Sie ihn ausführen möchten. | 
| `Suspended` | Der Auftrag erfordert eine Bestätigung, aber Sie haben noch nicht bestätigt, dass Sie ihn ausführen möchten. Nur Aufträge, die mit der Amazon-S3-Konsole erstellt wurden, benötigen eine Bestätigung. Ein Auftrag, der mit der Konsole erstellt wurde, wechselt sofort zum Status `Suspended` nach `Preparing`. Nachdem Sie die Ausführung des Auftrags bestätigen und der Auftrag in den Status `Ready` wechselt, kehrt er nicht wieder in den Status `Suspended` zurück. | Nachdem Sie die Ausführung des Auftrags bestätigen, wechselt der Status zu `Ready`. | 
| `Ready` | Amazon S3 ist bereit, die angeforderten Objekt-Vorgänge auszuführen. | Ein Auftrag wechselt automatisch in den Status `Active`, sobald Amazon S3 mit dessen Ausführung beginnt. Der Zeitraum, den ein Auftrag im Status `Ready` verbringt, hängt davon ab, ob bereits Aufträge mit einer höheren Priorität ausgeführt werden und wie lange es dauert, diese Aufträge abzuschließen. | 
| `Active` | Amazon S3 führt die angeforderte Operation an den im Manifest aufgeführten Objekten aus. Während ein Auftrag ausgeführt wird`Active`, können Sie seinen Fortschritt mithilfe der Amazon S3 S3-Konsole oder den `DescribeJob` Vorgang über die REST-API, AWS CLI, oder überwachen AWS SDKs. | Ein Auftrag verlässt den Status `Active`, wenn er nicht länger Vorgänge an Objekten ausführt. Dieses Verhalten kann automatisch erfolgen, wenn eine Aufgabe erfolgreich beendet wird oder fehlschlägt. Oder das Verhalten kann aufgrund von Benutzeraktionen erfolgen, wenn beispielsweise eine Aufgabe abgebrochen wird. Der neue Status des Auftrags hängt vom Grund für den Übergang ab. | 
| `Pausing` | Der Auftrag wechselt von `Paused` zu einem anderen Status über. | Ein Auftrag wechselt automatisch in den Status `Paused`, wenn die Stufe `Pausing` abgeschlossen ist. | 
| `Paused` | Ein Auftrag wechselt in den Status `Paused`, wenn ein anderer Auftrag mit einer höheren Priorität abgesendet wird, während der aktuelle Auftrag ausgeführt wird. | Ein Auftrag mit dem Status `Paused` kehrt automatisch in den Status `Active` zurück, nachdem alle Aufträge mit einer höheren Priorität, die die Ausführung des Auftrag blockierten, abgeschlossen, fehlgeschlagen oder gesperrt sind. | 
| `Completing` | Der Auftrag wechselt von `Complete` zu einem anderen Status über. | Ein Auftrag wechselt automatisch in den Status `Complete`, wenn die Stufe `Completing` abgeschlossen ist. | 
| `Complete` | Der Auftrag hat die Ausführung der angeforderten Operation an allen Objekten abgeschlossen. Die Operation kann bei den einzelnen Objekten entweder erfolgreich abgeschlossen oder fehlgeschlagen sein. Wenn Sie den Auftrag so konfiguriert haben, dass ein Abschlussbericht generiert werden soll, dann ist der Bericht sofort verfügbar, nachdem der Auftrag in den Status gewechselt is `Complete`. | `Complete` ist ein Beendigungsstatus. Sobald ein Auftrag den Status `Complete` erreicht, geht er in keinen anderen Status über. | 
| `Cancelling` | Der Auftrag wechselt in den Status `Cancelled`. | Ein Auftrag wechselt automatisch in den Status `Cancelled`, wenn die Stufe `Cancelling` abgeschlossen ist. | 
| `Cancelled` | Sie haben angefordert, dass der Auftrag abgebrochen wird, und S3 Batch Operations hat den Auftrag erfolgreich abgebrochen. Der Auftrag sendet keine neuen Anforderungen an Amazon S3. | `Cancelled` ist ein Beendigungsstatus. Nachdem ein Auftrag den Status `Cancelled` erreicht hat, geht der Auftrag in keinen anderen Status über. | 
| `Failing` | Der Auftrag wechselt in den Status `Failed`. | Ein Auftrag wechselt automatisch in den Status `Failed`, nachdem die Stufe `Failing` abgeschlossen ist. | 
| `Failed` | Der Auftrag ist fehlgeschlagen und wird nicht länger ausgeführt. Weitere Informationen zu Auftragsfehlern finden Sie unter [Nachverfolgen von Auftragsfehlern](#batch-ops-job-status-failure). | `Failed` ist ein Beendigungsstatus. Nachdem ein Auftrag den Status `Failed` erreicht hat, geht er in keinen anderen Status über. | 

## Auftragsstatus wird aktualisiert
<a name="updating-job-statuses"></a>

Im Folgenden AWS CLI und in den AWS SDK für Java Beispielen wird der Status eines Batch Operations-Jobs aktualisiert. Weitere Informationen zur Verwendung der Amazon-S3-Konsole zur Verwaltung von Batch-Operations-Aufträgen finden Sie unter [Verwenden der Amazon-S3-Konsole zum Verwalten Ihrer S3-Batch-Vorgangsaufträge](batch-ops-managing-jobs.md#batch-ops-manage-console).

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

Um die folgenden Beispielbefehle zu verwenden, ersetzen Sie *`user input placeholders`* durch eigene Daten. 
+ Wenn Sie den Parameter `--no-confirmation-required` in Ihrem `create-job`-Befehl nicht angegeben haben, bleibt der Auftrag so lange ausgesetzt, bis Sie den Auftrag bestätigen, indem Sie dessen Status auf `Ready` setzen. Amazon S3 erlaubt dann die Ausführung des Auftrags.

  ```
  aws s3control update-job-status \
      --region us-west-2 \
      --account-id 123456789012 \
      --job-id 00e123a4-c0d8-41f4-a0eb-b46f9ba5b07c \
      --requested-job-status 'Ready'
  ```
+ Brechen Sie den Auftrag ab, indem Sie den Auftragsstatus auf einstelle `Cancelled`.

  ```
  aws s3control update-job-status \
       --region us-west-2 \
       --account-id 123456789012 \
       --job-id 00e123a4-c0d8-41f4-a0eb-b46f9ba5b07c \
       --status-update-reason "No longer needed" \
       --requested-job-status Cancelled
  ```

### Verwenden des AWS SDK for Java
<a name="batch-ops-examples-java-update-job-status"></a>

Beispiele für die Aktualisierung des Auftragsstatus mit dem AWS SDK for Java finden Sie unter [Aktualisieren des Status eines Batch-Jobs](https://docs.aws.amazon.com/AmazonS3/latest/API/s3-control_example_s3-control_UpdateJobStatus_section.html) in der *Amazon S3 S3-API-Referenz*.

## Benachrichtigungen und Protokollierung
<a name="batch-ops-notifications"></a>

Zusätzlich zur Anforderung von Abschlussberichten können Sie Batch-Operations-Aktivitäten erfassen, überprüfen und auditieren, indem Sie AWS CloudTrail verwenden. Da Batch Operations vorhandene Amazon-S3-API-Operationen für die Durchführung von Aufgaben nutzt, geben diese Aufgaben dieselben Ereignisse aus, die sie ausgeben würden, wenn Sie sie direkt aufgerufen hätten. So können Sie den Fortschritt Ihres Auftrags und aller seiner Aufgaben mit denselben Benachrichtigungs-, Protokollierungs- und Prüftools und -prozessen nachverfolgen und aufzeichnen, die Sie bereits mit Amazon S3 verwenden. Weitere Informationen finden Sie in den Beispielen in den folgenden Abschnitten.

**Anmerkung**  
Batch Operations generiert CloudTrail während der Auftragsausführung sowohl Verwaltungs- als auch Datenereignisse. Das Volumen dieser Ereignisse wird mit der Anzahl der Schlüssel im Manifest jeder Aufgabe skaliert. Weitere Informationen finden Sie auf der Seite mit den [CloudTrail Preisen](https://aws.amazon.com/cloudtrail/pricing/). Dort finden Sie Beispiele dafür, wie sich die Preise je nach der Anzahl der Trails, die Sie in Ihrem Konto konfiguriert haben, ändern. Informationen zum Konfigurieren und Protokollieren von Ereignissen, damit sie Ihren Anforderungen entsprechen, finden Sie unter [Create your first trail (Erstellen Ihres ersten Trails)](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-tutorial.html#tutorial-step2) im *AWS CloudTrail -Benutzerhandbuch.*

Weitere Informationen über Amazon-S3-Ereignisse finden Sie unter [Amazon-S3-Ereignisbenachrichtigungen](EventNotifications.md). 

## Nachverfolgen von Auftragsfehlern
<a name="batch-ops-job-status-failure"></a>

Wenn bei einem S3-Batch-Vorgangsauftrag ein Problem auftritt, das die erfolgreiche Ausführung verhindert, schlägt der Auftrag fehl. Dies ist beispielsweise der Fall, wenn das angegebene Manifest nicht gelesen werden kann. Wenn ein Auftrag fehlschlägt, generiert er einen oder mehrere Fehlercodes oder Fehlergründe. S3 Batch Operations speichert die Fehlercodes und die Gründe mit dem Auftrag, damit Sie sie anzeigen können, indem Sie die Details des Auftrags anfordern. Wenn Sie einen Abschlussbericht für den Auftrag angefordert haben, sind die Fehlercodes und -ursachen auch darin enthalten.

Um zu verhindern, dass zu viele Vorgänge fehlschlagen, wendet Amazon S3 einen Schwellenwert für fehlgeschlagene Aufträge auf jeden Batch-Vorgangsauftrag an. Wenn ein Auftrag mindestens 1.000 Aufgaben ausgeführt hat, überwacht Amazon S3 die Aufgabenfehlerrate. Wenn die Fehlerrate (also die Anzahl fehlgeschlagener Aufgaben im Verhältnis zur Gesamtzahl ausgeführter Aufgaben) zu einem beliebigen Zeitpunkt 50 Prozent überschreitet, schlägt der Auftrag fehl. Wenn Ihr Auftrag fehlschlägt, weil er den Schwellenwert für fehlgeschlagene Aufträge überschritten hat, können Sie die Ursache der Fehler identifizieren. Beispielsweise könnte der Fehler darin liegen, dass Sie versehentlich Objekte in das Manifest aufgenommen haben, die im angegebenen Bucket nicht vorhanden sind. Nach dem Beheben der Fehler können Sie den Auftrag erneut übermitteln.

**Anmerkung**  
S3 Batch Operations wird asynchron betrieben, und die Aufträge werden nicht zwangsläufig in der Reihenfolge ausführt, in der die Objekte im Manifest aufgeführt sind. Daher können Sie anhand der Reihenfolge im Manifest nicht feststellen, welche Objektaufgaben erfolgreich ausgeführt wurden und welche fehlgeschlagen sind. Stattdessen können Sie den Abschlussbericht des Auftrags (falls Sie einen angefordert haben) oder Ihre AWS CloudTrail Ereignisprotokolle einsehen, um die Ursache der Fehler zu ermitteln.

## Abschlussberichte
<a name="batch-ops-completion-report"></a>

Wenn Sie einen Auftrag erstellen, können Sie einen Abschlussbericht anfordern. Solange S3 Batch Operations mindestens eine Aufgabe erfolgreich aufruft, generiert Amazon S3 einen Abschlussbericht, wenn die Ausführung von Aufträgen abgeschlossen wurde, fehlgeschlagen ist oder abgebrochen wurde. Sie können den Abschlussbericht so konfigurieren, dass er alle oder nur fehlgeschlagene Aufgaben enthält. 

Der Abschlussbericht umfasst neben der Auftragskonfiguration und dem Auftragsstatus auch Informationen zu jeder Aufgabe, darunter zu Objektschlüssel und -version, Status, Fehlercodes und Beschreibungen von Fehlern. Abschlussberichte bieten eine einfache Möglichkeit, die Ergebnisse von Aufgaben in einem konsolidierten Format ohne zusätzliche Einrichtung anzuzeigen. Abschlussberichte werden mit serverseitiger Verschlüsselung mit von Amazon S3 verwalteten Schlüsseln (SSE-S3) verschlüsselt. Ein Beispiel für einen Abschlussbericht finden Sie unter [Beispiele: Abschlussberichte zu S3-BatchVorgänge](batch-ops-examples-reports.md). 

Wenn Sie keinen Abschlussbericht konfigurieren, können Sie Ihren Job und seine Aufgaben trotzdem mithilfe von Amazon überwachen CloudTrail und prüfen CloudWatch. Weitere Informationen finden Sie unter den folgenden Themen:

**Topics**
+ [

## Auftragsstatus
](#batch-ops-job-status-table)
+ [

## Auftragsstatus wird aktualisiert
](#updating-job-statuses)
+ [

## Benachrichtigungen und Protokollierung
](#batch-ops-notifications)
+ [

## Nachverfolgen von Auftragsfehlern
](#batch-ops-job-status-failure)
+ [

## Abschlussberichte
](#batch-ops-completion-report)
+ [

# Beispiele: Verfolgen eines S3 Batch Operations-Jobs in Amazon EventBridge über AWS CloudTrail
](batch-ops-examples-event-bridge-cloud-trail.md)
+ [

# Beispiele: Abschlussberichte zu S3-BatchVorgänge
](batch-ops-examples-reports.md)

# Beispiele: Verfolgen eines S3 Batch Operations-Jobs in Amazon EventBridge über AWS CloudTrail
<a name="batch-ops-examples-event-bridge-cloud-trail"></a>

Die Auftragsaktivität von Amazon S3 Batch Operations wird in Form von Ereignissen in AWS CloudTrail aufgezeichnt. Sie können eine benutzerdefinierte Regel in Amazon erstellen EventBridge und diese Ereignisse an die Zielbenachrichtigungsressource Ihrer Wahl senden, z. B. Amazon Simple Notification Service (Amazon SNS). 

**Anmerkung**  
Amazon EventBridge ist die bevorzugte Methode, um Ihre Veranstaltungen zu verwalten. Amazon CloudWatch Events und EventBridge sind derselbe zugrunde liegende Service und dieselbe API, EventBridge bieten aber mehr Funktionen. Änderungen, die Sie in einer der beiden CloudWatch oder in jeder Konsole vornehmen, EventBridge werden in jeder Konsole angezeigt. Weitere Informationen finden Sie im *[ EventBridge Amazon-Benutzerhandbuch](https://docs.aws.amazon.com/eventbridge/latest/userguide/)*.

**Topics**
+ [

## S3 Batch Operations-Ereignisse, aufgezeichnet in CloudTrail
](#batch-ops-examples-cloud-trail-events)
+ [

## EventBridge Regel für die Nachverfolgung von S3 Batch Operations-Auftragsereignissen
](#batch-ops-examples-event-bridge)

## S3 Batch Operations-Ereignisse, aufgezeichnet in CloudTrail
<a name="batch-ops-examples-cloud-trail-events"></a>



Wenn ein Batch Operations-Job erstellt wird, wird er als `JobCreated` Ereignis in aufgezeichnet CloudTrail. Wenn der Job ausgeführt wird, ändert sich sein Status während der Verarbeitung, und andere `JobStatusChanged` Ereignisse werden in aufgezeichnet CloudTrail. Sie können diese Ereignisse in der [CloudTrail -Konsole](https://console.aws.amazon.com/cloudtrail) anzeigen. Weitere Informationen zu CloudTrail finden Sie im [https://docs.aws.amazon.com/awscloudtrail/latest/userguide/how-cloudtrail-works.html](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/how-cloudtrail-works.html).

**Anmerkung**  
Es werden nur `status-change` Auftragsereignisse von S3 Batch Operations aufgezeichnet CloudTrail.

**Example — Ereignis zum Abschluss eines S3 Batch Operations-Auftrags, aufgezeichnet von CloudTrail**  

```
{
    "eventVersion": "1.05",
    "userIdentity": {
        "accountId": "123456789012",
        "invokedBy": "s3.amazonaws.com"
    },
    "eventTime": "2020-02-05T18:25:30Z",
    "eventSource": "s3.amazonaws.com",
    "eventName": "JobStatusChanged",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "s3.amazonaws.com",
    "userAgent": "s3.amazonaws.com",
    "requestParameters": null,
    "responseElements": null,
    "eventID": "f907577b-bf3d-4c53-b9ed-8a83a118a554",
    "readOnly": false,
    "eventType": "AwsServiceEvent",
    "recipientAccountId": "123412341234",
    "serviceEventDetails": {
        "jobId": "d6e58ec4-897a-4b6d-975f-10d7f0fb63ce",
        "jobArn": "arn:aws:s3:us-west-2:181572960644:job/d6e58ec4-897a-4b6d-975f-10d7f0fb63ce",
        "status": "Complete",
        "jobEventId": "b268784cf0a66749f1a05bce259804f5",
        "failureCodes": [],
        "statusChangeReason": []
    }
}
```

## EventBridge Regel für die Nachverfolgung von S3 Batch Operations-Auftragsereignissen
<a name="batch-ops-examples-event-bridge"></a>

Das folgende Beispiel zeigt, wie Sie in Amazon eine Regel erstellen EventBridge , um S3 Batch Operations-Ereignisse AWS CloudTrail zu erfassen, die von einem Ziel Ihrer Wahl aufgezeichnet wurden.

Dazu erstellen Sie eine Regel, indem Sie alle Schritte unter [Erstellen von EventBridge Regeln, die auf Ereignisse reagieren, befolgen](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule.html). Fügen Sie gegebenenfalls die folgende benutzerdefinierte S3-Batchoperations-Ereignismuster-Richtlinie ein und wählen Sie einen Zielservice aus.

**Benutzerdefinierte S3-Batchoperationen-Ereignismusterrichtlinie**

```
{
    "source": [
        "aws.s3"
    ],
    "detail-type": [
        "AWS Service Event via CloudTrail"
    ],
    "detail": {
        "eventSource": [
            "s3.amazonaws.com"
        ],
        "eventName": [
            "JobCreated",
            "JobStatusChanged"
        ]
    }
}
```

 Die folgenden Beispiele sind zwei Batch Operations-Ereignisse, die von einer EventBridge Ereignisregel an Amazon Simple Queue Service (Amazon SQS) gesendet wurden. Ein Batchoperations-Auftrag durchläuft viele verschiedene Zustände während der Verarbeitung (`New`, `Preparing`, `Active` usw.), sodass Sie davon ausgehen können, dass Sie mehrere Nachrichten für jeden Auftrag erhalten.

**Example – JobCreated-Beispielereignis**  

```
{
    "version": "0",
    "id": "51dc8145-541c-5518-2349-56d7dffdf2d8",
    "detail-type": "AWS Service Event via CloudTrail",
    "source": "aws.s3",
    "account": "123456789012",
    "time": "2020-02-27T15:25:49Z",
    "region": "us-east-1",
    "resources": [],
    "detail": {
        "eventVersion": "1.05",
        "userIdentity": {
            "accountId": "11112223334444",
            "invokedBy": "s3.amazonaws.com"
        },
        "eventTime": "2020-02-27T15:25:49Z",
        "eventSource": "s3.amazonaws.com",
        "eventName": "JobCreated",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "s3.amazonaws.com",
        "userAgent": "s3.amazonaws.com",
        "eventID": "7c38220f-f80b-4239-8b78-2ed867b7d3fa",
        "readOnly": false,
        "eventType": "AwsServiceEvent",
        "serviceEventDetails": {
            "jobId": "e849b567-5232-44be-9a0c-40988f14e80c",
            "jobArn": "arn:aws:s3:us-east-1:181572960644:job/e849b567-5232-44be-9a0c-40988f14e80c",
            "status": "New",
            "jobEventId": "f177ff24f1f097b69768e327038f30ac",
            "failureCodes": [],
            "statusChangeReason": []
        }
    }
}
```

**Example – Abschlussereignis der JobStatusChanged-Aufgabe**  

```
{
  "version": "0",
  "id": "c8791abf-2af8-c754-0435-fd869ce25233",
  "detail-type": "AWS Service Event via CloudTrail",
  "source": "aws.s3",
  "account": "123456789012",
  "time": "2020-02-27T15:26:42Z",
  "region": "us-east-1",
  "resources": [],
  "detail": {
    "eventVersion": "1.05",
    "userIdentity": {
      "accountId": "1111222233334444",
      "invokedBy": "s3.amazonaws.com"
    },
    "eventTime": "2020-02-27T15:26:42Z",
    "eventSource": "s3.amazonaws.com",
    "eventName": "JobStatusChanged",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "s3.amazonaws.com",
    "userAgent": "s3.amazonaws.com",
    "eventID": "0238c1f7-c2b0-440b-8dbd-1ed5e5833afb",
    "readOnly": false,
    "eventType": "AwsServiceEvent",
    "serviceEventDetails": {
      "jobId": "e849b567-5232-44be-9a0c-40988f14e80c",
      "jobArn": "arn:aws:s3:us-east-1:181572960644:job/e849b567-5232-44be-9a0c-40988f14e80c",
      "status": "Complete",
      "jobEventId": "51f5ac17dba408301d56cd1b2c8d1e9e",
      "failureCodes": [],
      "statusChangeReason": []
    }
  }
}
```

# Beispiele: Abschlussberichte zu S3-BatchVorgänge
<a name="batch-ops-examples-reports"></a>

Wenn Sie einen S3-Batchoperations-Auftrag erstellen, können Sie einen Abschlussbericht für alle oder nur für die fehlgeschlagenen Aufträge anfordern. Sofern mindestens eine Aufgabe erfolgreich aufgerufen wurde, generiert S3-Batch-Vorgänge einen Bericht für abgeschlossene, fehlgeschlagene oder abgebrochene Aufträge.

Der Abschlussbericht enthält zusätzliche Informationen zu jeder Aufgabe, darunter den Namen und die Version des Objektschlüssels, Status, Fehlercodes sowie Beschreibungen zu etwaigen Fehlern. Die Beschreibung der Fehler für jede fehlgeschlagene Aufgabe kann herangezogen werden, um Probleme im Rahmen der Auftragserstellung zu diagnostizieren, beispielsweise mit Berechtigungen. Für **Prüfsumme berechnen** Aufträge enthält der Abschlussbericht Prüfsummenwerte für jedes Objekt.

**Anmerkung**  
Abschlussberichte werden immer mit von Amazon S3 verwalteten Schlüsseln (SSE-S3) verschlüsselt.

**Example – Manifest-Ergebnisdatei der höchsten Ebene**  
Die `manifest.json`-Datei der höchsten Ebene enthält die Position jedes Erfolgsberichts und (sofern Fehler in der Auftragsabwicklung aufgetreten sind) jedes Fehlerberichts (siehe folgendes Beispiel).  

```
{
    "Format": "Report_CSV_20180820",
    "ReportCreationDate": "2019-04-05T17:48:39.725Z",
    "Results": [
        {
            "TaskExecutionStatus": "succeeded",
            "Bucket": "my-job-reports",
            "MD5Checksum": "83b1c4cbe93fc893f54053697e10fd6e",
            "Key": "job-f8fb9d89-a3aa-461d-bddc-ea6a1b131955/results/6217b0fab0de85c408b4be96aeaca9b195a7daa5.csv"
        },
        {
            "TaskExecutionStatus": "failed",
            "Bucket": "my-job-reports",
            "MD5Checksum": "22ee037f3515975f7719699e5c416eaa",
            "Key": "job-f8fb9d89-a3aa-461d-bddc-ea6a1b131955/results/b2ddad417e94331e9f37b44f1faf8c7ed5873f2e.csv"
        }
    ],
    "ReportSchema": "Bucket, Key, VersionId, TaskStatus, ErrorCode, HTTPStatusCode, ResultMessage"
}
```

**Bericht zu erfolgreichen Aufgaben**

Berichte zu erfolgreichen Aufgaben enthalten für alle *erfolgreichen* Aufgaben Folgendes:
+ `Bucket`
+ `Key`
+ `VersionId`
+ `TaskStatus`
+ `ErrorCode`
+ `HTTPStatusCode`
+ `ResultMessage`

**Berichte zu fehlgeschlagenen Aufgaben**

Berichte über fehlgeschlagene Aufgaben enthalten die folgenden Informationen für alle *fehlgeschlagenen* Aufgaben:
+ `Bucket`
+ `Key`
+ `VersionId`
+ `TaskStatus`
+ `ErrorCode`
+ `HTTPStatusCode`
+ `ResultMessage`

**Example – Aufgabenbericht zur Lambda-Funktion**  
Im folgenden Beispiel hat die Lambda-Funktion das Amazon S3-Objekt in einen anderen Bucket kopiert. Die zurückgegebene Amazon S3-Antwort wird an S3-Batch-Vorgänge zurückgegeben und dann in den endgültigen Abschlussbericht geschrieben.  

```
amzn-s3-demo-bucket1,image_17775,,succeeded,200,,"{u'CopySourceVersionId': 'xVR78haVKlRnurYofbTfYr3ufYbktF8h', u'CopyObjectResult': {u'LastModified': datetime.datetime(2019, 4, 5, 17, 35, 39, tzinfo=tzlocal()), u'ETag': '""fe66f4390c50f29798f040d7aae72784""'}, 'ResponseMetadata': {'HTTPStatusCode': 200, 'RetryAttempts': 0, 'HostId': 'nXNaClIMxEJzWNmeMNQV2KpjbaCJLn0OGoXWZpuVOFS/iQYWxb3QtTvzX9SVfx2lA3oTKLwImKw=', 'RequestId': '3ED5852152014362', 'HTTPHeaders': {'content-length': '234', 'x-amz-id-2': 'nXNaClIMxEJzWNmeMNQV2KpjbaCJLn0OGoXWZpuVOFS/iQYWxb3QtTvzX9SVfx2lA3oTKLwImKw=', 'x-amz-copy-source-version-id': 'xVR78haVKlRnurYofbTfYr3ufYbktF8h', 'server': 'AmazonS3', 'x-amz-request-id': '3ED5852152014362', 'date': 'Fri, 05 Apr 2019 17:35:39 GMT', 'content-type': 'application/xml'}}}"
amzn-s3-demo-bucket1,image_17763,,succeeded,200,,"{u'CopySourceVersionId': '6HjOUSim4Wj6BTcbxToXW44pSZ.40pwq', u'CopyObjectResult': {u'LastModified': datetime.datetime(2019, 4, 5, 17, 35, 39, tzinfo=tzlocal()), u'ETag': '""fe66f4390c50f29798f040d7aae72784""'}, 'ResponseMetadata': {'HTTPStatusCode': 200, 'RetryAttempts': 0, 'HostId': 'GiCZNYr8LHd/Thyk6beTRP96IGZk2sYxujLe13TuuLpq6U2RD3we0YoluuIdm1PRvkMwnEW1aFc=', 'RequestId': '1BC9F5B1B95D7000', 'HTTPHeaders': {'content-length': '234', 'x-amz-id-2': 'GiCZNYr8LHd/Thyk6beTRP96IGZk2sYxujLe13TuuLpq6U2RD3we0YoluuIdm1PRvkMwnEW1aFc=', 'x-amz-copy-source-version-id': '6HjOUSim4Wj6BTcbxToXW44pSZ.40pwq', 'server': 'AmazonS3', 'x-amz-request-id': '1BC9F5B1B95D7000', 'date': 'Fri, 05 Apr 2019 17:35:39 GMT', 'content-type': 'application/xml'}}}"
amzn-s3-demo-bucket1,image_17860,,succeeded,200,,"{u'CopySourceVersionId': 'm.MDD0g_QsUnYZ8TBzVFrp.TmjN8PJyX', u'CopyObjectResult': {u'LastModified': datetime.datetime(2019, 4, 5, 17, 35, 40, tzinfo=tzlocal()), u'ETag': '""fe66f4390c50f29798f040d7aae72784""'}, 'ResponseMetadata': {'HTTPStatusCode': 200, 'RetryAttempts': 0, 'HostId': 'F9ooZOgpE5g9sNgBZxjdiPHqB4+0DNWgj3qbsir+sKai4fv7rQEcF2fBN1VeeFc2WH45a9ygb2g=', 'RequestId': '8D9CA56A56813DF3', 'HTTPHeaders': {'content-length': '234', 'x-amz-id-2': 'F9ooZOgpE5g9sNgBZxjdiPHqB4+0DNWgj3qbsir+sKai4fv7rQEcF2fBN1VeeFc2WH45a9ygb2g=', 'x-amz-copy-source-version-id': 'm.MDD0g_QsUnYZ8TBzVFrp.TmjN8PJyX', 'server': 'AmazonS3', 'x-amz-request-id': '8D9CA56A56813DF3', 'date': 'Fri, 05 Apr 2019 17:35:40 GMT', 'content-type': 'application/xml'}}}"
```
Der folgende Beispielbericht zeigt einen Fall, in dem bei der AWS Lambda Funktion ein Timeout aufgetreten ist, was dazu führte, dass Fehler den Fehlerschwellenwert überschritten haben. Sie wird dann als `PermanentFailure`gekennzeichnet.  

```
amzn-s3-demo-bucket1,image_14975,,failed,200,PermanentFailure,"Lambda returned function error: {""errorMessage"":""2019-04-05T17:35:21.155Z 2845ca0d-38d9-4c4b-abcf-379dc749c452 Task timed out after 3.00 seconds""}"
amzn-s3-demo-bucket1,image_15897,,failed,200,PermanentFailure,"Lambda returned function error: {""errorMessage"":""2019-04-05T17:35:29.610Z 2d0a330b-de9b-425f-b511-29232fde5fe4 Task timed out after 3.00 seconds""}"
amzn-s3-demo-bucket1,image_14819,,failed,200,PermanentFailure,"Lambda returned function error: {""errorMessage"":""2019-04-05T17:35:22.362Z fcf5efde-74d4-4e6d-b37a-c7f18827f551 Task timed out after 3.00 seconds""}"
amzn-s3-demo-bucket1,image_15930,,failed,200,PermanentFailure,"Lambda returned function error: {""errorMessage"":""2019-04-05T17:35:29.809Z 3dd5b57c-4a4a-48aa-8a35-cbf027b7957e Task timed out after 3.00 seconds""}"
amzn-s3-demo-bucket1,image_17644,,failed,200,PermanentFailure,"Lambda returned function error: {""errorMessage"":""2019-04-05T17:35:46.025Z 10a764e4-2b26-4d8c-9056-1e1072b4723f Task timed out after 3.00 seconds""}"
amzn-s3-demo-bucket1,image_17398,,failed,200,PermanentFailure,"Lambda returned function error: {""errorMessage"":""2019-04-05T17:35:44.661Z 1e306352-4c54-4eba-aee8-4d02f8c0235c Task timed out after 3.00 seconds""}"
```

**Example – Berechnet den Prüfsummen-Aufgabenbericht**  
Im folgenden Beispiel hat die Operation **Prüfsumme berechnen** erfolgreich die Prüfsumme für das hochgeladene Objekt im Ruhezustand berechnet. Die zurückgegebene Amazon S3-Antwort wird an S3 Batch Operations zurückgegeben und dann in den endgültigen Abschlussbericht geschrieben:  

```
amzn-s3-demo-bucket1,s3-standard-1mb-test-object,,succeeded,200,,"{""checksum_base64"":""bS9TOQ\u003d\u003d"",""etag"":""3c3c1813042989094598e4b57ecbdc82"",""checksumAlgorithm"":""CRC32"",""checksumType"":""FULL_OBJECT"",""checksum_hex"":""6D2F5339""}"
```
Der folgende Beispielbericht zeigt, was passiert, wenn eine **Prüfsumme berechnen** Operation fehlschlägt, was zu einem Bericht über eine fehlgeschlagene Aufgabe führt:  

```
amzn-s3-demo-bucket1,image_14975,,failed,200,PermanentFailure,"error details: {""failureMessage"":"Task 2845ca0d-38d9-4c4b-abcf-379dc749c452 SSE-C encryption type is not supported for this operation", ""errorCode"": "400"}"
amzn-s3-demo-bucket1,image_14975,,failed,200,PermanentFailure,"error details: {""failureMessage"":"Task 2845ca0d-38d9-4c4b-abcf-379dc749c452 Key not found", ""errorCode"": "404"}"
amzn-s3-demo-bucket1,image_14975,,failed,200,PermanentFailure,"error details: {""failureMessage"":"Task 2845ca0d-38d9-4c4b-abcf-379dc749c452 Internal server error, please retry", ""errorCode"": "500"}"
```

# Steuern von Zugriffs- und Labeling-Aufträgen mithilfe von Markierungen
<a name="batch-ops-job-tags"></a>

Sie können den Zugriff auf Ihre S3-Batch-Vorgänge-Aufträge kennzeichnen und steuern, indem Sie *Markierungen* hinzufügen. Markierungen können verwendet werden, um zu ermitteln, wer für einen Batchoperations-Auftrag verantwortlich ist. Das Vorhandensein von Aufgabe-Markierungen kann einem Benutzer die Möglichkeit gewähren oder einschränken, eine Aufgabe abzubrechen, eine Aufgabe im Bestätigungsstatus zu aktivieren oder die Prioritätsstufe einer Aufgabe zu ändern. Sie können Aufträge mit angehängten Tags erstellen und Tags zu Aufträgen hinzufügen, nachdem sie erstellt wurden. Jedes Tag ist ein Schlüssel-Wert-Paar, das beim Erstellen des Auftrags oder später aktualisiert werden kann.

**Warnung**  
Achten Sie darauf, dass Ihre Auftrags-Tags keine vertraulichen Informationen oder persönlichen Daten enthalten.

Betrachten Sie das folgende Tagging-Beispiel: Angenommen, Ihre Finanzabteilung soll einen Batchoperations-Auftrag erstellen. Sie könnten eine AWS Identity and Access Management (IAM-) Richtlinie schreiben, die einem Benutzer das Aufrufen ermöglicht`CreateJob`, vorausgesetzt, der Job wird mit dem `Department` Tag erstellt, dem der Wert zugewiesen wurde. `Finance` Außerdem können Sie diese Richtlinie an alle Benutzer anfügen, die Mitglieder der Finanzabteilung sind.

Wenn Sie mit diesem Beispiel fortfahren, können Sie eine Richtlinie schreiben, die es einem Benutzer ermöglicht, die Priorität aller Aufträge, die über die gewünschten Markierungen verfügen, zu aktualisieren oder alle Aufträge, die diese Markierungen besitzen, abzubrechen. Weitere Informationen finden Sie unter [Steuern von Berechtigungen für Batch Operations mithilfe von Auftragsmarkierungen](batch-ops-job-tags-examples.md).

Sie können Markierungen beim Erstellen neuen S3-Batchoperations-Aufträgen oder bereits vorhandenen Aufträgen hinzufügen. 

Beachten Sie die folgenden Tag-Einschränkungen:
+ Sie können einem Auftrag bis zu 50 Markierungen zuordnen, solange diese über eindeutige Tag-Schlüssel verfügen.
+ Ein Tag-Schlüssel kann maximal 128 Unicode-Zeichen lang sein, und die Tag-Werte können bis zu 256 Unicode-Zeichen lang sein.
+ Bei Schlüsseln und Werten wird die Groß-/Kleinschreibung berücksichtigt.

Weitere Informationen zu Tag-Einschränkungen finden Sie unter [Einschränkungen benutzerdefinierter Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html) im *AWS Fakturierung und Kostenmanagement -Benutzerhandbuch*.

## API-Vorgänge im Zusammenhang mit S3-Batchoperations-Auftragsmarkierung
<a name="batch-ops-job-tags-api"></a>

Amazon S3 unterstützt die folgenden API-Vorgänge, die spezifisch für das S3-Batchoperations-Auftrag-Tagging sind:
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetJobTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetJobTagging.html) – Gibt den Tag-Satz zurück, der mit einem Batch-Operations-Auftrag verknüpft ist. 
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutJobTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutJobTagging.html) – Ersetzt den Tag-Satz, der einem Auftrag zugeordnet ist. Es gibt zwei unterschiedliche Szenarien der S3-Batchoperations-Auftrags-Tag-Verwaltung unter Verwendung dieser API-Aktion:
  + Auftrag ohne Tags – Sie können einen Tag-Satz zu einem Auftrag hinzufügen (der Auftrag hat keine vorherigen Tags).
  + Auftrag verfügt über einen Satz vorhandener Tags – Um den vorhandenen Tag-Satz zu ändern, können Sie entweder den vorhandenen Tag-Satz vollständig ersetzen oder Änderungen innerhalb des vorhandenen Tag-Satzes vornehmen, indem Sie den vorhandenen Tag-Satz mit [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetJobTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetJobTagging.html) abrufen, diesen Tag-Satz ändern und mit dieser API-Aktion diesen Tag-Satz gegen einen von Ihnen modifizierten auswechseln.
**Anmerkung**  
Wenn Sie diese Anforderung mit einem leeren Tag-Satz senden, löscht S3-Batch-Vorgänge den vorhandenen Tag-Satz für das Objekt. Wenn Sie diese Methode verwenden, wird Ihnen eine Tier-1-Anforderung (`PUT`) in Rechnung gestellt. Weitere Informationen finden Sie unter [Amazon S3 – Preise](https://aws.amazon.com/s3/pricing).  
Wenn Sie vorhandene Markierungen für Ihren Batch-Vorgangsauftrag löschen möchten, wird die Aktion `DeleteJobTagging` bevorzugt, da sie dasselbe Ergebnis ohne anfallende Gebühren erzielt.
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteJobTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteJobTagging.html) – Löscht den Tag-Satz, der mit einem Batch-Operations-Auftrag verknüpft ist. 

# Erstellen eines Batch-Vorgangsauftrags mit Auftrags-Markierungen zur Kennzeichnung
<a name="batch-ops-tags-create"></a>

Sie können den Zugriff auf Ihre Aufträge in Amazon S3 Batch Operations kennzeichnen und steuern, indem Sie *Tags* hinzufügen. Markierungen können verwendet werden, um zu ermitteln, wer für einen Batch-Vorgangsauftrag verantwortlich ist. Sie können Aufträge mit ihnen zugeordneten Markierungen erstellen oder Sie können Aufträgen nach ihrer Erstellung Markierungen hinzufügen. Weitere Informationen finden Sie unter [Steuern von Zugriffs- und Labeling-Aufträgen mithilfe von Markierungen](batch-ops-job-tags.md).

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

Im folgenden AWS CLI Beispiel wird ein `S3PutObjectCopy` S3-Auftrag für Batch Operations erstellt, der Job-Tags als Beschriftungen für den Job verwendet. 

1. Wählen Sie die Aktion oder `OPERATION` aus, die der Batch-Vorgangsauftrag ausführen soll, und wählen Sie Ihre `TargetResource`.

   ```
   read -d '' OPERATION <<EOF
   {
     "S3PutObjectCopy": {
       "TargetResource": "arn:aws:s3:::amzn-s3-demo-destination-bucket"
     }
   }
   EOF
   ```

1. Identifizieren Sie die Auftrags-`TAGS`, die Sie für den Auftrag wünschen. In diesem Fall wenden Sie beiden Markierungen `department` und `FiscalYear` mit den Werten `Marketing` bzw. `2020` an.

   ```
   read -d '' TAGS <<EOF
   [
     {
       "Key": "department",
       "Value": "Marketing"
     },
     {
       "Key": "FiscalYear",
       "Value": "2020"
     }
   ]
   EOF
   ```

1. Geben Sie das `MANIFEST` für den Batch-Vorgangsauftrag an.

   ```
   read -d '' MANIFEST <<EOF
   {
     "Spec": {
       "Format": "EXAMPLE_S3BatchOperations_CSV_20180820",
       "Fields": [
         "Bucket",
         "Key"
       ]
     },
     "Location": {
       "ObjectArn": "arn:aws:s3:::amzn-s3-demo-manifest-bucket/example_manifest.csv",
       "ETag": "example-5dc7a8bfb90808fc5d546218"
     }
   }
   EOF
   ```

1. Konfigurieren Sie den `REPORT` für den Batch-Vorgangsauftrag.

   ```
   read -d '' REPORT <<EOF
   {
     "Bucket": "arn:aws:s3:::amzn-s3-demo-completion-report-bucket",
     "Format": "Example_Report_CSV_20180820",
     "Enabled": true,
     "Prefix": "reports/copy-with-replace-metadata",
     "ReportScope": "AllTasks"
   }
   EOF
   ```

1. Führen Sie die Aktion `create-job` aus, um Ihren Batch-Vorgangsauftrag mit Eingaben zu erstellen, die in den vorherigen Schritten festgelegt wurden.

   ```
   aws \
       s3control create-job \
       --account-id 123456789012 \
       --manifest "${MANIFEST//$'\n'}" \
       --operation "${OPERATION//$'\n'/}" \
       --report "${REPORT//$'\n'}" \
       --priority 10 \
       --role-arn arn:aws:iam::123456789012:role/batch-operations-role \
       --tags "${TAGS//$'\n'/}" \
       --client-request-token "$(uuidgen)" \
       --region us-west-2 \
       --description "Copy with Replace Metadata";
   ```

## Verwenden des AWS SDK for Java
<a name="batch-ops-examples-java-job-with-tags-create"></a>

Um mithilfe des AWS SDK for Java einen S3 Batch Operations-Job mit Tags zu erstellen, können Sie den S3Control-Client verwenden, um Jobparameter wie den Manifestspeicherort, Joboperationen, Berichtseinstellungen und Tags für Organisations- und Nachverfolgungszwecke zu konfigurieren.

Beispiele für die Erstellung von S3 Batch Operations-Jobs mit Tags mithilfe des AWS SDK for Java finden [Sie unter Erstellen eines Batch-Jobs zum Kopieren von Objekten](https://docs.aws.amazon.com/AmazonS3/latest/API/s3-control_example_s3-control_CreateJob_section.html) in der *Amazon S3 S3-API-Referenz*.

# Löschen der Markierungen aus einem S3-Batchoperations-Auftrag
<a name="delete-job-tags"></a>

Sie können diese Beispiele verwenden, um Tags aus einem Auftrag in Amazon S3 Batch Operations zu löschen.

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

Im folgenden Beispiel werden die Markierungen aus einem Batchoperations-Auftrag unter Verwendung der AWS CLI gelöscht.

```
aws \
    s3control delete-job-tagging \
    --account-id 123456789012 \
    --job-id Example-e25a-4ed2-8bee-7f8ed7fc2f1c \
    --region us-east-1
```

## Löschen der Auftrags-Markierungen eines Batchoperations-Auftrags
<a name="batch-ops-examples-java-job-with-tags-delete"></a>

Um die Tags eines S3 Batch Operations-Jobs mit dem AWS SDK for Java zu löschen, können Sie den S3Control-Client mit der Job-ID verwenden, um alle mit dem Batch-Operationsjob verknüpften Tags zu entfernen.

Beispiele für das Löschen von Job-Tags mit dem AWS SDK for Java finden [Sie unter Löschen von Tags aus einem Batch-Job](https://docs.aws.amazon.com/AmazonS3/latest/API/s3-control_example_s3-control_DeleteJobTagging_section.html) in der *Amazon S3 S3-API-Referenz*.

# Hinzufügen von Tags zu einem bestehenden Auftrag in Batch Operations
<a name="put-job-tags"></a>

Sie können die [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutJobTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutJobTagging.html)-API-Operation verwenden, um Auftragsmarkierungen zu Ihren bestehenden Amazon-S3-Batch-Operations-Aufträgen hinzuzufügen. Weitere Informationen finden Sie in den folgenden Beispielen.

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

Im Folgenden finden Sie ein Beispiel für das Verwenden von `s3control put-job-tagging` zum Hinzufügen von Auftragsmarkierungen zu Ihrem S3-Batch-Operations-Auftrag mithilfe der AWS CLI. Wenn Sie die Beispiele verwenden möchten, ersetzen Sie die *`user input placeholders`* durch Ihre Informationen.

**Anmerkung**  
Wenn Sie diese Anforderung mit einem leeren Tag-Satz senden, löscht Batch Operations den vorhandenen Tag-Satz für das Objekt. Wenn Sie diese Methode verwenden, wird Ihnen eine Tier-1-Anforderung (`PUT`) in Rechnung gestellt. Weitere Informationen finden Sie unter [Amazon S3 – Preise](https://aws.amazon.com/s3/pricing).  
Wenn Sie vorhandene Tags für Ihren Batch-Operations-Auftrag löschen möchten, wird die `DeleteJobTagging`-Operation bevorzugt, da sie dasselbe Ergebnis ohne anfallende Kosten erzielt.

1. Identifizieren Sie die Auftrags-`TAGS`, die Sie für den Auftrag wünschen. In diesem Fall wenden Sie beiden Markierungen `department` und `FiscalYear` mit den Werten `Marketing` bzw. `2020` an.

   ```
   read -d '' TAGS <<EOF
   [
     {
       "Key": "department",
       "Value": "Marketing"
     },
     {
       "Key": "FiscalYear",
       "Value": "2020"
     }
   ]
   EOF
   ```

1. Führen Sie den folgenden `put-job-tagging`-Befehl mit den erforderlichen Parametern aus:

   ```
   aws \
       s3control put-job-tagging \
       --account-id 123456789012 \
       --tags "${TAGS//$'\n'/}" \
       --job-id Example-e25a-4ed2-8bee-7f8ed7fc2f1c \
       --region us-east-1
   ```

## Verwenden des AWS SDK for Java
<a name="batch-ops-examples-java-job-with-tags-put"></a>

Um mithilfe des AWS SDK for Java Tags in einen S3-Batch Operations-Job einzufügen, können Sie den S3Control-Client verwenden, um Tags mit Schlüssel-Wert-Paaren für Organisations- und Nachverfolgungszwecke hinzuzufügen oder zu aktualisieren.

Beispiele für das Hinzufügen von Job-Tags mit dem AWS SDK for Java finden [Sie unter Hinzufügen von Tags zu einem Batch-Job](https://docs.aws.amazon.com/AmazonS3/latest/API/s3-control_example_s3-control_PutJobTagging_section.html) in der *Amazon S3 S3-API-Referenz*.

# Abrufen der Markierungen eines S3-Batch-Vorgangsauftrags
<a name="get-job-tags"></a>

Um die Markierungen eines Amazon-S3-Batch-Operations-Auftrags abzurufen, können Sie die `GetJobTagging`-API-Operation verwenden. Weitere Informationen finden Sie in den folgenden Beispielen.

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

Im folgenden Beispiel werden die Markierungen eines Batch-Vorgangsauftrags unter Verwendung der CLI abgerufen AWS CLI. Wenn Sie dieses Beispiel verwenden möchten, ersetzen Sie die *`user input placeholders`* (Platzhalter für Benutzereingaben) durch Ihre Informationen.

```
aws \
    s3control get-job-tagging \
    --account-id 123456789012 \
    --job-id Example-e25a-4ed2-8bee-7f8ed7fc2f1c \
    --region us-east-1
```

## Verwenden des AWS SDK for Java
<a name="batch-ops-examples-java-job-with-tags-get"></a>

Um die Tags eines S3 Batch Operations-Jobs mit dem AWS SDK for Java abzurufen, können Sie den S3Control-Client mit der Job-ID verwenden, um alle mit dem Batch-Operationsjob verknüpften Tags abzurufen und sie als Liste zurückzugeben.

Beispiele für das Abrufen von Job-Tags mit dem AWS SDK for Java finden Sie unter [Tags aus einem Batch-Job abrufen](https://docs.aws.amazon.com/AmazonS3/latest/API/s3-control_example_s3-control_GetJobTagging_section.html) in der *Amazon S3 S3-API-Referenz*.

# Steuern von Berechtigungen für Batch Operations mithilfe von Auftragsmarkierungen
<a name="batch-ops-job-tags-examples"></a>

Zur Unterstützung bei der Verwaltung Ihrer Aufgaben in Amazon S3 Batch Operations können Sie *Aufgaben-Tags* hinzufügen. Mit Auftrags-Markierungen können Sie den Zugriff auf Ihre BatchVorgängeaufträge steuern und erzwingen, dass Markierungen angewendet werden, wenn ein Auftrag erstellt wird. 

Sie können bis zu 50 Auftrag-Markierungen auf jeden Batchoperations-Auftrag anwenden. Durch die Verwendung von Tags können Sie granulare Richtlinien festlegen, um den Satz von Benutzern einzuschränken, die den Auftrag bearbeiten können. Aufgaben-Markierungen können einem Benutzer die Möglichkeit gewähren oder einschränken, eine Aufgabe abzubrechen, eine Aufgabe im Bestätigungsstatus zu aktivieren oder die Prioritätsstufe einer Aufgabe zu ändern. Darüber hinaus können Sie erzwingen, dass Markierungen auf alle neuen Aufträge angewendet werden, und die zulässigen Schlüssel-Wert-Paare für die Markierungen angeben. Sie können alle diese Bedingungen mit derselben [AWS Identity and Access Management (IAM)-Richtliniensprache](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html) ausdrücken. Weitere Informationen finden Sie unter [Aktionen, Ressourcen und Bedingungsschlüssel für Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html) in der *Service-Authorization-Referenz*.

Weitere Informationen zu den Berechtigungen für S3-API-Operationen nach S3-Ressourcentypen finden Sie unter [Erforderliche Berechtigungen für Amazon-S3-API-Operationen](using-with-s3-policy-actions.md).

Das folgende Beispiel zeigt, wie Sie S3-Batchoperations-Auftrags-Markierungen verwenden können, um Benutzern die Berechtigung zu erteilen, nur die Aufträge zu erstellen und zu bearbeiten, die in einer bestimmten Abteilung (z. B. der Abteilung Finanzen oder Compliance) ausgeführt werden. Sie können Aufträge auch basierend auf der Entwicklungsphase zuweisen, auf die sie sich beziehen, z. B QS oder Produktion.

In diesem Beispiel verwenden Sie Auftrags-Tags von S3 Batch Operations in IAM-Richtlinien, um Benutzern die Berechtigung zu erteilen, nur die Aufträge zu erstellen und zu bearbeiten, die innerhalb ihrer Abteilung ausgeführt werden. Sie weisen Aufträge basierend auf der Entwicklungsphase zu, mit der sie verbunden sind, wie QS oder Produktion. 

Die folgenden Beispiele verwenden die folgenden Abteilungen, wobei jede Abteilung Batch Operations auf unterschiedliche Weise nutzt:
+ Finanzen
+ Compliance
+ Business Intelligence
+ Entwicklung

**Topics**
+ [

## Steuern des Zugriffs durch Zuweisen von Markierungen zu Benutzern und Ressourcen
](#job-tags-examples-attaching-tags)
+ [

## Markieren von BatchVorgängeaufträgen nach Stufe und Durchsetzen von Limits für die Auftragspriorität
](#tagging-jobs-by-stage-and-enforcing-limits-on-job-priority)

## Steuern des Zugriffs durch Zuweisen von Markierungen zu Benutzern und Ressourcen
<a name="job-tags-examples-attaching-tags"></a>

In diesem Szenario verwenden die Administratoren [attributbasierte Zugriffssteuerung (Attribute-based Access Control, ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html). ABAC ist eine IAM-Autorisierungsstrategie, bei der Berechtigungen definiert werden, indem sowohl Benutzern als auch Ressourcen Tags zugewiesen werden. AWS 

Benutzern und Jobs wird eines der folgenden Abteilungstags zugewiesen:

**Schlüssel : Wert**
+ `department : Finance`
+ `department : Compliance`
+ `department : BusinessIntelligence`
+ `department : Engineering`
**Anmerkung**  
Bei Tag-Schlüsseln und -Werten muss die Groß-/Kleinschreibung beachtet werden.

Mit der ABAC-Zugriffssteuerungsstrategie erteilen Sie einem Benutzer in der Finanzabteilung die Berechtigung, S3-Batch-Vorgänge-Aufträge innerhalb seiner Abteilung zu erstellen und zu verwalten, indem Sie das Tag `department=Finance` mit dem Benutzer verknüpfen.

Darüber hinaus können Sie dem IAM-Benutzer eine verwaltete Richtlinie anfügen, die es jedem Benutzer in seinem Unternehmen ermöglicht, S3-BatchVorgängeaufträge innerhalb seiner jeweiligen Abteilungen zu erstellen oder zu ändern. 

Die Richtlinie in diesem Beispiel enthält drei Richtlinienanweisungen:
+ Die erste Anweisung in der Richtlinie ermöglicht es dem Benutzer, einen Batchoperations-Auftrag zu erstellen, vorausgesetzt, die Auftragserstellungsanforderung enthält ein Auftrags-Tag, das der jeweiligen Abteilung entspricht. Dies wird mithilfe der Syntax `"${aws:PrincipalTag/department}"` ausgedrückt, die zum Zeitpunkt der Richtlinienauswertung durch das Abteilungs-Tag des Benutzers ersetzt wird. Die Bedingung ist erfüllt, wenn der für das Abteilungs-Tag in der Anforderung `("aws:RequestTag/department")` angegebene Wert mit dem der Abteilung des Benutzers übereinstimmt. 
+ Die zweite Anweisung in der Richtlinie ermöglicht es Benutzern, die Priorität von Aufträgen zu ändern oder den Status eines Auftrags zu aktualisieren, sofern der Auftrag, den der Benutzer aktualisiert, mit der Abteilung des Benutzers übereinstimmt. 
+ Die dritte Anweisung ermöglicht es einem Benutzer, die Markierungen eines Batchoperations-Auftrags jederzeit über eine `PutJobTagging`-Anforderung zu aktualisieren, solange (1) das Abteilung-Tag erhalten bleibt und (2) sich der Auftrag, der aktualisiert wird, innerhalb der Abteilung des Benutzers befindet. 

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

****  

```
{
      "Version":"2012-10-17",		 	 	 
      "Statement": [
            {
                  "Effect": "Allow",
                  "Action": "s3:CreateJob",
                  "Resource": "*",
                  "Condition": {
                        "StringEquals": {
                              "aws:RequestTag/department": "${aws:PrincipalTag/department}"        
                }      
            }    
        },
            {
                  "Effect": "Allow",
                  "Action": [
                        "s3:UpdateJobPriority",
                        "s3:UpdateJobStatus"      
            ],
                  "Resource": "*",
                  "Condition": {
                        "StringEquals": {
                              "aws:ResourceTag/department": "${aws:PrincipalTag/department}"        
                }      
            }    
        },
            {
                  "Effect": "Allow",
                  "Action": "s3:PutJobTagging",
                  "Resource": "*",
                  "Condition": {
                        "StringEquals": {
                              "aws:RequestTag/department": "${aws:PrincipalTag/department}",
                              "aws:ResourceTag/department": "${aws:PrincipalTag/department}"        
                }      
            }    
        }  
    ]
}
```

------

## Markieren von BatchVorgängeaufträgen nach Stufe und Durchsetzen von Limits für die Auftragspriorität
<a name="tagging-jobs-by-stage-and-enforcing-limits-on-job-priority"></a>

Alle S3-BatchVorgängeaufträge haben eine numerische Priorität, anhand derer Amazon S3 entscheidet, in welcher Reihenfolge die Aufträge ausgeführt werden sollen. In diesem Beispiel beschränken Sie die maximale Priorität, die die meisten Benutzer Aufträgen zuweisen können, wobei höhere Prioritätsbereiche für eine begrenzte Gruppe von berechtigten Benutzern reserviert sind:
+ Prioritätsbereich der QA-Stufe (niedrig): 1-100
+ Prioritätsbereich der Produktionsstufe (hoch): 1-300

Dazu führen Sie einen neuen Tag-Satz ein, der die Phase des Auftrags repräsentiert:

**Schlüssel : Wert**
+ `stage : QA`
+ `stage : Production`

### Erstellen und Aktualisieren von Aufträgen mit geringer Priorität in einer Abteilung
<a name="creating-and-updating-low-priority-jobs"></a>

Mit dieser Richtlinie werden neben der abteilungsbasierten Einschränkung zwei neue Einschränkungen für die Erstellung und Aktualisierung von S3-BatchVorgängeaufträgen eingeführt:
+ Es ermöglicht Benutzern, Aufträge in ihrer Abteilung mit einer neuen Bedingung zu erstellen oder zu aktualisieren, die erfordert, dass der Auftrag das Tag `stage=QA` enthält.
+ Es ermöglicht Benutzern, Aufträge mit einer maximalen Priorität von bis 100 zu erstellen oder zu aktualisieren.

```
{
        "Version": "2012-10-17",		 	 	 
        "Statement": [
        {
        "Effect": "Allow",
        "Action": "s3:CreateJob",
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "aws:RequestTag/department": "${aws:PrincipalTag/department}",
                "aws:RequestTag/stage": "QA"
            },
            "NumericLessThanEquals": {
                "s3:RequestJobPriority": 100
            }
        }
    },
    {
        "Effect": "Allow",
        "Action": [
            "s3:UpdateJobStatus"
        ],
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "aws:ResourceTag/department": "${aws:PrincipalTag/department}"
            }
        }
    },
    {
        "Effect": "Allow",
        "Action": "s3:UpdateJobPriority",
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "aws:ResourceTag/department": "${aws:PrincipalTag/department}",
                "aws:ResourceTag/stage": "QA"
            },
            "NumericLessThanEquals": {
                "s3:RequestJobPriority": 100
            }
        }
    },
    {
        "Effect": "Allow",
        "Action": "s3:PutJobTagging",
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "aws:RequestTag/department" : "${aws:PrincipalTag/department}",
                "aws:ResourceTag/department": "${aws:PrincipalTag/department}",
                "aws:RequestTag/stage": "QA",
                "aws:ResourceTag/stage": "QA"
            }
        }
    },
    {
        "Effect": "Allow",
        "Action": "s3:GetJobTagging",
        "Resource": "*"
    }
    ]
}
```

### Erstellen und Aktualisieren von Aufträgen mit hoher Priorität in einer Abteilung
<a name="creating-and-updating-high-priority-jobs"></a>

Einer kleinen Anzahl von Benutzern muss u. U. möglich sein, Aufträge hoher Priorität in QS oder Produktion zu erstellen. Um diesen Bedarf zu unterstützen, erstellen Sie eine verwaltete Richtlinie durch Abwandlung einer Richtlinie mit niedriger Priorität im vorherigen Abschnitt. 

Diese Richtlinie gewährt die folgenden Aktionen: 
+ Ermöglicht Benutzern, Aufträge in ihrer Abteilung entweder mit dem Tag `stage=QA` oder `stage=Production` zu erstellen oder zu aktualisieren.
+ Ermöglicht Benutzern, bei der Erstellung oder Aktualisierung eines Auftrags als Priorität bis zu 300 anzugeben.

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

****  

```
{
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
                "Effect": "Allow",
                "Action": "s3:CreateJob",
                "Resource": "*",
                "Condition": {
                      "ForAnyValue:StringEquals": {
                            "aws:RequestTag/stage": [
                                  "QA",
                                  "Production"        
                    ]      
                },
                      "StringEquals": {
                            "aws:RequestTag/department": "${aws:PrincipalTag/department}"      
                },
                      "NumericLessThanEquals": {
                            "s3:RequestJobPriority": 300      
                }    
            }  
        },
          {
                "Effect": "Allow",
                "Action": [
                      "s3:UpdateJobStatus"    
            ],
                "Resource": "*",
                "Condition": {
                      "StringEquals": {
                            "aws:ResourceTag/department": "${aws:PrincipalTag/department}"      
                }    
            }  
        },
          {
                "Effect": "Allow",
                "Action": "s3:UpdateJobPriority",
                "Resource": "*",
                "Condition": {
                      "ForAnyValue:StringEquals": {
                            "aws:ResourceTag/stage": [
                                  "QA",
                                  "Production"        
                    ]      
                },
                      "StringEquals": {
                            "aws:ResourceTag/department": "${aws:PrincipalTag/department}"      
                },
                      "NumericLessThanEquals": {
                            "s3:RequestJobPriority": 300      
                }    
            }  
        },
          {
                "Effect": "Allow",
                "Action": "s3:PutJobTagging",
                "Resource": "*",
                "Condition": {
                      "StringEquals": {
                            "aws:RequestTag/department": "${aws:PrincipalTag/department}",
                            "aws:ResourceTag/department": "${aws:PrincipalTag/department}"      
                },
                      "ForAnyValue:StringEquals": {
                            "aws:RequestTag/stage": [
                                  "QA",
                                  "Production"        
                    ],
                            "aws:ResourceTag/stage": [
                                  "QA",
                                  "Production"        
                    ]      
                }    
            }  
        }  
    ]
}
```

------

# Verwalten der S3-Objektsperre mit S3-BatchVorgänge
<a name="managing-object-lock-batchops"></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.

Mit der S3-Objektsperre können Sie eine rechtliche Aufbewahrungsfrist für eine Objektversion festlegen. Wie das Festlegen von Aufbewahrungszeiträumen verhindern auch rechtliche Aufbewahrungsfristen das Überschreiben oder Löschen von Objektversionen. Eine gesetzliche Aufbewahrungsfrist hat jedoch keine zugeordnete Aufbewahrungsdauer und bleibt so lange in Kraft, bis die gesetzliche Aufbewahrungsfrist entfernt wird. Weitere Informationen finden Sie unter [S3-Objektsperre aufgrund gesetzlicher Aufbewahrungsfristen](batch-ops-legal-hold.md).

Um S3 Batch Operations zusammen mit Objektsperren zu verwenden, um vielen Amazon-S3-Objekten gleichzeitig rechtliche Aufbewahrungspflichten hinzuzufügen, finden Sie weitere Informationen in den folgenden Themen.

**Topics**
+ [

# Aktivieren der S3-Objektsperre mit S3-BatchVorgänge
](batch-ops-object-lock.md)
+ [

# Festlegen der Objektsperrenaufbewahrung mit BatchVorgänge
](batch-ops-object-lock-retention.md)
+ [

# Verwendung von S3-Batch-Vorgänge mit dem Compliance-Modus der S3-Objektsperrenaufbewahrung
](batch-ops-compliance-mode.md)
+ [

# Verwenden von S3-Batch-Vorgänge mit dem Governance-Modus der S3-Objektsperrenaufbewahrung
](batch-ops-governance-mode.md)
+ [

# Verwenden von S3 Batch Operations zum Deaktivieren der rechtlichen Aufbewahrungspflichten für S3 Object Lock
](batch-ops-legal-hold-off.md)

# Aktivieren der S3-Objektsperre mit S3-BatchVorgänge
<a name="batch-ops-object-lock"></a>

Sie können Amazon S3 Batch Operations mit der S3-Objektsperre verwenden, um für viele Amazon-S3-Objekte gleichzeitig die Aufbewahrung zu verwalten oder eine rechtliche Aufbewahrungsfrist zu wählen. Sie geben die Liste der Zielobjekte in Ihrem Manifest an und senden sie zur Fertigstellung an BatchVorgänge. Weitere Informationen erhalten Sie unter [Aufrechterhaltung der S3-Objektsperre](batch-ops-retention-date.md) und [S3-Objektsperre aufgrund gesetzlicher Aufbewahrungsfristen](batch-ops-legal-hold.md). 

Die folgenden Beispiele zeigen, wie Sie eine AWS Identity and Access Management (IAM-) Rolle mit S3 Batch Operations-Berechtigungen erstellen und die Rollenberechtigungen aktualisieren, um Jobs zu erstellen, die Object Lock aktivieren. Sie müssen auch über ein `CSV`-Manifest verfügen, das die Objekte für Ihren S3-Batch-Vorgangsauftrag identifiziert. Weitere Informationen finden Sie unter [Angeben eines Manifests](batch-ops-create-job.md#specify-batchjob-manifest).

Um die folgenden Beispiele zu verwenden, ersetzen Sie die *`user input placeholders`* durch Ihre eigenen Informationen. 

## Mit dem AWS CLI
<a name="batchops-example-cli-object-lock"></a>

1. Erstellen Sie eine IAM-Rolle und weisen Sie zur Ausführung Berechtigungen für S3-Batch-Vorgänge zu.

   Dieser Schritt ist für alle S3-BatchVorgängeaufträge erforderlich.

   ```
   export AWS_PROFILE='aws-user'
   
   read -d '' batch_operations_trust_policy <<EOF
   {
     "Version": "2012-10-17"		 	 	 ,		 	 	 TCX5-2025-waiver;,
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": [
             "batchoperations.s3.amazonaws.com"
           ]
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   EOF
   aws iam create-role --role-name batch_operations-objectlock \
   --assume-role-policy-document "${batch_operations_trust_policy}"
   ```

1. Richten Sie S3-Batch-Vorgänge zur Ausführung mit S3-Objektsperre ein.

   In diesem Schritt lassen Sie der Rolle Folgendes zu:

   1. Führen Sie die Objektsperre in dem S3-Bucket aus, der die Zielobjekte enthält, für die Batch-Vorgänge ausgeführt werden soll.

   1. Lesen des S3-Buckets, in dem sich die Manifest-CSV-Datei und die Objekte befinden.

   1. Schreiben Sie die Ergebnisse des S3-Batch-Vorgangsauftrags in den Berichts-Bucket.

   ```
   read -d '' batch_operations_permissions <<EOF
   {
       "Version": "2012-10-17"		 	 	 ,		 	 	 TCX5-2025-waiver;,
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "s3:GetBucketObjectLockConfiguration",
               "Resource": [
                   "arn:aws:s3:::{{amzn-s3-demo-manifest-bucket}}"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetObject",
                   "s3:GetObjectVersion",
                   "s3:GetBucketLocation"
               ],
               "Resource": [
                   "arn:aws:s3:::{{amzn-s3-demo-manifest-bucket}}/*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:PutObject",
                   "s3:GetBucketLocation"
               ],
               "Resource": [
                   "arn:aws:s3:::{{amzn-s3-demo-completion-report-bucket}}/*"
               ]
           }
       ]
   }
   EOF
   
   aws iam put-role-policy --role-name batch_operations-objectlock \
   --policy-name object-lock-permissions \
   --policy-document "${batch_operations_permissions}"
   ```

## Verwenden des AWS SDK for Java
<a name="batchops-examples-java-object-lock"></a>

In den folgenden Beispielen wird gezeigt, wie Sie eine IAM-Rolle mit Berechtigungen für S3 Batch Operations erstellen und die Rollenberechtigungen aktualisieren, um Aufträge zu erstellen, die die Object Lock mithilfe von AWS SDK für Java aktivieren. Sie müssen auch über ein `CSV`-Manifest verfügen, das die Objekte für Ihren S3-Batch-Vorgangsauftrag identifiziert. Weitere Informationen finden Sie unter [Angeben eines Manifests](batch-ops-create-job.md#specify-batchjob-manifest).

Führen Sie die folgenden Schritte aus:

1. Erstellen Sie eine IAM-Rolle und weisen Sie zur Ausführung Berechtigungen für S3-Batch-Vorgänge zu. Dieser Schritt ist für alle S3-BatchVorgängeaufträge erforderlich.

1. Richten Sie S3-Batch-Vorgänge zur Ausführung mit S3-Objektsperre ein.

   Sie lassen der Rolle Folgendes zu:

   1. Führen Sie die Objektsperre in dem S3-Bucket aus, der die Zielobjekte enthält, für die Batch-Vorgänge ausgeführt werden soll.

   1. Lesen des S3-Buckets, in dem sich die Manifest-CSV-Datei und die Objekte befinden.

   1. Schreiben Sie die Ergebnisse des S3-Batch-Vorgangsauftrags in den Berichts-Bucket.

Ein Codebeispiel, das demonstriert, wie eine IAM-Rolle für die Aktivierung von S3 Object Lock mithilfe von S3 Batch Operations mit dem AWS SDK for Java erstellt wird, finden Sie unter [CreateObjectLockRole.java](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javav2/example_code/s3/src/main/java/com/example/s3/batch/CreateObjectLockRole.java) in den *AWS SDK-Codebeispielen für Java 2.x*.

# Festlegen der Objektsperrenaufbewahrung mit BatchVorgänge
<a name="batch-ops-object-lock-retention"></a>

Sie können Amazon S3 Batch Operations zusammen mit S3-Objektsperren verwenden, um die Aufbewahrung für viele Amazon-S3-Objekte gleichzeitig zu verwalten. Sie geben die Liste der Zielobjekte in Ihrem Manifest an und senden sie zur Fertigstellung an BatchVorgänge. Weitere Informationen erhalten Sie unter [Aufrechterhaltung der S3-Objektsperre](batch-ops-retention-date.md) und [S3-Objektsperre aufgrund gesetzlicher Aufbewahrungsfristen](batch-ops-legal-hold.md). 

Die folgenden Beispiele zeigen, wie Sie eine AWS Identity and Access Management (IAM-) Rolle mit S3 Batch Operations-Berechtigungen erstellen und die Rollenberechtigungen so aktualisieren, dass sie die `s3:PutObjectRetention` Berechtigungen enthalten, sodass Sie die S3 Object Lock-Aufbewahrung für die Objekte in Ihrem Manifest-Bucket ausführen können. Sie müssen auch über ein `CSV`-Manifest verfügen, das die Objekte für Ihren S3-Batch-Vorgangsauftrag identifiziert. Weitere Informationen finden Sie unter [Angeben eines Manifests](batch-ops-create-job.md#specify-batchjob-manifest).

Um die folgenden Beispiele zu verwenden, ersetzen Sie die *`user input placeholders`* durch Ihre eigenen Informationen. 

## Unter Verwendung der AWS CLI
<a name="batch-ops-cli-object-lock-retention-example"></a>

Das folgende AWS CLI Beispiel zeigt, wie Batch Operations verwendet werden kann, um die Aufbewahrung von S3 Object Lock auf mehrere Objekte anzuwenden.

```
export AWS_PROFILE='aws-user'

read -d '' retention_permissions <<EOF
{
    "Version": "2012-10-17"		 	 	 ,		 	 	 TCX5-2025-waiver;,
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObjectRetention"
            ],
            "Resource": [
                "arn:aws:s3:::{{amzn-s3-demo-manifest-bucket}}/*"
            ]
        }
    ]
}
EOF

aws iam put-role-policy --role-name batch_operations-objectlock --policy-name retention-permissions --policy-document "${retention_permissions}"
```

## Verwenden des AWS SDK for Java
<a name="batch-ops-examples-java-object-lock-retention"></a>

Beispiele dafür, wie Sie Batch Operations verwenden können, um die Aufbewahrung von S3 Object Lock mit dem AWS SDK for Java auf mehrere Objekte anzuwenden, finden Sie unter [Verwenden CreateJob mit einem AWS SDK oder einer CLI](https://docs.aws.amazon.com/AmazonS3/latest/API/s3-control_example_s3-control_CreateJob_section.html) in der *Amazon S3 S3-API-Referenz*.

# Verwendung von S3-Batch-Vorgänge mit dem Compliance-Modus der S3-Objektsperrenaufbewahrung
<a name="batch-ops-compliance-mode"></a>

Das folgende Beispiel baut auf den vorherigen Beispielen zum Erstellen einer Vertrauensrichtlinie sowie zum Festlegen von S3-Batch-Vorgangs und S3-Objektsperren-Konfigurations-Berechtigungen für Ihre Objekte auf. In diesem Beispiel wird der Aufbewahrungsmodus auf `COMPLIANCE` und das `retain until date` auf den 1. Januar 2025 festgelegt. Dieses Beispiel erstellt einen Auftrag, der auf die Objekte im Manifest-Bucket abzielt und die Ergebnisse in dem von Ihnen angegebenen Berichts-Bucket meldet.

Um die folgenden Beispiele zu verwenden, ersetzen Sie die *`user input placeholders`* durch Ihre eigenen Informationen. 

## Mit dem AWS CLI
<a name="batch-ops-cli-object-lock-compliance-example"></a>

Die folgenden AWS CLI Beispiele zeigen, wie Batch Operations verwendet werden kann, um den Aufbewahrungskonformitätsmodus von S3 Object Lock auf mehrere Objekte anzuwenden.

**Example – Festlegen des Aufbewahrungs-Compliance-Modus für S3 Object Lock für mehrere Objekte**  

```
export AWS_PROFILE='aws-user'
export AWS_DEFAULT_REGION='us-west-2'
export ACCOUNT_ID=123456789012
export ROLE_ARN='arn:aws:iam::123456789012:role/batch_operations-objectlock'

read -d '' OPERATION <<EOF
{
  "S3PutObjectRetention": {
    "Retention": {
      "RetainUntilDate":"2025-01-01T00:00:00",
      "Mode":"COMPLIANCE"
    }
  }
}
EOF

read -d '' MANIFEST <<EOF
{
  "Spec": {
    "Format": "S3BatchOperations_CSV_20180820",
    "Fields": [
      "Bucket",
      "Key"
    ]
  },
  "Location": {
    "ObjectArn": "arn:aws:s3:::amzn-s3-demo-manifest-bucket/compliance-objects-manifest.csv",
    "ETag": "Your-manifest-ETag"
  }
}
EOF

read -d '' REPORT <<EOF
{
  "Bucket": "arn:aws:s3:::ReportBucket",
  "Format": "Report_CSV_20180820",
  "Enabled": true,
  "Prefix": "amzn-s3-demo-completion-report-bucket/compliance-objects-batch-operations",
  "ReportScope": "AllTasks"
}
EOF

aws \
    s3control create-job \
    --account-id "${ACCOUNT_ID}" \
    --manifest "${MANIFEST//$'\n'}" \
    --operation "${OPERATION//$'\n'/}" \
    --report "${REPORT//$'\n'}" \
    --priority 10 \
    --role-arn "${ROLE_ARN}" \
    --client-request-token "$(uuidgen)" \
    --region "${AWS_DEFAULT_REGION}" \
    --description "Set compliance retain-until to 1 Jul 2030";
```

**Example – Erweitern des `retain until date` des `COMPLIANCE`-Modus bis zum 15. Januar 2025**  
Im folgenden Beispiel wird das `COMPLIANCE` des `retain until date`-Modus bis zum 15. Januar 2025 erweitert.  

```
export AWS_PROFILE='aws-user'
export AWS_DEFAULT_REGION='us-west-2'
export ACCOUNT_ID=123456789012
export ROLE_ARN='arn:aws:iam::123456789012:role/batch_operations-objectlock'

read -d '' OPERATION <<EOF
{
  "S3PutObjectRetention": {
    "Retention": {
      "RetainUntilDate":"2025-01-15T00:00:00",
      "Mode":"COMPLIANCE"
    }
  }
}
EOF

read -d '' MANIFEST <<EOF
{
  "Spec": {
    "Format": "S3BatchOperations_CSV_20180820",
    "Fields": [
      "Bucket",
      "Key"
    ]
  },
  "Location": {
    "ObjectArn": "arn:aws:s3:::amzn-s3-demo-manifest-bucket/compliance-objects-manifest.csv",
    "ETag": "Your-manifest-ETag"
  }
}
EOF

read -d '' REPORT <<EOF
{
  "Bucket": "arn:aws:s3:::amzn-s3-demo-completion-report-bucket",
  "Format": "Report_CSV_20180820",
  "Enabled": true,
  "Prefix": "reports/compliance-objects-batch_operations",
  "ReportScope": "AllTasks"
}
EOF

aws \
    s3control create-job \
    --account-id "${ACCOUNT_ID}" \
    --manifest "${MANIFEST//$'\n'}" \
    --operation "${OPERATION//$'\n'/}" \
    --report "${REPORT//$'\n'}" \
    --priority 10 \
    --role-arn "${ROLE_ARN}" \
    --client-request-token "$(uuidgen)" \
    --region "${AWS_DEFAULT_REGION}" \
    --description "Extend compliance retention to 15 Jan 2025";
```

## Verwenden des AWS SDK for Java
<a name="batch-ops-examples-java-object-lock-compliance"></a>

Die folgenden AWS SDK-Beispiele für Java zeigen, wie Batch Operations verwendet werden kann, um den Aufbewahrungskonformitätsmodus S3 Object Lock auf mehrere Objekte anzuwenden, einschließlich der Einstellung des Aufbewahrungsmodus auf COMPLIANCE mit einem Aufbewahrungsdatum und der Verlängerung des COMPLIANCE-Modus keep until date.

Beispiele dafür, wie Sie Batch Operations verwenden können, um den Aufbewahrungskonformitätsmodus von S3 Object Lock mit dem AWS SDK for Java auf mehrere Objekte anzuwenden, finden [Sie unter Verwenden CreateJob mit einem AWS SDK oder einer CLI](https://docs.aws.amazon.com/AmazonS3/latest/API/s3-control_example_s3-control_CreateJob_section.html) in der *Amazon S3 S3-API-Referenz*.

# Verwenden von S3-Batch-Vorgänge mit dem Governance-Modus der S3-Objektsperrenaufbewahrung
<a name="batch-ops-governance-mode"></a>

Das folgende Beispiel baut auf dem vorherigen Beispiel zum Erstellen einer Vertrauensrichtlinie sowie zum Festlegen von S3-Batch-Vorgangs- und S3-Objektsperren-Konfigurations-Berechtigungen auf. Dieses Beispiel zeigt, wie Sie die Aufbewahrungs-Governance für S3 Object Lock für mehrere Objekte anwenden, mit einem `retain until date` am 30. Januar 2025. Es erstellt einen Batch-Vorgangsauftrag, der den Manifest-Bucket verwendet und die Ergebnisse im Berichts-Bucket meldet.

Um die folgenden Beispiele zu verwenden, ersetzen Sie die *`user input placeholders`* durch Ihre eigenen Informationen. 

## Unter Verwendung des AWS CLI
<a name="batch-ops-cli-object-lock-governance-example"></a>

Die folgenden AWS CLI Beispiele zeigen, wie Batch Operations verwendet werden kann, um den Aufbewahrungs-Governance-Modus von S3 Object Lock auf mehrere Objekte anzuwenden.

**Example – Anwenden der Aufbewahrungs-Governance für S3 Object Lock für mehrere Objekte, mit einem Aufbewahrungsdatum vom 30. Januar 2025**  

```
export AWS_PROFILE='aws-user'
export AWS_DEFAULT_REGION='us-west-2'
export ACCOUNT_ID=123456789012
export ROLE_ARN='arn:aws:iam::123456789012:role/batch_operations-objectlock'

read -d '' OPERATION <<EOF
{
  "S3PutObjectRetention": {
    "Retention": {
      "RetainUntilDate":"2025-01-30T00:00:00",
      "Mode":"GOVERNANCE"
    }
  }
}
EOF

read -d '' MANIFEST <<EOF
{
  "Spec": {
    "Format": "S3BatchOperations_CSV_20180820",
    "Fields": [
      "Bucket",
      "Key"
    ]
  },
  "Location": {
    "ObjectArn": "arn:aws:s3:::amzn-s3-demo-manifest-bucket/governance-objects-manifest.csv",
    "ETag": "Your-manifest-ETag"
  }
}
EOF

read -d '' REPORT <<EOF
{
  "Bucket": "arn:aws:s3:::amzn-s3-demo-completion-report-bucketT",
  "Format": "Report_CSV_20180820",
  "Enabled": true,
  "Prefix": "reports/governance-objects",
  "ReportScope": "AllTasks"
}
EOF

aws \
    s3control create-job \
    --account-id "${ACCOUNT_ID}" \
    --manifest "${MANIFEST//$'\n'}" \
    --operation "${OPERATION//$'\n'/}" \
    --report "${REPORT//$'\n'}" \
    --priority 10 \
    --role-arn "${ROLE_ARN}" \
    --client-request-token "$(uuidgen)" \
    --region "${AWS_DEFAULT_REGION}" \
    --description "Put governance retention";
```

**Example – Umgehen der Aufbewahrungs-Governance für mehrere Objekte**  
Das folgende Beispiel baut auf dem vorherigen Beispiel zum Erstellen einer Vertrauensrichtlinie sowie zum Festlegen von S3-Batch-Vorgangs- und S3-Objektsperren-Konfigurations-Berechtigungen auf. Es zeigt, wie Sie die Aufbewahrungs-Governance über mehrere Objekte hinweg umgehen und erstellt einen Batch-Vorgangsauftrag, der den Manifest-Bucket verwendet und die Ergebnisse im Berichts-Bucket meldet.  

```
export AWS_PROFILE='aws-user'

read -d '' bypass_governance_permissions <<EOF
{
    "Version": "2012-10-17"		 	 	 ,		 	 	 TCX5-2025-waiver;,
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:BypassGovernanceRetention"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"
            ]
        }
    ]
}
EOF

aws iam put-role-policy --role-name batch-operations-objectlock --policy-name bypass-governance-permissions --policy-document "${bypass_governance_permissions}"

export AWS_PROFILE='aws-user'
export AWS_DEFAULT_REGION='us-west-2'
export ACCOUNT_ID=123456789012
export ROLE_ARN='arn:aws:iam::123456789012:role/batch_operations-objectlock'

read -d '' OPERATION <<EOF
{
  "S3PutObjectRetention": {
    "BypassGovernanceRetention": true,
    "Retention": {
    }
  }
}
EOF

read -d '' MANIFEST <<EOF
{
  "Spec": {
    "Format": "S3BatchOperations_CSV_20180820",
    "Fields": [
      "Bucket",
      "Key"
    ]
  },
  "Location": {
    "ObjectArn": "arn:aws:s3:::amzn-s3-demo-manifest-bucket/governance-objects-manifest.csv",
    "ETag": "Your-manifest-ETag"
  }
}
EOF

read -d '' REPORT <<EOF
{
  "Bucket": "arn:aws:s3:::amzn-s3-demo-completion-report-bucket",
  "Format": "Report_CSV_20180820",
  "Enabled": true,
  "Prefix": "reports/batch_operations-governance",
  "ReportScope": "AllTasks"
}
EOF

aws \
    s3control create-job \
    --account-id "${ACCOUNT_ID}" \
    --manifest "${MANIFEST//$'\n'}" \
    --operation "${OPERATION//$'\n'/}" \
    --report "${REPORT//$'\n'}" \
    --priority 10 \
    --role-arn "${ROLE_ARN}" \
    --client-request-token "$(uuidgen)" \
    --region "${AWS_DEFAULT_REGION}" \
    --description "Remove governance retention";
```

## Verwenden des AWS SDK for Java
<a name="batch-ops-examples-java-object-lock-governance"></a>

Die folgenden AWS SDK-Beispiele für Java zeigen, wie die Aufbewahrungs-Governance von S3 Object Lock mit der `retain until date` Einstellung bis zum 30. Januar 2025 auf mehrere Objekte angewendet wird, einschließlich der Anwendung der Object Lock-Aufbewahrungs-Governance auf mehrere Objekte mit einem Aufbewahrungsdatum und der Umgehung der Aufbewahrungs-Governance auf mehrere Objekte.

Beispiele für die Verwendung von Batch Operations mit dem Aufbewahrungs-Governance-Modus von S3 Object Lock mit dem AWS SDK for Java finden Sie unter [Verwendung CreateJob mit einem AWS SDK oder einer CLI](https://docs.aws.amazon.com/AmazonS3/latest/API/s3-control_example_s3-control_CreateJob_section.html) in der *Amazon S3 S3-API-Referenz*.

# Verwenden von S3 Batch Operations zum Deaktivieren der rechtlichen Aufbewahrungspflichten für S3 Object Lock
<a name="batch-ops-legal-hold-off"></a>

Das folgende Beispiel baut auf den vorherigen Beispielen zum Erstellen einer Vertrauensrichtlinie sowie zum Festlegen von S3-Batch-Vorgangs- und S3-Objektsperren-Konfigurations-Berechtigungen auf. Dieses Beispiel zeigt, wie Sie die gesetzliche Object-Lock-Aufbewahrungsfrist für Objekte mithilfe von Batch Operations deaktivieren können. 

Im Beispiel wird zuerst die Rolle aktualisiert, um `s3:PutObjectLegalHold`-Berechtigungen zu erteilen, ein Batch-Vorgangsauftrag erstellt, der die rechtliche Aufbewahrungsfrist von den im Manifest identifizierten Objekten deaktiviert (entfernt) und anschließend Berichte darüber erstellt.

Um die folgenden Beispiele zu verwenden, ersetzen Sie die *`user input placeholders`* durch Ihre eigenen Informationen. 

## Verwenden des AWS CLI
<a name="batch-ops-cli-object-lock-legalhold-example"></a>

Die folgenden AWS CLI Beispiele zeigen, wie Batch-Operationen verwendet werden, um die gesetzlichen Aufbewahrungsfristen von S3 Object Lock für mehrere Objekte zu deaktivieren.

**Example – Aktualisiert die Rolle, um `s3:PutObjectLegalHold`-Berechtigungen zu erteilen**  

```
export AWS_PROFILE='aws-user'

read -d '' legal_hold_permissions <<EOF
{
    "Version": "2012-10-17"		 	 	 ,		 	 	 TCX5-2025-waiver;,
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObjectLegalHold"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"
            ]
        }
    ]

EOF

aws iam put-role-policy --role-name batch_operations-objectlock --policy-name legal-hold-permissions --policy-document "${legal_hold_permissions}"
```

**Example – Deaktivieren der rechtlichen Aufbewahrungspflichten**  
Im folgenden Beispiel wird die rechtliche Aufbewahrungsfrist deaktiviert.  

```
export AWS_PROFILE='aws-user'
export AWS_DEFAULT_REGION='us-west-2'
export ACCOUNT_ID=123456789012
export ROLE_ARN='arn:aws:iam::123456789012:role/batch_operations-objectlock'

read -d '' OPERATION <<EOF
{
  "S3PutObjectLegalHold": {
    "LegalHold": {
      "Status":"OFF"
    }
  }
}
EOF

read -d '' MANIFEST <<EOF
{
  "Spec": {
    "Format": "S3BatchOperations_CSV_20180820",
    "Fields": [
      "Bucket",
      "Key"
    ]
  },
  "Location": {
    "ObjectArn": "arn:aws:s3:::amzn-s3-demo-manifest-bucket/legalhold-object-manifest.csv",
    "ETag": "Your-manifest-ETag"
  }
}
EOF

read -d '' REPORT <<EOF
{
  "Bucket": "arn:aws:s3:::amzn-s3-demo-completion-report-bucket",
  "Format": "Report_CSV_20180820",
  "Enabled": true,
  "Prefix": "reports/legalhold-objects-batch_operations",
  "ReportScope": "AllTasks"
}
EOF

aws \
    s3control create-job \
    --account-id "${ACCOUNT_ID}" \
    --manifest "${MANIFEST//$'\n'}" \
    --operation "${OPERATION//$'\n'/}" \
    --report "${REPORT//$'\n'}" \
    --priority 10 \
    --role-arn "${ROLE_ARN}" \
    --client-request-token "$(uuidgen)" \
    --region "${AWS_DEFAULT_REGION}" \
    --description "Turn off legal hold";
```

## Verwenden des AWS SDK for Java
<a name="batch-ops-examples-java-object-lock-legalhold"></a>

Beispiele für die Verwendung von S3 Batch Operations zur Deaktivierung von S3 Object Lock Legal Hold mit dem AWS SDK for Java finden Sie unter [Use CreateJob with an AWS SDK oder CLI](https://docs.aws.amazon.com/AmazonS3/latest/API/s3-control_example_s3-control_CreateJob_section.html) in der *Amazon S3 API-Referenz*.

# Tutorial: Batch-Transcodierung von Videos mit S3 Batch Operations
<a name="tutorial-s3-batchops-lambda-mediaconvert-video"></a>

Videokonsumenten nutzen Geräte aller Formen, Größen und Jahrgänge, um Medieninhalte zu genießen. Diese breite Palette an Geräten stellt eine Herausforderung für Content-Ersteller und -Distributoren dar. Videos müssen nicht in einem one-size-fits-all Format vorliegen, sondern müssen so konvertiert werden, dass sie ein breites Spektrum an Größen, Formaten und Bitraten abdecken können. Diese Konvertierungsaufgabe ist noch schwieriger, wenn Sie eine große Anzahl von Videos haben, die konvertiert werden müssen.

AWS bietet Ihnen eine Methode zum Aufbau einer skalierbaren, verteilten Architektur mit folgenden Funktionen: 
+ Greift Eingabevideos auf
+ Verarbeitet die Videos zur Wiedergabe auf einer Vielzahl von Geräten
+ Speichert die transcodierten Mediendateien
+ Liefert die Ausgabemediendateien und befriedigt Ansprüche

Wenn Sie umfangreiche Video-Repositories in Amazon S3 gespeichert haben, können Sie diese Videos aus ihren Quellformaten in mehrere Dateitypen in der Größe, Auflösung und Format transkodieren, die von einem bestimmten Videoplayer oder Gerät benötigt werden. Insbesondere bietet Ihnen [S3 Batch Operations](https://aws.amazon.com/s3/features/batch-operations) eine Lösung zum Aufrufen von AWS Lambda Funktionen für vorhandene Eingabevideos in einem S3-Quell-Bucket. Dann rufen die Lambda-Funktionen [AWS Elemental MediaConvert](https://aws.amazon.com/mediaconvert/) auf, um umfangreiche Videotranskodierungsaufgaben auszuführen. Die konvertierten Ausgabe-Mediendateien werden in einem S3-Ziel-Bucket gespeichert. 

![\[Ein Workflow-Diagramm für Batch-Transcodierung.\]](http://docs.aws.amazon.com/de_de/AmazonS3/latest/userguide/images/batchops-example-image-global.png)


**Ziel**  
In diesem Lernprogramm erfahren Sie, wie Sie S3-Batch-Vorgänge einrichten, um eine Lambda-Funktion zum Batch-Transcodieren von Videos aufzurufen, die in einem S3-Quell-Bucket gespeichert sind. Die Lambda Funktion ruft MediaConvert auf, um die Videos zu transcodieren. Die Ausgänge für jedes Video im S3-Quell-Bucket sind wie folgt:
+ Ein [HTTP Live Streaming (HLS)](http://wikipedia.org/wiki/HTTP_Live_Streaming) adaptiver Bitrate-Stream für die Wiedergabe auf Geräten mit mehreren Größen und unterschiedlichen Bandbreiten
+ Eine MP4 Videodatei
+ In Intervallen gesammelte Miniaturbilder

**Topics**
+ [

## Voraussetzungen
](#batchops-s3-prerequisites)
+ [

## Schritt 1: Erstellen Sie einen S3-Bucket für Ausgabe-Mediendateien
](#batchops-s3-step1)
+ [

## Schritt 2: Erstellen Sie eine IAM-Rolle für MediaConvert
](#batchops-s3-step2)
+ [

## Schritt 3: Erstellen Sie eine IAM-Rolle für Ihre Lambda-Funktion
](#batchops-s3-step3)
+ [

## Schritt 4: Erstellen einer Lambda-Funktion für die Videotranscodierung
](#batchops-s3-step4)
+ [

## Schritt 5: Konfigurieren des Amazon S3-Bestands für Ihren S3-Quell-Bucket
](#batchops-s3-step5)
+ [

## Schritt 6: Erstellen einer IAM-Rolle für S3-Batchvorgänge
](#batchops-s3-step6)
+ [

## Schritt 7: Einrichten und Ausführen eines Auftrags für S3-Batchvorgänge
](#batchops-s3-step7)
+ [

## Schritt 8: Überprüfen Sie die Ausgabe-Mediendateien aus Ihrem S3-Ziel-Bucket
](#batchops-s3-step8)
+ [

## Schritt 9: Bereinigen
](#batchops-s3-step9)
+ [

## Nächste Schritte
](#batchops-s3-next-steps)

## Voraussetzungen
<a name="batchops-s3-prerequisites"></a>

Bevor Sie mit diesem Lernprogramm beginnen können, benötigen Sie einen Amazon S3-Quell-Bucket (z. B. `amzn-s3-demo-source-bucket`) mit Videos, die bereits darin transcodiert werden sollen.

Sie können dem Bucket einen anderen Namen geben, wenn Sie möchten. Weitere Informationen zu Amazon S3 Bucket-Namen finden Sie unter [Benennungsregeln für Allzweck-Buckets](bucketnamingrules.md).

Lassen Sie für den S3-Quell-Bucket die **Einstellungen für öffentlichen Zugriff für diesen Bucket blockieren** auf die Standardeinstellungen festlegen (***Alle* öffentlichen Zugriffe blockieren** ist aktiviert). Weitere Informationen finden Sie unter [Erstellen eines Allzweck-Buckets](create-bucket-overview.md). 

Weitere Informationen über das Hochladen von Videos in den S3-Quell-Bucket finden Sie unter [Objekte hochladen](upload-objects.md). Wenn Sie ein Video in S3 hochladen, können Sie auch [Amazon S3 Transfer Acceleration](https://aws.amazon.com/s3/transfer-acceleration) nutzen, um schnelle und sichere Dateiübertragungen zu konfigurieren. Transfer Acceleration kann das Hochladen von Videos zu Ihrem S3-Bucket zur Übertragung größerer Videos über große Entfernungen beschleunigen. Weitere Informationen finden Sie unter [Konfigurieren schneller, sicherer Dateiübertragungen mit Amazon S3 Transfer Acceleration](transfer-acceleration.md). 

## Schritt 1: Erstellen Sie einen S3-Bucket für Ausgabe-Mediendateien
<a name="batchops-s3-step1"></a>

In diesem Schritt erstellen Sie einen S3-Ziel-Bucket, um die konvertierten Ausgabe-Mediendateien zu speichern. Außerdem erstellen Sie eine CORS-Konfiguration (Cross Origin Resource Sharing), um den ursprungsübergreifenden Zugriff auf die transcodierten Mediendateien zu ermöglichen, die in Ihrem S3-Ziel-Bucket gespeichert sind. 

**Topics**
+ [

### Erstellen Sie einen Bucket für die Ausgabe-Mediendateien
](#batchops-s3-step1-create-bucket)
+ [

### So fügen Sie einem S3-Ausgabe-Bucket eine CORS-Konfiguration hinzu:
](#batchops-s3-step1-cors)

### Erstellen Sie einen Bucket für die Ausgabe-Mediendateien
<a name="batchops-s3-step1-create-bucket"></a>



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. Wählen Sie **Create Bucket** (Bucket erstellen) aus. 

1. Geben Sie im Feld **Bucket Name** einen Namen für Ihren Bucket ein (z. B. `amzn-s3-demo-destination-bucket1`). 

1. Wählen Sie **unter Region** den AWS-Region Ort aus, an dem sich der Bucket befinden soll. 

1. Um den öffentlichen Zugriff auf Ihre Ausgabemediendateien zu gewährleisten, deaktivieren Sie unter **Einstellungen für den öffentlichen Zugriff für diesen Bucket blockieren** ***Alle* öffentlichen Zugriffe blockieren**. 
**Warnung**  
Bevor Sie diesen Schritt ausführen, lesen Sie den Abschnitt [Blockieren des öffentlichen Zugriffs auf Ihren Amazon-S3-Speicher](access-control-block-public-access.md), um sicherzustellen, dass Sie die mit dem Zulassen eines öffentlichen Zugriffs verbundenen Risiken kennen und akzeptieren. Wenn Sie die Einstellungen für Block Public Access deaktivieren, um Ihren Bucket öffentlich zu machen, kann jeder im Internet auf Ihren Bucket zugreifen. Wir empfehlen Ihnen, den gesamten öffentlichen Zugriff auf Ihre Buckets zu blockieren.  
Wenn Sie die Einstellungen für den Block Public Access nicht löschen möchten, können Sie Amazon verwenden, CloudFront um die transkodierten Mediendateien an Zuschauer (Endbenutzer) zu senden. Weitere Informationen finden Sie unter [Tutorial: Hosten von On-Demand-Streaming-Videos mit Amazon S3 CloudFront, Amazon und Amazon Route 53](tutorial-s3-cloudfront-route53-video-streaming.md). 

1. Aktivieren Sie das Kontrollkästchen neben **I acknowledge that the current settings may result in this bucket and the objects within becoming public (Ich bestätige, dass die aktuellen Einstellungen dazu führen können, dass dieser Bucket und die darin enthaltenen Objekte öffentlich werden)**.

1. Lassen Sie die restlichen Einstellungen bei den Standardwerten. 

1. Wählen Sie **Create Bucket** (Bucket erstellen) aus.

### So fügen Sie einem S3-Ausgabe-Bucket eine CORS-Konfiguration hinzu:
<a name="batchops-s3-step1-cors"></a>

Die JSON-CORS-Konfiguration definiert für Client-Webanwendungen (Videoplayer in diesem Kontext), die in einer Domain geladen sind, eine Möglichkeit zur Wiedergabe transcodierter Ausgabemediendateien in einer anderen Domain. 

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. Wählen Sie in der Liste der **Buckets** den Namen des Buckets, den Sie zuvor erstellt haben (z. B. `amzn-s3-demo-destination-bucket1`).

1. Wählen Sie die Registerkarte **Berechtigungen**.

1. Wählen Sie im Abschnitt **Cross-Origin Resource Sharing (CORS)** die Option **Edit** (Bearbeiten) aus.

1. Kopieren Sie im Textfeld CORS-Konfiguration die folgende CORS-Konfiguration und fügen Sie sie ein.

   Die CORS-Konfiguration muss im JSON-Format vorliegen. In diesem Beispiel verwendet das `AllowedOrigins`-Attribut das Platzhalterzeichen (`*`) um alle Ursprünge anzugeben. Wenn Sie Ihren spezifischen Ursprung kennen, können Sie das `AllowedOrigins`-Attribut auf Ihre spezifische Player-URL beschränken. Weitere Informationen zum Konfigurieren von diesem und anderen Attributen finden Sie unter [Elemente einer CORS-Konfiguration](ManageCorsUsing.md).

   ```
   [
       {
           "AllowedOrigins": [
               "*"
           ],
           "AllowedMethods": [
               "GET"
           ],
           "AllowedHeaders": [
               "*"
           ],
           "ExposeHeaders": []
   
       }
   ]
   ```

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

## Schritt 2: Erstellen Sie eine IAM-Rolle für MediaConvert
<a name="batchops-s3-step2"></a>

Um die in Ihrem S3-Bucket gespeicherten Eingabevideos AWS Elemental MediaConvert zu transkodieren, benötigen Sie eine AWS Identity and Access Management (IAM-) Dienstrolle, um MediaConvert Berechtigungen zum Lesen und Schreiben von Videodateien aus und in Ihre S3-Quell- und Ziel-Buckets zu erteilen. Wenn Sie Transcodierungsaufträge ausführen, verwendet die MediaConvert Konsole diese Rolle. 

**Um eine IAM-Rolle zu erstellen für MediaConvert**

1. Erstellen Sie eine IAM-Rolle mit einem von Ihnen ausgewählten Rollennamen (z. B. **tutorial-mediaconvert-role**). Um diese Rolle zu erstellen, folgen Sie den Schritten [unter Erstellen Sie Ihre MediaConvert Rolle in IAM (Konsole)](https://docs.aws.amazon.com/mediaconvert/latest/ug/creating-the-iam-role-in-iam.html) im *AWS Elemental MediaConvert Benutzerhandbuch*.

1. Nachdem Sie die IAM-Rolle für erstellt haben MediaConvert, wählen Sie in der **Rollenliste** den Namen der Rolle aus, für MediaConvert die Sie erstellt haben (z. B.**tutorial-mediaconvert-role**).

1. Kopieren Sie auf der Seite **Übersicht** die **ARN der Rolle** (die mit `arn:aws:iam::` beginnt) und speichern Sie den ARN für die spätere Verwendung. 

   Weitere Informationen zu ARNs finden Sie unter [Amazon Resource Names (ARNs)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) in der *AWS Allgemeinen Referenz*. 

## Schritt 3: Erstellen Sie eine IAM-Rolle für Ihre Lambda-Funktion
<a name="batchops-s3-step3"></a>

Um Videos mit MediaConvert und S3 Batch Operations stapelweise zu transkodieren, verwenden Sie eine Lambda-Funktion, um diese beiden Dienste zu verbinden, um Videos zu konvertieren. Diese Lambda-Funktion muss über eine IAM-Rolle verfügen, die der Lambda-Funktion Zugriffsberechtigungen MediaConvert und S3-Stapeloperationen gewährt. 

**Topics**
+ [

### Erstellen Sie eine IAM-Rolle für Ihre Lambda-Funktion
](#batchops-s3-step3-role)
+ [

### Einbetten einer Inline-Richtlinie für die IAM-Rolle Ihrer Lambda -Funktion
](#batchops-s3-step3-inline-policy)

### Erstellen Sie eine IAM-Rolle für Ihre Lambda-Funktion
<a name="batchops-s3-step3-role"></a>

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

1. Wählen Sie im linken Navigationsbereich **Roles (Rollen)** und dann **Create Role (Rolle erstellen)** aus. 

1. Wählen Sie den **AWS -Service**-Rollentyp und wählen Sie dann unter **Häufige Anwendungsfälle** **Lambda** aus. 

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

1. Geben Sie auf der Seite **Attach permissions (Berechtigungen anfügen)** **AWSLambdaBasicExecutionRole** in das Suchfeld ein, um die **Liste der Richtlinien zu filtern**. Um die verwaltete Richtlinie **AWSLambdaBasicExecutionRole**an diese Rolle anzuhängen, um Schreibberechtigungen für Amazon CloudWatch Logs zu gewähren, aktivieren Sie das Kontrollkästchen neben **AWSLambdaBasicExecutionRole**.

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

1. Geben Sie für **Rollenname** den Namen **tutorial-lambda-transcode-role** ein.

1. (Optional) Fügen Sie der verwalteten Richtlinie Tags hinzu.

1. Wählen Sie **Rolle erstellen** aus.

### Einbetten einer Inline-Richtlinie für die IAM-Rolle Ihrer Lambda -Funktion
<a name="batchops-s3-step3-inline-policy"></a>

Um der MediaConvert Ressource, die für die Ausführung der Lambda-Funktion benötigt wird, Berechtigungen zu gewähren, müssen Sie eine Inline-Richtlinie verwenden.

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

1. Wählen Sie im linken Navigationsbereich **Roles** aus. 

1. Wählen Sie in der Liste der **Rollen** den Namen der IAM-Rolle aus, die Sie vorher für Ihre Lambda-Funktion erstellt haben (z. B. **tutorial-lambda-transcode-role**).

1. Wählen Sie den Tab **Permissions (Berechtigungen)**.

1. Wählen Sie **Add inline Policy** (Inline-Richtlinie auswählen).

1. Wählen Sie die Registerkarte **JSON** aus, kopieren und fügen Sie dann die folgende JSON-Richtlinie ein:

   Ersetzen Sie in der JSON-Richtlinie den ARN-Beispielwert von `Resource` durch den Rollen-ARN der IAM-Rolle MediaConvert , für die Sie in [Schritt 2](#batchops-s3-step2) erstellt haben (z. B.**tutorial-mediaconvert-role**).

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Action": [
                   "logs:CreateLogGroup",
                   "logs:CreateLogStream",
                   "logs:PutLogEvents"
               ],
               "Resource": "*",
               "Effect": "Allow",
               "Sid": "Logging"
           },
           {
               "Action": [
                   "iam:PassRole"
               ],
               "Resource": [
                   "arn:aws:iam::111122223333:role/tutorial-mediaconvert-role"
               ],
               "Effect": "Allow",
               "Sid": "PassRole"
           },
           {
               "Action": [
                   "mediaconvert:*"
               ],
               "Resource": [
                   "*"
               ],
               "Effect": "Allow",
               "Sid": "MediaConvertService"
           },
           {
               "Action": [
                   "s3:*"
               ],
               "Resource": [
                   "*"
               ],
               "Effect": "Allow",
               "Sid": "S3Service"
           }
       ]
   }
   ```

------

1. Wählen Sie **Review policy** (Richtlinie überprüfen) aus.

1. Geben Sie unter **Name** **tutorial-lambda-policy** ein.

1. Wählen Sie **Richtlinie erstellen** aus.

   Nachdem Sie eine Inline-Richtlinie erstellt haben, wird sie automatisch in Ihre IAM-Rolle Ihrer Lambda-Funktion eingebettet.

## Schritt 4: Erstellen einer Lambda-Funktion für die Videotranscodierung
<a name="batchops-s3-step4"></a>

In diesem Abschnitt des Tutorials erstellen Sie eine Lambda-Funktion mithilfe des SDK für Python zur Integration mit S3 Batch Operations und MediaConvert. Um mit der Transcodierung der Videos zu beginnen, die bereits in Ihrem S3-Quell-Bucket gespeichert sind, führen Sie einen S3-Batchvorgang-Auftrag aus, der direkt die Lambda-Funktion für jedes Video im S3-Quell-Bucket aufruft. Anschließend sendet die Lambda-Funktion einen Transcodierungsauftrag für jedes Video an. MediaConvert

**Topics**
+ [

### Schreiben von Lambda-Funktionscode und Erstellen eines Bereitstellungspakets
](#batchops-s3-step4-write-function)
+ [

### Erstellen einer Lambda-Funktion mit einer Ausführungsrolle (Konsole)
](#batchops-s3-step4-create-function)
+ [

### Stellen Sie Ihre Lambda-Funktion mit ZIP-Dateiarchiven bereit und konfigurieren Sie die Lambda-Funktion (Konsole)
](#batchops-s3-step4-deploy-function)

### Schreiben von Lambda-Funktionscode und Erstellen eines Bereitstellungspakets
<a name="batchops-s3-step4-write-function"></a>

1. Erstellen Sie auf Ihrem lokalen Computer einen Ordner mit dem Namen `batch-transcode`.

1. Erstellen Sie im `batch-transcode`-Ordner eine Datei mit JSON-Auftragseinstellungen. Sie können z. B. die Einstellungen in diesem Abschnitt verwenden und die Datei `job.json` benennen. 

   Eine `job.json`-Datei gibt Folgendes an: 
   + Welche Dateien transcodiert werden sollen
   + Wie Sie Ihre Eingabevideos transcodieren möchten
   + Welche Ausgabemediendateien Sie erstellen möchten
   + Wie die transcodierten Dateien benannt werden sollen
   + Wo die transcodierten Dateien gespeichert werden sollen
   + Welche fortschrittlichen Funktionen angewendet werden sollen und so weiter

   In diesem Tutorial wird die folgende `job.json`-Datei verwendet, um die folgenden Ausgaben für jedes Video im S3-Quell-Bucket zu erstellen:
   + Ein HTTP Live Streaming (HLS) adaptiver Bitrate-Stream für die Wiedergabe auf mehreren Geräten mit verschiedenen Größen und unterschiedlichen Bandbreiten
   + Eine Videodatei MP4 
   + In Intervallen gesammelte Miniaturbilder

   Diese Beispiel-Datei `job.json` verwendet Quality-Defined Variable Bitrate (QVBR), um die Videoqualität zu optimieren. Die HLS-Ausgabe ist Apple-kompatibel (Audio ungemischt vom Video, Segmentdauer von 6 Sekunden und optimierte Videoqualität durch automatisches QVBR). 

   Wenn Sie die hier bereitgestellten Beispieleinstellungen nicht verwenden möchten, können Sie eine `job.json`-Spezifikation basierend auf Ihrem Anwendungsfall erstellen. Stellen Sie sicher, dass die Eingabedateien ähnliche Video- und Audiokonfigurationen aufweisen, um die Konsistenz Ihrer Ausgänge zu gewährleisten. Für beliebige Eingabedateien mit unterschiedlichen Video- und Audiokonfigurationen erstellen Sie getrennte Automatisierungen (eindeutige `job.json`-Einstellungen). Weitere Informationen finden Sie im *AWS Elemental MediaConvert -Benutzerhandbuch* unter [Beispiel für AWS Elemental MediaConvert -Jobeinstellungen in JSON](https://docs.aws.amazon.com/mediaconvert/latest/ug/example-job-settings.html). 

   ```
   {
     "OutputGroups": [
       {
         "CustomName": "HLS",
         "Name": "Apple HLS",
         "Outputs": [
           {
             "ContainerSettings": {
               "Container": "M3U8",
               "M3u8Settings": {
                 "AudioFramesPerPes": 4,
                 "PcrControl": "PCR_EVERY_PES_PACKET",
                 "PmtPid": 480,
                 "PrivateMetadataPid": 503,
                 "ProgramNumber": 1,
                 "PatInterval": 0,
                 "PmtInterval": 0,
                 "TimedMetadata": "NONE",
                 "VideoPid": 481,
                 "AudioPids": [
                   482,
                   483,
                   484,
                   485,
                   486,
                   487,
                   488,
                   489,
                   490,
                   491,
                   492
                 ]
               }
             },
             "VideoDescription": {
               "Width": 640,
               "ScalingBehavior": "DEFAULT",
               "Height": 360,
               "TimecodeInsertion": "DISABLED",
               "AntiAlias": "ENABLED",
               "Sharpness": 50,
               "CodecSettings": {
                 "Codec": "H_264",
                 "H264Settings": {
                   "InterlaceMode": "PROGRESSIVE",
                   "NumberReferenceFrames": 3,
                   "Syntax": "DEFAULT",
                   "Softness": 0,
                   "GopClosedCadence": 1,
                   "GopSize": 2,
                   "Slices": 1,
                   "GopBReference": "DISABLED",
                   "MaxBitrate": 1200000,
                   "SlowPal": "DISABLED",
                   "SpatialAdaptiveQuantization": "ENABLED",
                   "TemporalAdaptiveQuantization": "ENABLED",
                   "FlickerAdaptiveQuantization": "DISABLED",
                   "EntropyEncoding": "CABAC",
                   "FramerateControl": "INITIALIZE_FROM_SOURCE",
                   "RateControlMode": "QVBR",
                   "CodecProfile": "MAIN",
                   "Telecine": "NONE",
                   "MinIInterval": 0,
                   "AdaptiveQuantization": "HIGH",
                   "CodecLevel": "AUTO",
                   "FieldEncoding": "PAFF",
                   "SceneChangeDetect": "TRANSITION_DETECTION",
                   "QualityTuningLevel": "SINGLE_PASS_HQ",
                   "FramerateConversionAlgorithm": "DUPLICATE_DROP",
                   "UnregisteredSeiTimecode": "DISABLED",
                   "GopSizeUnits": "SECONDS",
                   "ParControl": "INITIALIZE_FROM_SOURCE",
                   "NumberBFramesBetweenReferenceFrames": 2,
                   "RepeatPps": "DISABLED"
                 }
               },
               "AfdSignaling": "NONE",
               "DropFrameTimecode": "ENABLED",
               "RespondToAfd": "NONE",
               "ColorMetadata": "INSERT"
             },
             "OutputSettings": {
               "HlsSettings": {
                 "AudioGroupId": "program_audio",
                 "AudioRenditionSets": "program_audio",
                 "SegmentModifier": "$dt$",
                 "IFrameOnlyManifest": "EXCLUDE"
               }
             },
             "NameModifier": "_360"
           },
           {
             "ContainerSettings": {
               "Container": "M3U8",
               "M3u8Settings": {
                 "AudioFramesPerPes": 4,
                 "PcrControl": "PCR_EVERY_PES_PACKET",
                 "PmtPid": 480,
                 "PrivateMetadataPid": 503,
                 "ProgramNumber": 1,
                 "PatInterval": 0,
                 "PmtInterval": 0,
                 "TimedMetadata": "NONE",
                 "TimedMetadataPid": 502,
                 "VideoPid": 481,
                 "AudioPids": [
                   482,
                   483,
                   484,
                   485,
                   486,
                   487,
                   488,
                   489,
                   490,
                   491,
                   492
                 ]
               }
             },
             "VideoDescription": {
               "Width": 960,
               "ScalingBehavior": "DEFAULT",
               "Height": 540,
               "TimecodeInsertion": "DISABLED",
               "AntiAlias": "ENABLED",
               "Sharpness": 50,
               "CodecSettings": {
                 "Codec": "H_264",
                 "H264Settings": {
                   "InterlaceMode": "PROGRESSIVE",
                   "NumberReferenceFrames": 3,
                   "Syntax": "DEFAULT",
                   "Softness": 0,
                   "GopClosedCadence": 1,
                   "GopSize": 2,
                   "Slices": 1,
                   "GopBReference": "DISABLED",
                   "MaxBitrate": 3500000,
                   "SlowPal": "DISABLED",
                   "SpatialAdaptiveQuantization": "ENABLED",
                   "TemporalAdaptiveQuantization": "ENABLED",
                   "FlickerAdaptiveQuantization": "DISABLED",
                   "EntropyEncoding": "CABAC",
                   "FramerateControl": "INITIALIZE_FROM_SOURCE",
                   "RateControlMode": "QVBR",
                   "CodecProfile": "MAIN",
                   "Telecine": "NONE",
                   "MinIInterval": 0,
                   "AdaptiveQuantization": "HIGH",
                   "CodecLevel": "AUTO",
                   "FieldEncoding": "PAFF",
                   "SceneChangeDetect": "TRANSITION_DETECTION",
                   "QualityTuningLevel": "SINGLE_PASS_HQ",
                   "FramerateConversionAlgorithm": "DUPLICATE_DROP",
                   "UnregisteredSeiTimecode": "DISABLED",
                   "GopSizeUnits": "SECONDS",
                   "ParControl": "INITIALIZE_FROM_SOURCE",
                   "NumberBFramesBetweenReferenceFrames": 2,
                   "RepeatPps": "DISABLED"
                 }
               },
               "AfdSignaling": "NONE",
               "DropFrameTimecode": "ENABLED",
               "RespondToAfd": "NONE",
               "ColorMetadata": "INSERT"
             },
             "OutputSettings": {
               "HlsSettings": {
                 "AudioGroupId": "program_audio",
                 "AudioRenditionSets": "program_audio",
                 "SegmentModifier": "$dt$",
                 "IFrameOnlyManifest": "EXCLUDE"
               }
             },
             "NameModifier": "_540"
           },
           {
             "ContainerSettings": {
               "Container": "M3U8",
               "M3u8Settings": {
                 "AudioFramesPerPes": 4,
                 "PcrControl": "PCR_EVERY_PES_PACKET",
                 "PmtPid": 480,
                 "PrivateMetadataPid": 503,
                 "ProgramNumber": 1,
                 "PatInterval": 0,
                 "PmtInterval": 0,
                 "TimedMetadata": "NONE",
                 "VideoPid": 481,
                 "AudioPids": [
                   482,
                   483,
                   484,
                   485,
                   486,
                   487,
                   488,
                   489,
                   490,
                   491,
                   492
                 ]
               }
             },
             "VideoDescription": {
               "Width": 1280,
               "ScalingBehavior": "DEFAULT",
               "Height": 720,
               "TimecodeInsertion": "DISABLED",
               "AntiAlias": "ENABLED",
               "Sharpness": 50,
               "CodecSettings": {
                 "Codec": "H_264",
                 "H264Settings": {
                   "InterlaceMode": "PROGRESSIVE",
                   "NumberReferenceFrames": 3,
                   "Syntax": "DEFAULT",
                   "Softness": 0,
                   "GopClosedCadence": 1,
                   "GopSize": 2,
                   "Slices": 1,
                   "GopBReference": "DISABLED",
                   "MaxBitrate": 5000000,
                   "SlowPal": "DISABLED",
                   "SpatialAdaptiveQuantization": "ENABLED",
                   "TemporalAdaptiveQuantization": "ENABLED",
                   "FlickerAdaptiveQuantization": "DISABLED",
                   "EntropyEncoding": "CABAC",
                   "FramerateControl": "INITIALIZE_FROM_SOURCE",
                   "RateControlMode": "QVBR",
                   "CodecProfile": "MAIN",
                   "Telecine": "NONE",
                   "MinIInterval": 0,
                   "AdaptiveQuantization": "HIGH",
                   "CodecLevel": "AUTO",
                   "FieldEncoding": "PAFF",
                   "SceneChangeDetect": "TRANSITION_DETECTION",
                   "QualityTuningLevel": "SINGLE_PASS_HQ",
                   "FramerateConversionAlgorithm": "DUPLICATE_DROP",
                   "UnregisteredSeiTimecode": "DISABLED",
                   "GopSizeUnits": "SECONDS",
                   "ParControl": "INITIALIZE_FROM_SOURCE",
                   "NumberBFramesBetweenReferenceFrames": 2,
                   "RepeatPps": "DISABLED"
                 }
               },
               "AfdSignaling": "NONE",
               "DropFrameTimecode": "ENABLED",
               "RespondToAfd": "NONE",
               "ColorMetadata": "INSERT"
             },
             "OutputSettings": {
               "HlsSettings": {
                 "AudioGroupId": "program_audio",
                 "AudioRenditionSets": "program_audio",
                 "SegmentModifier": "$dt$",
                 "IFrameOnlyManifest": "EXCLUDE"
               }
             },
             "NameModifier": "_720"
           },
           {
             "ContainerSettings": {
               "Container": "M3U8",
               "M3u8Settings": {}
             },
             "AudioDescriptions": [
               {
                 "AudioSourceName": "Audio Selector 1",
                 "CodecSettings": {
                   "Codec": "AAC",
                   "AacSettings": {
                     "Bitrate": 96000,
                     "CodingMode": "CODING_MODE_2_0",
                     "SampleRate": 48000
                   }
                 }
               }
             ],
             "OutputSettings": {
               "HlsSettings": {
                 "AudioGroupId": "program_audio",
                 "AudioTrackType": "ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT"
               }
             },
             "NameModifier": "_audio"
           }
         ],
         "OutputGroupSettings": {
           "Type": "HLS_GROUP_SETTINGS",
           "HlsGroupSettings": {
             "ManifestDurationFormat": "INTEGER",
             "SegmentLength": 6,
             "TimedMetadataId3Period": 10,
             "CaptionLanguageSetting": "OMIT",
             "Destination": "s3://EXAMPLE-BUCKET/HLS/",
             "DestinationSettings": {
               "S3Settings": {
                 "AccessControl": {
                   "CannedAcl": "PUBLIC_READ"
                 }
               }
             },
             "TimedMetadataId3Frame": "PRIV",
             "CodecSpecification": "RFC_4281",
             "OutputSelection": "MANIFESTS_AND_SEGMENTS",
             "ProgramDateTimePeriod": 600,
             "MinSegmentLength": 0,
             "DirectoryStructure": "SINGLE_DIRECTORY",
             "ProgramDateTime": "EXCLUDE",
             "SegmentControl": "SEGMENTED_FILES",
             "ManifestCompression": "NONE",
             "ClientCache": "ENABLED",
             "StreamInfResolution": "INCLUDE"
           }
         }
       },
       {
         "CustomName": "MP4",
         "Name": "File Group",
         "Outputs": [
           {
             "ContainerSettings": {
               "Container": "MP4",
               "Mp4Settings": {
                 "CslgAtom": "INCLUDE",
                 "FreeSpaceBox": "EXCLUDE",
                 "MoovPlacement": "PROGRESSIVE_DOWNLOAD"
               }
             },
             "VideoDescription": {
               "Width": 1280,
               "ScalingBehavior": "DEFAULT",
               "Height": 720,
               "TimecodeInsertion": "DISABLED",
               "AntiAlias": "ENABLED",
               "Sharpness": 100,
               "CodecSettings": {
                 "Codec": "H_264",
                 "H264Settings": {
                   "InterlaceMode": "PROGRESSIVE",
                   "ParNumerator": 1,
                   "NumberReferenceFrames": 3,
                   "Syntax": "DEFAULT",
                   "Softness": 0,
                   "GopClosedCadence": 1,
                   "HrdBufferInitialFillPercentage": 90,
                   "GopSize": 2,
                   "Slices": 2,
                   "GopBReference": "ENABLED",
                   "HrdBufferSize": 10000000,
                   "MaxBitrate": 5000000,
                   "ParDenominator": 1,
                   "EntropyEncoding": "CABAC",
                   "RateControlMode": "QVBR",
                   "CodecProfile": "HIGH",
                   "MinIInterval": 0,
                   "AdaptiveQuantization": "AUTO",
                   "CodecLevel": "AUTO",
                   "FieldEncoding": "PAFF",
                   "SceneChangeDetect": "ENABLED",
                   "QualityTuningLevel": "SINGLE_PASS_HQ",
                   "UnregisteredSeiTimecode": "DISABLED",
                   "GopSizeUnits": "SECONDS",
                   "ParControl": "SPECIFIED",
                   "NumberBFramesBetweenReferenceFrames": 3,
                   "RepeatPps": "DISABLED",
                   "DynamicSubGop": "ADAPTIVE"
                 }
               },
               "AfdSignaling": "NONE",
               "DropFrameTimecode": "ENABLED",
               "RespondToAfd": "NONE",
               "ColorMetadata": "INSERT"
             },
             "AudioDescriptions": [
               {
                 "AudioTypeControl": "FOLLOW_INPUT",
                 "AudioSourceName": "Audio Selector 1",
                 "CodecSettings": {
                   "Codec": "AAC",
                   "AacSettings": {
                     "AudioDescriptionBroadcasterMix": "NORMAL",
                     "Bitrate": 160000,
                     "RateControlMode": "CBR",
                     "CodecProfile": "LC",
                     "CodingMode": "CODING_MODE_2_0",
                     "RawFormat": "NONE",
                     "SampleRate": 48000,
                     "Specification": "MPEG4"
                   }
                 },
                 "LanguageCodeControl": "FOLLOW_INPUT",
                 "AudioType": 0
               }
             ]
           }
         ],
         "OutputGroupSettings": {
           "Type": "FILE_GROUP_SETTINGS",
           "FileGroupSettings": {
             "Destination": "s3://EXAMPLE-BUCKET/MP4/",
             "DestinationSettings": {
               "S3Settings": {
                 "AccessControl": {
                   "CannedAcl": "PUBLIC_READ"
                 }
               }
             }
           }
         }
       },
       {
         "CustomName": "Thumbnails",
         "Name": "File Group",
         "Outputs": [
           {
             "ContainerSettings": {
               "Container": "RAW"
             },
             "VideoDescription": {
               "Width": 1280,
               "ScalingBehavior": "DEFAULT",
               "Height": 720,
               "TimecodeInsertion": "DISABLED",
               "AntiAlias": "ENABLED",
               "Sharpness": 50,
               "CodecSettings": {
                 "Codec": "FRAME_CAPTURE",
                 "FrameCaptureSettings": {
                   "FramerateNumerator": 1,
                   "FramerateDenominator": 5,
                   "MaxCaptures": 500,
                   "Quality": 80
                 }
               },
               "AfdSignaling": "NONE",
               "DropFrameTimecode": "ENABLED",
               "RespondToAfd": "NONE",
               "ColorMetadata": "INSERT"
             }
           }
         ],
         "OutputGroupSettings": {
           "Type": "FILE_GROUP_SETTINGS",
           "FileGroupSettings": {
             "Destination": "s3://EXAMPLE-BUCKET/Thumbnails/",
             "DestinationSettings": {
               "S3Settings": {
                 "AccessControl": {
                   "CannedAcl": "PUBLIC_READ"
                 }
               }
             }
           }
         }
       }
     ],
     "AdAvailOffset": 0,
     "Inputs": [
       {
         "AudioSelectors": {
           "Audio Selector 1": {
             "Offset": 0,
             "DefaultSelection": "DEFAULT",
             "ProgramSelection": 1
           }
         },
         "VideoSelector": {
           "ColorSpace": "FOLLOW"
         },
         "FilterEnable": "AUTO",
         "PsiControl": "USE_PSI",
         "FilterStrength": 0,
         "DeblockFilter": "DISABLED",
         "DenoiseFilter": "DISABLED",
         "TimecodeSource": "EMBEDDED",
         "FileInput": "s3://EXAMPLE-INPUT-BUCKET/input.mp4"
       }
     ]
   }
   ```

1. Erstellen Sie im `batch-transcode`-Ordner eine Datei mit einer Lambda-Funktion. Sie können das folgende Python-Beispiel verwenden und die Datei `convert.py` nennen.

   S3-Batchvorgänge sendet bestimmte Aufgabendaten an eine Lambda-Funktion und erfordert Ergebnisdaten zurück. Anforderungs- und Antwortbeispielen für die Lambda-Funktion, Informationen über Antwort- und Ergebniscodes sowie Beispiel-Lambda-Funktionen für S3-Batchvorgänge finden Sie unter [Funktion aufrufen AWS Lambda](batch-ops-invoke-lambda.md). 

   ```
   import json
   import os
   from urllib.parse import urlparse
   import uuid
   import boto3
   
   """
   When you run an S3 Batch Operations job, your job  
   invokes this Lambda function. Specifically, the Lambda function is 
   invoked on each video object listed in the manifest that you specify 
   for the S3 Batch Operations job in Step 5.  
   
   Input parameter "event": The S3 Batch Operations event as a request
                            for the Lambda function.
   
   Input parameter "context": Context about the event.
   
   Output: A result structure that Amazon S3 uses to interpret the result 
           of the operation. It is a job response returned back to S3 Batch Operations.
   """
   def handler(event, context):
   
       invocation_schema_version = event['invocationSchemaVersion']
       invocation_id = event['invocationId']
       task_id = event['tasks'][0]['taskId']
   
       source_s3_key = event['tasks'][0]['s3Key']
       source_s3_bucket = event['tasks'][0]['s3BucketArn'].split(':::')[-1]
       source_s3 = 's3://' + source_s3_bucket + '/' + source_s3_key
   
       result_list = []
       result_code = 'Succeeded'
       result_string = 'The input video object was converted successfully.'
   
       # The type of output group determines which media players can play 
       # the files transcoded by MediaConvert.
       # For more information, see [Creating outputs with AWS Elemental MediaConvert](https://docs.aws.amazon.com/mediaconvert/latest/ug/creating-streaming-and-file-outputs.html).
       output_group_type_dict = {
           'HLS_GROUP_SETTINGS': 'HlsGroupSettings',
           'FILE_GROUP_SETTINGS': 'FileGroupSettings',
           'CMAF_GROUP_SETTINGS': 'CmafGroupSettings',
           'DASH_ISO_GROUP_SETTINGS': 'DashIsoGroupSettings',
           'MS_SMOOTH_GROUP_SETTINGS': 'MsSmoothGroupSettings'
       }
   
       try:
           job_name = 'Default'
           with open('job.json') as file:
               job_settings = json.load(file)
   
           job_settings['Inputs'][0]['FileInput'] = source_s3
   
           # The path of each output video is constructed based on the values of 
           # the attributes in each object of OutputGroups in the job.json file. 
           destination_s3 = 's3://{0}/{1}/{2}' \
               .format(os.environ['amzn-s3-demo-destination-bucket'],
                       os.path.splitext(os.path.basename(source_s3_key))[0],
                       os.path.splitext(os.path.basename(job_name))[0])
   
           for output_group in job_settings['OutputGroups']:
               output_group_type = output_group['OutputGroupSettings']['Type']
               if output_group_type in output_group_type_dict.keys():
                   output_group_type = output_group_type_dict[output_group_type]
                   output_group['OutputGroupSettings'][output_group_type]['Destination'] = \
                       "{0}{1}".format(destination_s3,
                                       urlparse(output_group['OutputGroupSettings'][output_group_type]['Destination']).path)
               else:
                   raise ValueError("Exception: Unknown Output Group Type {}."
                                    .format(output_group_type))
   
           job_metadata_dict = {
               'assetID': str(uuid.uuid4()),
               'application': os.environ['Application'],
               'input': source_s3,
               'settings': job_name
           }
   
           region = os.environ['AWS_DEFAULT_REGION']
           endpoints = boto3.client('mediaconvert', region_name=region) \
               .describe_endpoints()
           client = boto3.client('mediaconvert', region_name=region, 
                                  endpoint_url=endpoints['Endpoints'][0]['Url'], 
                                  verify=False)
   
           try:
               client.create_job(Role=os.environ['MediaConvertRole'], 
                                 UserMetadata=job_metadata_dict, 
                                 Settings=job_settings)
           # You can customize error handling based on different error codes that 
           # MediaConvert can return.
           # For more information, see [MediaConvert error codes](https://docs.aws.amazon.com/mediaconvert/latest/ug/mediaconvert_error_codes.html). 
           # When the result_code is TemporaryFailure, S3 Batch Operations retries 
           # the task before the job is completed. If this is the final retry, 
           # the error message is included in the final report.
           except Exception as error:
               result_code = 'TemporaryFailure'
               raise
       
       except Exception as error:
           if result_code != 'TemporaryFailure':
               result_code = 'PermanentFailure'
           result_string = str(error)
   
       finally:
           result_list.append({
               'taskId': task_id,
               'resultCode': result_code,
               'resultString': result_string,
           })
   
       return {
           'invocationSchemaVersion': invocation_schema_version,
           'treatMissingKeyAs': 'PermanentFailure',
           'invocationId': invocation_id,
           'results': result_list
       }
   ```

1. Um ein Bereitstellungspaket mit `convert.py` und `job.json` als `.zip`-Datei mit dem Namen `lambda.zip` zu erstellen, öffnen Sie in Ihrem lokalen Terminal den `batch-transcode`-Ordner, den Sie bereits erstellt haben, und führen Sie den folgenden Befehl aus.

   Führen Sie für **macOS-Benutzer** den folgenden Befehl aus:

   ```
   zip -r lambda.zip convert.py job.json                
   ```

   Führen Sie für **Windows-Benutzer** die folgenden Befehle aus:

   ```
   powershell Compress-Archive convert.py lambda.zip
   ```

   ```
   powershell Compress-Archive -update job.json lambda.zip                
   ```

### Erstellen einer Lambda-Funktion mit einer Ausführungsrolle (Konsole)
<a name="batchops-s3-step4-create-function"></a>

1. 

   Öffnen Sie die AWS Lambda Konsole unter [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Wählen Sie im linken Navigationsbereich die Option **Functions** (Funktionen) aus.

1. Wählen Sie **Create function** (Funktion erstellen).

1. Wählen Sie **Author from scratch** aus.

1. Führen Sie unter **Basic information** (Grundlegende Informationen) die folgenden Schritte aus:

   1. Geben Sie für **Function name** (Funktionsname) **tutorial-lambda-convert** ein.

   1. Wählen Sie für **Runtime** **Python 3.13**.

1. Wählen Sie **Ändern der standardmäßigen Ausführungsrolle** und wählen Sie unter **Ausführungsrolle** **Verwenden einer vorhandenen Rolle**.

1. Wählen Sie unter **Bestehende Rolle** den Namen der IAM-Rolle aus, die Sie für Ihre Lambda-Funktion in [Schritt 3](#batchops-s3-step3) (zum Beispiel **tutorial-lambda-transcode-role**) erstellt haben.

1. Lassen Sie die restlichen Einstellungen auf die Standardwerte eingestellt.

1. Wählen Sie **Funktion erstellen** aus.

### Stellen Sie Ihre Lambda-Funktion mit ZIP-Dateiarchiven bereit und konfigurieren Sie die Lambda-Funktion (Konsole)
<a name="batchops-s3-step4-deploy-function"></a>

1. Wählen Sie im Abschnitt **Code-Quelle** der Seite für die Lambda-Funktion, die Sie erstellt haben (z. B. **tutorial-lambda-convert**), **Hochladen von** und dann **ZIP-Datei** aus.

1. Wählen Sie **Upload** (Hochladen) aus, um Ihre lokale `.zip`-Datei auszuwählen.

1. Wählen Sie die zuvor erstellte `lambda.zip`-Datei und klicken Sie auf **Öffnen**.

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

1. Wählen Sie im Abschnitt **Runtime settings** (Laufzeiteinstellungen) die Option**Bearbeiten** aus. 

1. Um der Lambda-Laufzeit mitzuteilen, welche Handler-Methode in Ihrem Lambda-Funktionscode aufgerufen werden soll, geben Sie **convert.handler** in das Feld **Handler** ein.

   Wenn Sie eine Funktion in Python konfigurieren, besteht der Wert der Handler-Einstellung aus dem Dateinamen und dem Namen des Handler-Moduls, getrennt durch einen Punkt (`.`). Beispielsweise ruft `convert.handler` die Methode `handler` auf, die in der Datei `convert.py` definiert ist.

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

1. Wählen Sie auf der Seite der Lambda-Funktion den Tab **Konfiguration**. Im linken Navigationsbereich auf der Registerkarte **Konfiguration** wählen Sie **Umgebungsvariablen** und wählen dann **Bearbeiten** aus.

1. Wählen Sie **Umgebungsvariablen hinzufügen** aus. Geben Sie dann den angegebenen **Schlüssel** und **Wert ** für jede der folgenden Umgebungsvariablen ein:
   + **Schlüssel**: **DestinationBucket** **Wert**: **amzn-s3-demo-destination-bucket1** 

     Dieser Wert ist der S3 Bucket für Ausgabe-Mediendateien, die Sie in [Schritt 1](#batchops-s3-step1) erstellt haben.
   + **Schlüssel**: **MediaConvertRole** **Wert**: **arn:aws:iam::*111122223333*:role/tutorial-mediaconvert-role** 

     Dieser Wert ist der ARN der IAM-Rolle MediaConvert , für die Sie in [Schritt 2](#batchops-s3-step2) erstellt haben. Stellen Sie sicher, dass Sie diesen ARN durch den tatsächlichen ARN Ihrer IAM-Rolle ersetzen.
   + **Schlüssel**: **Application** **Wert**: **Batch-Transcoding** 

     Dieser Wert ist der Name der Anwendung.

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

1. (Optional) Wählen Sie im Tab **Konfiguration**im Abschnitt **Allgemeine Konfiguration** des linken Navigationsbereichs **Bearbeiten** aus. Geben Sie im **Timeout**-Feld **2** m **0** s ein. Wählen Sie dann **Save (Speichern)** aus.

   **Timeout** ist die Zeitspanne, die Lambda einer Funktion für einen Aufruf zulässt, bevor diese gestoppt wird. Der Standardwert ist 3 Sekunden. Die Preise basieren auf dem konfigurierten Arbeitsspeicher und der Zeit, für die der Code ausgeführt wird. Weitere Informationen finden Sie unter [AWS Lambda Preise](https://aws.amazon.com/lambda/pricing/?icmpid=docs_console_unmapped).

## Schritt 5: Konfigurieren des Amazon S3-Bestands für Ihren S3-Quell-Bucket
<a name="batchops-s3-step5"></a>

Nachdem Sie die Transcodierungs-Lambda-Funktion eingerichtet haben, erstellen Sie einen S3-Batchvorgangsauftrag, um eine Reihe von Videos zu transcodieren. Zuerst benötigen Sie eine Liste von Eingabe-Videoobjekten, für die S3-Batch-Vorgänge die angegebene Transcodierungsaktion ausführen soll. Um eine Liste von Eingabe-Videoobjekten abzurufen, können Sie einen S3-Inventarbericht für Ihren S3-Quell-Bucket erstellen (z. B. `amzn-s3-demo-source-bucket`). 

**Topics**
+ [

### Erstellen und Konfigurieren eines Buckets für S3-Inventarberichte für Eingabevideos
](#batchops-s3-step5-bucket)
+ [

### Konfigurieren des Amazon S3-Bestands für Ihren S3-Quell-Bucket
](#batchops-s3-step5-inventory)
+ [

### Überprüfen Sie den Lagerbestandsbericht für Ihren S3-Videoquellen-Bucket
](#batchops-s3-step5-manifest)

### Erstellen und Konfigurieren eines Buckets für S3-Inventarberichte für Eingabevideos
<a name="batchops-s3-step5-bucket"></a>

Um einen S3-Bestandslistenbericht zu speichern, der die Objekte des S3-Quell-Buckets auflistet, erstellen Sie einen S3-Inventarziel-Bucket und konfigurieren Sie dann eine Bucket-Richtlinie, damit der Bucket Inventardateien in den S3-Quell-Bucket schreibt.

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. Wählen Sie **Create Bucket** (Bucket erstellen) aus. 

1. Geben Sie im Feld **Bucket Name** einen Namen für Ihren Bucket ein (z. B. `amzn-s3-demo-destination-bucket2`). 

1. Wählen Sie für **AWS-Region**, AWS-Region wo sich der Bucket befinden soll. 

   Der Ziel-Bucket für das Inventar muss sich im selben Bucket befinden AWS-Region wie der Quell-Bucket, in dem Sie S3 Inventory einrichten. Der Bestands-Ziel-Bucket kann sich in einem anderem AWS-Konto befinden. 

1. Behalten Sie die **Einstellungen für öffentlichen Zugriff für diesen Bucket blockieren** auf die Standardeinstellungen gestellt (***Alle *öffentlichen Zugriffe blockieren** ist aktiviert). 

1. Lassen Sie die restlichen Einstellungen auf die Standardwerte eingestellt. 

1. Wählen Sie **Create Bucket** (Bucket erstellen) aus.

1. Wählen Sie in der Liste der **Buckets** den Namen des Buckets, den Sie gerade erstellt haben (z. B. `amzn-s3-demo-destination-bucket2`).

1. Um Amazon S3 die Berechtigung zu erteilen, Daten für die Bestandsberichte in den S3-Basisziel-Bucket zu schreiben, wählen Sie das Tab **Berechtigungen** aus.

1. Scrollen Sie nach unten zum Abschnitt **Bucket-Richtlinie** und wählen Sie **Bearbeiten** aus. Die Seite **Bucket-Richtlinie** wird geöffnet.

1. Um Berechtigungen für S3-Inventar zu erteilen, fügen Sie im Feld **Richtlinie** die folgende Bucket-Richtlinie ein.

   Ersetzen Sie die drei Beispielwerte durch die folgenden Werte: 
   + Der Name des Buckets, den Sie erstellt haben, um die Bestandsberichte zu speichern (z. B. `amzn-s3-demo-destination-bucket2`).
   + Der Name des Quell-Buckets, in dem die Eingabe-Videos gespeichert werden (z. B. `amzn-s3-demo-source-bucket`). 
   + Die AWS-Konto ID, mit der Sie den S3-Videoquellen-Bucket erstellt haben (z. `111122223333` B.

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement":[
       {
         "Sid":"InventoryAndAnalyticsExamplePolicy",
         "Effect":"Allow",
         "Principal": {"Service": "s3.amazonaws.com"},
         "Action":"s3:PutObject",
         "Resource":["arn:aws:s3:::amzn-s3-demo-destination-bucket2/*"],
         "Condition": {
             "ArnLike": {
                 "aws:SourceArn": "arn:aws:s3:::amzn-s3-demo-source-bucket"
              },
            "StringEquals": {
                "aws:SourceAccount": "111122223333",
                "s3:x-amz-acl": "bucket-owner-full-control"
             }
          }
       }
     ]
   }
   ```

------

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

### Konfigurieren des Amazon S3-Bestands für Ihren S3-Quell-Bucket
<a name="batchops-s3-step5-inventory"></a>

Sie müssen S3-Inventar für Ihren S3-Videoquellen-Bucket konfigurieren, um eine flache Dateiliste mit Videoobjekten und Metadaten zu generieren. Diese geplanten Bestandsberichte können alle Objekte im Bucket oder Objekte enthalten, die nach einem gemeinsamen Präfix gruppiert sind. In diesem Tutorial enthält der S3-Bestandsbericht alle Video-Objekte in Ihrem S3-Quell-Bucket.

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. Um einen S3-Inventarbericht der Eingabe-Videos in Ihrem S3-Quell-Bucket zu konfigurieren, wählen Sie in der Liste **Buckets** zum Beispiel den Namen des S3-Quell-Buckets aus (z. B. `amzn-s3-demo-source-bucket`).

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

1. Blättern Sie nach unten bis zur **Konfigurationen für Bestandserfassung** und wählen Sie **Erstellen der Bestandskonfiguration** aus. 

1. Geben Sie für **Name der Bestandserfassung** z. B. einen Namen ein (z. B. **tutorial-inventory-config**). 

1. Wählen Sie unter **Bestandserfassung** **Nur aktuelle Version** für **Objekt-Versionen** und lassen Sie andere Einstellungen der **Bestandserfassung** auf die Standardwerte für dieses Tutorial eingestellt. 

1. Wählen Sie im Abschnitt **Berichtsdetails** für **Ziel-Bucket** **Dieses Konto** aus. 

1. Wählen Sie für **Ziel** **S3 durchsuchen** und wählen Sie den Ziel-Bucket aus, den Sie bereits erstellt haben, um die Lagerbestandsberichte zu speichern (z. B .`amzn-s3-demo-destination-bucket2`). Wählen Sie dann **Pfad wählen** aus. 

   Der Ziel-Bucket für das Inventar muss sich im selben Bucket befinden AWS-Region wie der Quell-Bucket, in dem Sie S3 Inventory einrichten. Der Bestands-Ziel-Bucket kann sich in einem anderem AWS-Konto befinden. 

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

1. Wählen Sie für **Häufigkeit** **Täglich** aus.

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

1. Wählen Sie für **Status** die Option **Aktiviert**. 

1. Wählen Sie im Abschnitt **Serverseitige Verschlüsselung** **Deaktivieren** für dieses Tutorial. 

   Weitere Informationen erhalten Sie unter [Konfigurieren des Bestands mit der S3-Konsole](configure-inventory.md#configure-inventory-console) und [Erteilen der Berechtigung an Amazon S3 zur Verwendung Ihres vom Kunden verwalteten Schlüssels für die Verschlüsselung](configure-inventory.md#configure-inventory-kms-key-policy). 

1. Wählen Sie unter **Zusätzliche Felder – *optional*** **Größe**, **Letzte Änderung**, und **Speicherklasse** aus. 

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

Weitere Informationen finden Sie unter [Konfigurieren des Bestands mit der S3-Konsole](configure-inventory.md#configure-inventory-console).

### Überprüfen Sie den Lagerbestandsbericht für Ihren S3-Videoquellen-Bucket
<a name="batchops-s3-step5-manifest"></a>

Wenn ein Bestandsbericht veröffentlicht wird, werden die Manifestdateien an den S3-Bestands-Ziel-Bucket gesendet.

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. Wählen Sie in der Liste **Buckets** den Namen des Video-Quell-Buckets (z. B. `amzn-s3-demo-source-bucket`).

1. Wählen Sie **Management (Verwaltung)** aus.

1. Um zu sehen, ob Ihr S3-Bestandsbericht für das Erstellen eines S3-Batchvorgänge-Auftrags in [Schritt 7](#batchops-s3-step7) bereit ist, überprüfen Sie unter **Bestandskonfigurationen**, ob die Schaltfläche **Auftrag aus Manifest erstellen** aktiviert ist.
**Anmerkung**  
Es kann bis zu 48 Stunden dauern, bis der erste Bestandsbericht bereitgestellt wird. Wenn die Schaltfläche **Auftrag aus Manifest erstellen**deaktiviert ist, wurde der erste Bestandsbericht nicht zugestellt. Warten Sie, bis der erste Bestandsbericht zugestellt wurde und die Schaltfläche **Auftrag aus Manifest erstellen** aktiviert ist, bevor Sie einen S3-Batchvorgänge-Auftrag in [Schritt 7](#batchops-s3-step7) erstellen. 

1. Um einen S3-Bestandsbericht (`manifest.json`) in der die Spalte **Ziel** zu überprüfen, wählen Sie den Namen des Bestandsziels aus, den Sie bereits zum Speichern von Bestandsberichten erstellt haben (z. B. `amzn-s3-demo-destination-bucket2`).

1. Wählen Sie auf der Registerkarte **Objekte** den vorhandenen Ordner mit dem Namen Ihres S3-Quell-Buckets (z. B. `amzn-s3-demo-source-bucket`). Wählen Sie dann den Namen aus, den Sie in **Name der Bestandserfassung** eingegeben haben, als Sie die Inventarkonfiguration früher erstellt haben (z. B. **tutorial-inventory-config**).

   Sie können eine Liste von Ordnern mit den Generierungsdaten der Berichte als Namen sehen. 

1. Um den täglichen S3-Bestandsbericht an einem bestimmten Datum zu überprüfen, wählen Sie den Ordner mit dem entsprechenden Namen des Generierungsdatums aus und wählen Sie dann `manifest.json` aus. 

1. Um die Details des Bestandsberichts zu einem bestimmten Datum zu überprüfen, wählen Sie auf der Seite **manifest.json** **Herunterladen** oder **Öffnen** aus.

## Schritt 6: Erstellen einer IAM-Rolle für S3-Batchvorgänge
<a name="batchops-s3-step6"></a>

Um S3-Batchvorgänge für die Batch-Transcodierung verwenden zu können, müssen Sie zunächst eine IAM-Rolle erstellen, um Amazon S3 Berechtigungen zum Ausführen von S3-Batchvorgängen zu geben. 

**Topics**
+ [

### Erstellen einer IAM-Richtlinie für S3-Batchvorgänge
](#batchops-s3-step6-policy)
+ [

### Erstellen Sie eine S3-Batchvorgänge-IAM-Rolle und fügen Sie Berechtigungsrichtlinien an
](#batchops-s3-step6-role)

### Erstellen einer IAM-Richtlinie für S3-Batchvorgänge
<a name="batchops-s3-step6-policy"></a>

Sie müssen eine IAM-Richtlinie erstellen, die S3-Batchvorgängen die Berechtigung zum Lesen des Eingabemanifests, zum Aufrufen der Lambda-Funktion und zum Schreiben desAbschlussberichts des S3-Batchvorgänge-Auftrags erteilt. 

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

1. Wählen Sie im linken Navigationsbereich **Richtlinien** aus.

1. Wählen Sie **Richtlinie erstellen** aus.

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

1. Fügen Sie die folgende JSON-Richtlinie in das **JSON**-Textfeld ein.

   Ersetzen Sie in der JSON-Richtlinie die vier Beispielwerte durch die folgenden Werte:
   + Der Name des Quell-Buckets, in dem Ihre Eingabe-Videos gespeichert werden (z. B. `amzn-s3-demo-source-bucket`).
   + Der Name des Bestands-Ziel-Buckets, den Sie in [Schritt 5](#batchops-s3-step5) erstellt haben, um `manifest.json`-Dateien (z. B. `amzn-s3-demo-destination-bucket2`) zu speichern.
   + Der Name des Buckets, den Sie in [Schritt 1](#batchops-s3-step1) erstellt haben, um Ausgabe-Mediendateien zu speichern (z. B. `amzn-s3-demo-destination-bucket1`). In diesem Tutorial legen wir Auftragsvervollständigungsberichte in den Ziel-Bucket für Ausgabe-Mediendateien. 
   + Die Rollen-ARN der Lambda -Funktion, die Sie im Abschnitt[Schritt 4](#batchops-s3-step4) erstellt haben. Um die Rolle ARN der Lambda-Funktion zu finden und zu kopieren, gehen Sie wie folgt vor: 
     + Öffnen Sie in einem neuen Browser-Tab die Seite **Funktionen** der Lambda-Konsole bei [https://console.aws.amazon.com/lambda/home#/functions](https://console.aws.amazon.com/lambda/home#/functions).
     + Wählen Sie in der Liste **Funktionen** den Namen der Lambda-Funktion aus, die Sie in [Schritt 4](#batchops-s3-step4) (zum Beispiel **tutorial-lambda-convert**) erstellt haben.
     + Klicken Sie auf **Copy ARN** (ARN kopieren).

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "S3Get",
               "Effect": "Allow",
               "Action": [
                   "s3:GetObject",
                   "s3:GetObjectVersion"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-source-bucket/*",
                   "arn:aws:s3:::amzn-s3-demo-destination-bucket2/*"
               ]
           },
           {
               "Sid": "S3PutJobCompletionReport",
               "Effect": "Allow",
               "Action": "s3:PutObject",
               "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket1/*"
           },
           {
               "Sid": "S3BatchOperationsInvokeLambda",
               "Effect": "Allow",
               "Action": [
                   "lambda:InvokeFunction"
               ],
               "Resource": [
                   "arn:aws:lambda:us-west-2:111122223333:function:tutorial-lambda-convert"
               ]
           }
       ]
   }
   ```

------

1. Wählen Sie **Next: Tags** (Weiter: Tags) aus.

1. Klicken Sie auf **Weiter: Prüfen**.

1. Geben Sie im Feld **Name** **tutorial-s3batch-policy** ein.

1. Wählen Sie **Richtlinie erstellen** aus.

### Erstellen Sie eine S3-Batchvorgänge-IAM-Rolle und fügen Sie Berechtigungsrichtlinien an
<a name="batchops-s3-step6-role"></a>

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

1. Wählen Sie im linken Navigationsbereich **Roles (Rollen)** und dann **Create Role (Rolle erstellen)** aus.

1. Wählen Sie den **AWS-Service**-Rollentyp und danach den Service **S3** aus.

1. Wählen Sie unter **Ihren Anwendungsfall auswählen** **S3-Batch-Vorgänge**.

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

1. Geben Sie unter **Berechtigungen zuweisen**den Namen der IAM-Richtlinie, die Sie zuvor erstellt haben (z. B. **tutorial-s3batch-policy**), in das Suchfeld ein, um die Liste der Richtlinien zu filtern. Aktivieren Sie das Kontrollkästchen neben dem Namen der Richtlinie (z. B. **tutorial-s3batch-policy**). 

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

1. Geben Sie für **Role name (Rollenname)** den Namen **tutorial-s3batch-role** ein.

1. Wählen Sie **Create role** (Rolle erstellen) aus.

   Nachdem Sie die IAM-Rolle für S3-Batchvorgänge erstellt haben, wird die folgende Vertrauensrichtlinie automatisch an die Rolle angefügt. Diese Vertrauensrichtlinie ermöglicht dem S3-Batchoperationen-Service-Prinzipal, die IAM-Rolle zu übernehmen.

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

****  

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

------

## Schritt 7: Einrichten und Ausführen eines Auftrags für S3-Batchvorgänge
<a name="batchops-s3-step7"></a>

Um einen S3-Batchvorgänge-Auftrag zu erstellen, um die Eingabevideos in Ihrem S3-Quell-Bucket zu verarbeiten, müssen Sie Parameter für diesen bestimmten Auftrag angeben.

**Anmerkung**  
Um mit der Erstellung eines S3-Batchvorgänge-Auftrags zu beginnen, stellen Sie sicher, dass die Schaltfläche **Auftrag aus Manifest erstellen** aktiviert ist. Weitere Informationen finden Sie unter [Überprüfen Sie den Lagerbestandsbericht für Ihren S3-Videoquellen-Bucket](#batchops-s3-step5-manifest). Wenn die Schaltfläche **Auftrag aus Manifest erstellen** deaktiviert ist, wurde der erste Inventarbericht nicht übermittelt und Sie müssen warten, bis die Schaltfläche aktiviert ist. Nachdem Sie Amazon S3-Bestand für Ihren S3-Quell-Bucket in [Schritt 5](#batchops-s3-step5) konfiguriert haben, kann es bis zu 48 Stunden dauern, bis der erste Bestandsbericht übermittelt wird.

**Topics**
+ [

### Erstellen eines S3-Batchvorgangsauftrags
](#batchops-s3-step7-create-job)
+ [

### Führen Sie den S3-Batchvorgänge-Auftrag aus, um Ihre Lambda-Funktion aufzurufen.
](#batchops-s3-step7-run-job)
+ [

### (Optional) Prüfen Sie Ihren Abschlussbericht
](#batchops-s3-step7-check-report)
+ [

### (Optional) Überwachen Sie jeden Lambda-Aufruf in der Lambda-Konsole
](#batchops-s3-step7-monitor-lambda)
+ [

### (Optional) Überwachen Sie jeden MediaConvert Video-Transcodierungsauftrag in der Konsole MediaConvert
](#batchops-s3-step7-monitor-mediaconvert)

### Erstellen eines S3-Batchvorgangsauftrags
<a name="batchops-s3-step7-create-job"></a>

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. Klicken Sie im linken Navigationsbereich auf **Batchvorgänge**.

1. Wählen Sie **Job erstellen** aus.

1. Wählen Sie für **AWS-Region** die Region aus, in der Sie Ihren Auftrag erstellen möchten.

   In diesem Tutorial müssen Sie den S3-Batchvorgänge-Auftrag zum Aufrufen einer Lambda-Funktion in derselben Region wie den S3-Videoquellen-Bucket erstellen, in dem sich die im Manifest referenzierten Objekte befinden.

1. Gehen Sie im Abschnitt **Manifest** wie folgt vor:

   1. Wählen Sie für **Manifestformat** **S3-Inventory-Bericht (manifest.json)** aus.

   1. Wählen Sie für **Manifest-Objekt** **S3 durchsuchen**, um den Bucket zu finden, den Sie in [Schritt 5](#batchops-s3-step5) zum Speichern von Bestandsberichten (z. B. `amzn-s3-demo-destination-bucket2`) erstellt haben. Navigieren Sie auf der Seite **Manifest-Objekt** durch die Objektnamen, bis Sie eine `manifest.json`-Datei für ein bestimmtes Datum finden. Diese Datei listet die Informationen zu allen Videos auf, die Sie Batch-Transcodieren möchten. Wenn Sie die `manifest.json`-Datei gefunden haben, die Sie verwenden möchten, wählen Sie die Optionsschaltfläche daneben. Wählen Sie dann **Pfad wählen** aus.

   1. (Optional) Geben Sie für **Versions-ID des Manifestobjekts – *optional*** die Versions-ID des Manifestobjekts ein, wenn Sie eine andere Version als die aktuelle verwenden möchten.

1. Wählen Sie **Next** (Weiter).

1. Um die Lambda-Funktion zum Transcodieren aller Objekte zu verwenden, die in der ausgewählten `manifest.json`-Datei aufgelistet sind, wählen Sie unter **Vorgangstyp** ** AWS Lambda -Funktion aufrufen** aus.

1. Führen Sie im Abschnitt **Aufrufen einer Lambda-Funktion** Folgendes aus:

   1. Klicken Sie auf **Wählen Sie aus den Funktionen Ihres Kontos aus**.

   1. Wählen Sie für **Lambda-Funktion** die Lambda-Funktion aus, die Sie in [Schritt 4](#batchops-s3-step4) (zum Beispiel **tutorial-lambda-convert**) erstellt haben.

   1. Behalten Sie für **Version der Lambda-Funktion** den Standardwert **\$1LATEST** bei.

1. Wählen Sie **Weiter** aus. Die Seite **Konfigurieren zusätzlicher Optionen** wird geöffnet.

1. Behalten Sie im Abschnitt **Zusätzliche Optionen** die Standardeinstellungen bei.

   Weitere Informationen zu diesen Optionen finden Sie unter [Batch-Vorgangsauftrag-Anforderungselemente](batch-ops-create-job.md#batch-ops-create-job-request-elements).

1. Wählen Sie im Abschnitt **Abschlussbericht** für **Pfad zum Ziel des Abschlussberichts** **S3 durchsuchen** aus. Finden Sie den Bucket, den Sie in [Schritt 1](#batchops-s3-step1) für die Ausgabe-Mediendateien erstellte haben (z. B. `amzn-s3-demo-destination-bucket1`). Wählen Sie das Optionsfeld neben dem Namen dieses Buckets aus. Wählen Sie dann **Pfad wählen** aus.

   Lassen Sie die restlichen Einstellungen des **Abschlussberichts** auf die Standardwerte eingestellt. Weitere Informationen zu den Einstellungen des Fertigstellungsberichts finden Sie unter [Batch-Vorgangsauftrag-Anforderungselemente](batch-ops-create-job.md#batch-ops-create-job-request-elements). Ein Abschlussbericht führt eine Aufzeichnung der Details des Auftrags und der ausgeführten Vorgänge.

1. Wählen Sie im Abschnitt **Berechtigungen** **Wählen Sie aus vorhandenen IAM-Rollen** aus. Wählen Sie für **IAM-Rolle** die IAM-Rolle für Ihren S3-Batch-Vorgänge-Auftrag aus, den Sie im Abschnitt [Schritt 6](#batchops-s3-step6) (z. B. **tutorial-s3batch-role**) erstellt haben.

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

1. Überprüfen Sie die Einstellungen auf der Seite **Review**. Wählen Sie dann **Auftrag erstellen** aus.

   Nachdem S3 das Manifest Ihres S3-Batchvorgänge-Auftrags gelesen hat, wechselt es den Auftrag in den **Zustand** **Awaiting your confirmation to run (Wartet auf Ihre Bestätigung zur Ausführung)**. Um Aktualisierungen des Auftragsstatus anzuzeigen, aktualisieren Sie die Seite. Sie können Ihren Job erst ausführen, wenn der Status lautet **Wartet auf Ihre Bestätigung zur Ausführung**.

### Führen Sie den S3-Batchvorgänge-Auftrag aus, um Ihre Lambda-Funktion aufzurufen.
<a name="batchops-s3-step7-run-job"></a>

Führen Sie Ihren Batchvorgänge-Auftrag aus, um Ihre Lambda-Funktion für die Videotranscodierung aufzurufen. Wenn Ihr Auftrag fehlschlägt, können Sie den Abschlussbericht überprüfen, um die Ursache zu ermitteln.

**So führen Sie den S3-Batchvorgänge-Auftrag aus**

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. Klicken Sie im linken Navigationsbereich auf **Batchvorgänge**.

1. Wählen Sie aus der Liste **Aufträge** die **Auftrags-ID** des Auftrags in der ersten Zeile aus, bei der es sich um den vorher erstellten S3-Batchvorgänge-Auftrag handelt.

1. Wählen Sie **Auftrag ausführen** aus. 

1. Überprüfen Sie die Auftrags-Parameter erneut, und bestätigen Sie, dass der Wert für **Insgesamt im Manifest aufgelistete Objekte** mit der Anzahl der Objekte im Manifest identisch ist. Wählen Sie dann **Auftrag ausführen**.

   Ihre Seite des S3-Batchvorgänge-Auftrags wird geöffnet.

1. Nachdem der Auftrag gestartet wurde, kontrollieren Sie unter **Status** den Fortschritt Ihres S3-Batchvorgänge-Auftrags, wie z. B. **Status**, **% abgeschlossen**, **Gesamt erfolgreich (Rate)**, **Gesamt fehlgeschlagen (Rate)**, **Beendigungsdatum**, und **Grund für die Beendigung**.

   Wenn der S3-Batchvorgänge-Auftrag abgeschlossen ist, zeigen Sie die Daten auf Ihrer Auftragsseite an, um zu bestätigen, dass der Auftrag wie erwartet abgeschlossen wurde. 

   Wenn mehr als 50 Prozent der Objektvorgänge eines S3-Batchvorgänge-Auftrags fehlschlagen, nachdem mehr als 1000 Vorgänge versucht wurden, schlägt der Auftrag automatisch fehl. Um Ihren Abschlussbericht zu überprüfen, um die Ursache der Fehler zu ermitteln, verwenden Sie das folgenden optionale Verfahren.

### (Optional) Prüfen Sie Ihren Abschlussbericht
<a name="batchops-s3-step7-check-report"></a>

Sie können Ihren Abschlussbericht verwenden, um festzustellen, welche Objekte fehlgeschlagen sind und welche Ursache der Fehler sind.

**Um Ihren Abschlussbericht auf Details zu fehlgeschlagenen Objekten zu überprüfen:**

1. Blättern Sie auf der Seite Ihres S3-Batchvorgänge-Auftrags zum Abschnitt **Abschlussbericht** und wählen Sie den Link unter **Ziel des Abschlussberichts** aus.

   Die Seite des S3-Ausgabe-Ziel-Buckets wird geöffnet.

1. Wählen Sie auf der Registerkarte **Objekte** auf den Ordner, dessen Name mit der Auftrags-ID des vorher erstellten S3-Batchvorgänge-Auftrags endet.

1. Klicken Sie auf **Ergebnis/se**.

1. Aktivieren Sie das Kontrollkästchen neben der `.csv`-Datei.

1. Wählen Sie **Öffnen** oder **Herunterladen**, um den Auftragsbericht anzuzeigen.

### (Optional) Überwachen Sie jeden Lambda-Aufruf in der Lambda-Konsole
<a name="batchops-s3-step7-monitor-lambda"></a>

Nachdem der S3-Batchvorgänge-Auftrag gestartet wurde, ruft der Auftrag, die Lambda-Funktion für jedes Eingabe-Video-Objekt auf. S3 schreibt Protokolle jedes Lambda-Aufrufs in Logs. CloudWatch Sie können das Monitoring-Dashboard der Lambda-Konsole verwenden, um Ihre Lambda-Funktion zu überwachen. 

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

1. Wählen Sie im linken Navigationsbereich die Option **Functions** (Funktionen) aus.

1. Wählen Sie in der Liste **Funktionen** den Namen der Lambda-Funktion aus, die Sie in [Schritt 4](#batchops-s3-step4) (zum Beispiel **tutorial-lambda-convert**) erstellt haben.

1. Wählen Sie den Tab **Überwachung**.

1. Finden Sie unter **Metriken** die Laufzeitmetriken für Ihre Lambda-Funktion.

1. Sehen Sie sich unter **Logs** die Protokolldaten für jeden Lambda-Aufruf über CloudWatch Logs Insights an.
**Anmerkung**  
Wenn Sie S3-Batch-Vorgänge mit einer Lambda-Funktion verwenden, wird die Lambda-Funktion für jedes Objekt aufgerufen. Wenn Ihr S3-Batchvorgänge-Auftrag groß ist, kann er mehrere Lambda-Funktionen gleichzeitig aufrufen, was zu einer Spitze der Lambda-Gleichzeitigkeit führt.   
Jedes AWS-Konto hat eine Lambda-Parallelitätsquote pro Region. Weitere Informationen finden Sie unter [Funktionsskalierung AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/invocation-scaling.html) im *AWS Lambda -Entwicklerhandbuch*. Eine bewährte Methode für die Verwendung von Lambda-Funktionen mit S3-Batchvorgängen besteht darin, eine Gleichzeitigkeitsgrenze für die Lambda-Funktion selbst festzulegen. Ein Parallelitäts-Limit aufzustellen verhindert, dass Ihr Auftrag den größten Teil Ihrer Lambda-Parallelität verbraucht und möglicherweise andere Funktionen in Ihrem Konto drosselt. Weitere Informationen finden Sie unter [Verwalten reservierter Parallelität von Lambda](https://docs.aws.amazon.com/lambda/latest/dg/configuration-concurrency.html) im *AWS Lambda -Entwicklerhandbuch*.

### (Optional) Überwachen Sie jeden MediaConvert Video-Transcodierungsauftrag in der Konsole MediaConvert
<a name="batchops-s3-step7-monitor-mediaconvert"></a>

Ein MediaConvert Job erledigt die Transcodierung einer Mediendatei. Wenn Ihr S3 Batch Operations-Job Ihre Lambda-Funktion für jedes Video aufruft, erstellt jeder Lambda-Funktionsaufruf einen MediaConvert Transcodierungsauftrag für jedes Eingabevideo. 

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

1. Wenn die MediaConvert Einführungsseite angezeigt wird, wählen Sie **Erste Schritte**.

1. Zeige Sie aus der Liste **Aufträge** jede Zeile an, um die Transcodierungsaufgabe für jedes Eingabe-Video zu überwachen. 

1. Geben Sie die Zeile eines Auftrags an, den Sie überprüfen möchten, und wählen Sie den **Auftrags-ID**-Link, um die Seite Auftrags-Details zu öffnen.

1. Wählen Sie auf der Seite mit der **Jobübersicht** unter **Outputs** den Link für die HLS- MP4, oder Thumbnails-Ausgabe aus, je nachdem, was von Ihrem Browser unterstützt wird, um zum S3-Ziel-Bucket für die Ausgabemediendateien zu gelangen.

1. Wählen Sie im entsprechenden Ordner (HLS oder Thumbnails) Ihres S3-Ausgabeziel-Buckets den Namen des Objekts der Ausgabemediendatei aus. MP4

   Die Detailseite des Objekts wird geöffnet.

1. Klicken Sie auf der Detailseite des Objekts unter **Objekt-Übersicht** auf den Link unter **Objekt-URL**, um die transcodierte Ausgabe-Mediendatei anzusehen.

## Schritt 8: Überprüfen Sie die Ausgabe-Mediendateien aus Ihrem S3-Ziel-Bucket
<a name="batchops-s3-step8"></a>

**So überprüfen Sie die Ausgabe-Mediendateien aus Ihrem S3-Ziel-Bucket**

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. Wählen Sie aus der Liste **Buckets** den Namen des S3-Ziel-Buckets für Ausgabe-Mediendateien aus, die Sie im Abschnitt [Schritt 1](#batchops-s3-step1) (zum Beispiel `amzn-s3-demo-destination-bucket1`) erstellt haben.

1. Im Tab **Objekte** enthält jedes Eingabe-Video einen Ordner mit dem Namen des Eingabe-Videos. Jeder Ordner enthält die transcodierten Ausgabe-Mediendateien für ein Eingabe-Video.

   Gehen Sie wie folgt vor, um die Ausgabe-Mediendateien für ein Eingabe-Video zu überprüfen:

   1. Wählen Sie den Ordner mit dem Namen des Eingabe-Videos, das Sie überprüfen möchten.

   1. Wählen Sie den Ordner **Standard/** aus.

   1. Wählen Sie den Ordner für ein transkodiertes Format (HLS MP4, oder Miniaturansichten in diesem Tutorial). 

   1. Wählen Sie den Namen der Ausgabemediendatei aus.

   1. Um die transcodierte Datei anzusehen, wählen Sie auf der Detailseite des Objekts den Link unter der **Objekt-URL** aus. 

      Ausgabemediendateien im HLS-Format werden in kurze Segmente aufgeteilt. Um diese Videos abzuspielen, betten Sie die Objekt-URL der `.m3u8`-Datei in einem kompatiblen Player ein.

## Schritt 9: Bereinigen
<a name="batchops-s3-step9"></a>

Wenn Sie Videos mit S3 Batch Operations, Lambda und MediaConvert nur zu Lernzwecken transkodiert haben, löschen Sie die AWS Ressourcen, die Sie zugewiesen haben, sodass keine Gebühren mehr anfallen. 

**Topics**
+ [

### Löschen der S3-Bestandskonfiguration für Ihren S3-Quell-Bucket
](#batchops-s3-step9-delete-inventory)
+ [

### Löschen Sie die Lambda-Funktion
](#batchops-s3-step9-delete-lambda)
+ [

### Löschen Sie die CloudWatch Protokollgruppe
](#batchops-s3-step9-delete-cw)
+ [

### Löschen Sie die IAM-Rollen zusammen mit den Inline-Richtlinien für die IAM-Rollen
](#batchops-s3-step9-delete-role)
+ [

### Löschen Sie die kundenverwaltete IAM-Richtlinie
](#batchops-s3-step9-delete-policy)
+ [

### Leeren Sie die S3-Buckets
](#batchops-s3-step9-empty-bucket)
+ [

### Löschen der S3-Buckets
](#batchops-s3-step9-delete-bucket)

### Löschen der S3-Bestandskonfiguration für Ihren S3-Quell-Bucket
<a name="batchops-s3-step9-delete-inventory"></a>

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. Wählen Sie in der Liste **Buckets** den Namen Ihres Quell-Buckets (z. B. `amzn-s3-demo-source-bucket`).

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

1. Wählen Sie im Abschnitt **Bestandskonfigurationen** die Optionsschaltfläche neben der Bestandskonfiguration aus, die Sie in [Schritt 5](#batchops-s3-step5) (zum Beispiel **tutorial-inventory-config**) erstellt haben.

1. Wählen Sie **Löschen** und dann **Bestätigen** aus.

### Löschen Sie die Lambda-Funktion
<a name="batchops-s3-step9-delete-lambda"></a>

1. 

   Öffnen Sie die AWS Lambda Konsole unter [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Wählen Sie im linken Navigationsbereich die Option **Functions** (Funktionen) aus.

1. Aktivieren Sie das Kontrollkästchen neben der Funktion, die Sie im Abschnitt [Schritt 4](#batchops-s3-step4) (zum Beispiel **tutorial-lambda-convert**) erstellt haben.

1. Wählen Sie **Aktionen** und anschließend **Löschen** aus.

1. Wählen Sie im Bestätigungsdialogfeld **Delete** (Löschen) die Option **Delete** (Löschen) aus.

### Löschen Sie die CloudWatch Protokollgruppe
<a name="batchops-s3-step9-delete-cw"></a>

1. Öffnen Sie die CloudWatch Konsole unter [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Wählen Sie im linken Navigationsbereich **Protokolle** und dann **Protokollgruppen** aus.

1. Aktivieren Sie das Kontrollkästchen neben der Protokollgruppe, deren Name mit der Lambda-Funktion endet, die Sie im Abschnitt [Schritt 4](#batchops-s3-step4) (zum Beispiel **tutorial-lambda-convert**) erstellt haben.

1. Wählen Sie **Actions (Aktionen)** und dann **Delete log group(s)** (Protokollgruppe(n) löschen) aus.

1. Wählen Sie im Dialogfeld **Delete log group(s)** (Protokollgruppe(n) löschen) die Option **Delete** (Löschen) aus.

### Löschen Sie die IAM-Rollen zusammen mit den Inline-Richtlinien für die IAM-Rollen
<a name="batchops-s3-step9-delete-role"></a>

Um die IAM-Rollen zu löschen, die Sie in [Schritt 2](#batchops-s3-step2), [Schritt 3](#batchops-s3-step3), und [Schritt 6](#batchops-s3-step6) erstellt haben, tun Sie Folgendes: 

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

1. Wählen Sie im linken Navigationsbereich **Roles (Rollen)**, und aktivieren Sie dann die Kontrollkästchen neben den Rollennamen, die Sie löschen möchten.

1. Wählen Sie oben auf der Seite **Delete** (Löschen) aus.

1. Geben Sie in das Bestätigungsfeld die erforderliche Antwort basierend auf der Eingabeaufforderung in das Texteingabefeld ein, und wählen Sie dann **Löschen** aus. 

### Löschen Sie die kundenverwaltete IAM-Richtlinie
<a name="batchops-s3-step9-delete-policy"></a>

Um die vom Kunden verwaltete IAM-Richtlinie zu löschen, die Sie in [Schritt 6](#batchops-s3-step6) erstellt haben, tun Sie Folgendes:

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

1. Wählen Sie im linken Navigationsbereich **Richtlinien** aus.

1. Wählen Sie das Optionsfeld neben der Richtlinie aus, die Sie in [Schritt 6](#batchops-s3-step6) (zum Beispiel **tutorial-s3batch-policy**) erstellt haben. Sie können über das Suchfeld die Liste der Richtlinien filtern.

1. Wählen Sie **Aktionen** und anschließend **Löschen**. 

1. Bestätigen Sie, dass Sie diese Richtlinie löschen möchten, indem Sie den Namen in das angezeigte Textfeld eingeben und dann **Delete (Löschen)** wählen. 

### Leeren Sie die S3-Buckets
<a name="batchops-s3-step9-empty-bucket"></a>

Um die S3-Buckets zu leeren, die Sie in [Voraussetzungen](#batchops-s3-prerequisites), [Schritt 1](#batchops-s3-step1) und [Schritt 5](#batchops-s3-step5) erstellt haben, tun Sie Folgendes: 

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. Wählen Sie in der Liste **Buckets** das Optionsfeld neben dem Namen des Buckets aus, den Sie leeren möchten. Wählen Sie anschließend **Empty (Leeren)** aus.

1. Bestätigen Sie auf der Seite **Empty bucket (Bucket leeren)**, dass Sie den Bucket leeren möchten, indem Sie **permanently delete** in das Textfeld eingeben und dann **Empty (Leeren)** auswählen.

### Löschen der S3-Buckets
<a name="batchops-s3-step9-delete-bucket"></a>

Um die S3-Buckets zu löschen, die Sie in [Voraussetzungen](#batchops-s3-prerequisites), [Schritt 1](#batchops-s3-step1) und [Schritt 5](#batchops-s3-step5) erstellt haben, tun Sie Folgendes: 

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. Wählen Sie in der Liste **Buckets** das Optionsfeld neben dem Namen des Buckets aus, den Sie löschen möchten.

1. Wählen Sie **Löschen** aus.

1. Bestätigen Sie auf der Seite **Delete bucket** (Bucket löschen), dass Sie den Bucket löschen möchten. Geben Sie dazu den Bucket-Namen in das Textfeld ein und wählen Sie **Delete bucket** (Bucket löschen).

## Nächste Schritte
<a name="batchops-s3-next-steps"></a>

Nachdem Sie dieses Tutorial abgeschlossen haben, können Sie weitere relevante Anwendungsfälle untersuchen:
+ Sie können Amazon verwenden CloudFront , um die transkodierten Mediendateien an Zuschauer auf der ganzen Welt zu streamen. Weitere Informationen finden Sie unter [Tutorial: Hosten von On-Demand-Streaming-Videos mit Amazon S3 CloudFront, Amazon und Amazon Route 53](tutorial-s3-cloudfront-route53-video-streaming.md).
+ Sie können Videos in dem Moment transcodieren, indem Sie sie in den S3-Quell-Bucket hochladen. Dazu können Sie einen Amazon S3 S3-Event-Trigger konfigurieren, der automatisch die Lambda-Funktion aufruft, mit der neue Objekte in S3 transkodiert werden. MediaConvert Weitere Informationen finden Sie unter [Tutorial: Verwenden eines Amazon S3-Auslösers zum Aufrufen einer Lambda-Funktion](https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html) im *AWS Lambda -Entwicklerhandbuch*. 

# Fehlerbehebung bei S3-Batch-Operationen
<a name="troubleshooting-batch-operations"></a>

Mit Amazon S3 Batch Operations können Sie umfangreiche Operationen an Amazon S3-Objekten durchführen. Dieser Leitfaden hilft Ihnen bei der Behebung häufiger Probleme, die auftreten können.

Informationen zur Behebung von Problemen mit S3 Batch Replication finden Sie unter [Fehlerbehebung bei einer Replikation](replication-troubleshoot.md).

Es gibt zwei Haupttypen von Fehlern, die zu Fehlern im Batch-Betrieb führen:

1. **API-Fehler** – Die angeforderte API (z. B.`CreateJob`) konnte nicht ausgeführt werden.

1. **Auftragsfehler** – Die erste API-Anfrage war erfolgreich, aber der Job schlug fehl, z. B. aufgrund von Problemen mit dem Manifest oder den Berechtigungen für Objekte, die im Manifest angegeben sind.

## NoSuchJobException
<a name="nosuchjobexception"></a>

**Typ: API-Fehler**

Die Meldung `NoSuchJobException` tritt auf, wenn S3 Batch Operations den angegebenen Auftrag nicht finden kann. Dieser Fehler kann in verschiedenen Szenarien auftreten, die über den einfachen Ablauf eines Auftrags hinausgehen. Zu den häufigsten Ursachen gehören folgende.

1. **Ablauf** eines Jobs – Jobs werden 90 Tage nach Erreichen eines Endstatus (`Complete`, `Cancelled` oder`Failed`) automatisch gelöscht.

1. **Falsche Job-ID** – Die in der Job-ID verwendete Job-ID `DescribeJob` oder stimmt `UpdateJobStatus` nicht mit der von `CreateJob` zurückgegebenen ID überein.

1. **Falsche Region** – Es wird versucht, auf einen Job zuzugreifen, der sich in einer anderen Region befindet als der, in der er erstellt wurde.

1. **Falsches Konto** — Es wird eine Job-ID von einem anderen Konto verwendet. AWS 

1. **Formatfehler bei der Job-ID** – Tippfehler, zusätzliche Zeichen oder falsche Formatierung in der Job-ID.

1. **Zeitliche Probleme** – Der Jobstatus wird unmittelbar nach der Erstellung überprüft, bevor der Job vollständig registriert ist.

Zu den damit verbundenen Fehlermeldungen gehören die folgenden.

1. `No such job`

1. `The specified job does not exist`

### Bewährte Verfahren zur Vermeidung von `NoSuchJobException` API-Fehlern
<a name="nosuchjobexception-prevention"></a>

1. **Job IDs sofort speichern** — Speichern Sie die Job-ID aus der `CreateJob` Antwort, bevor Sie nachfolgende API-Aufrufe durchführen.

1. **Implementieren Sie die Wiederholungslogik** – Fügen Sie exponentiellen Backoff hinzu, wenn Sie den Jobstatus unmittelbar nach der Erstellung überprüfen.

1. **Überwachung einrichten** — Erstellen Sie CloudWatch Alarme, um den Abschluss des Auftrags vor Ablauf der 90 Tage nachzuverfolgen. Einzelheiten finden Sie unter [Verwenden von CloudWatch Alarmen](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) im CloudWatch Amazon-Benutzerhandbuch.

1. **Verwenden Sie einheitliche Regionen** – Stellen Sie sicher, dass für alle Auftragsvorgänge dieselbe Region für die Auftragserstellung verwendet wird.

1. **Eingabe validieren** – Überprüfen Sie das Format der Job-ID, bevor Sie API-Aufrufe tätigen.

### Wenn Aufträge auslaufen
<a name="nosuchjobexception-jobs-expire"></a>

Aufträge im Terminal-Status werden nach 90 Tagen automatisch gelöscht. Um den Verlust von Stelleninformationen zu vermeiden, sollten Sie Folgendes beachten.

1. **Abschlussberichte vor Ablauf herunterladen** – Anweisungen zum Abrufen und Speichern von Auftragsergebnissen finden Sie unter [ Abschlussberichte  Wenn Sie einen Auftrag erstellen, können Sie einen Abschlussbericht anfordern. Solange S3 Batch Operations mindestens eine Aufgabe erfolgreich aufruft, generiert Amazon S3 einen Abschlussbericht, wenn die Ausführung von Aufträgen abgeschlossen wurde, fehlgeschlagen ist oder abgebrochen wurde. Sie können den Abschlussbericht so konfigurieren, dass er alle oder nur fehlgeschlagene Aufgaben enthält.  Der Abschlussbericht umfasst neben der Auftragskonfiguration und dem Auftragsstatus auch Informationen zu jeder Aufgabe, darunter zu Objektschlüssel und -version, Status, Fehlercodes und Beschreibungen von Fehlern. Abschlussberichte bieten eine einfache Möglichkeit, die Ergebnisse von Aufgaben in einem konsolidierten Format ohne zusätzliche Einrichtung anzuzeigen. Abschlussberichte werden mit serverseitiger Verschlüsselung mit von Amazon S3 verwalteten Schlüsseln (SSE-S3) verschlüsselt. Ein Beispiel für einen Abschlussbericht finden Sie unter [Beispiele: Abschlussberichte zu S3-BatchVorgänge](batch-ops-examples-reports.md).  Wenn Sie keinen Abschlussbericht konfigurieren, können Sie Ihren Job und seine Aufgaben trotzdem mithilfe von Amazon überwachen CloudTrail und prüfen CloudWatch. Weitere Informationen finden Sie unter den folgenden Themen: ](batch-ops-job-status.md#batch-ops-completion-report.title).

1. **Archivieren Sie Auftragsmetadaten in Ihren eigenen Systemen** – Speichern Sie wichtige Auftragsinformationen in Ihren Datenbanken oder Überwachungssystemen.

1. **Automatische Benachrichtigungen vor Ablauf der Frist von 90 Tagen einrichten** — Verwenden Sie Amazon EventBridge , um Regeln zu erstellen, die Benachrichtigungen auslösen, wenn Jobs abgeschlossen sind. Weitere Informationen finden Sie unter [Amazon-S3-Ereignisbenachrichtigungen](EventNotifications.md).

### Fehlerbehebung für `NoSuchJobException`
<a name="nosuchjobexception-troubleshooting"></a>

1. Verwenden Sie den folgenden Befehl, um zu überprüfen, ob der Auftrag in Ihrem Konto und Ihrer Region existiert.

   ```
   aws s3control list-jobs --account-id 111122223333 --region us-east-1
   ```

1. Verwenden Sie den folgenden Befehl, um alle Jobstatus zu durchsuchen. Mögliche Jobstatus sind `Active`, `Cancelled`, `Cancelling`, `Complete`, `Completing`, `Failed`, `Failing`, `New`, `Paused`, `Pausing`, `Preparing`, `Ready` und `Suspended`.

   ```
   aws s3control list-jobs --account-id 111122223333 --job-statuses your-job-status
   ```

1. Verwenden Sie den folgenden Befehl, um zu prüfen, ob der Auftrag in anderen Regionen existiert, in denen Sie üblicherweise Aufträge erstellen.

   ```
   aws s3control list-jobs --account-id 111122223333 --region job-region-1 aws s3control list-jobs --account-id 111122223333 --region job-region-2                    
   ```

1. Überprüfen Sie das Format der Auftragskennung. Job enthalten IDs in der Regel 36 Zeichen, wie `12345678-1234-1234-1234-123456789012` z. Überprüfen Sie auf zusätzliche Umgebungen, fehlende Zeichen oder Probleme mit der Groß- und Kleinschreibung und stellen Sie sicher, dass Sie die vollständige Auftragskennung verwenden, die vom Befehl `CreateJob` zurückgegeben wird.

1. Verwenden Sie den folgenden Befehl, um die CloudTrail Protokolle auf Ereignisse bei der Auftragserstellung zu überprüfen.

   ```
       aws logs filter-log-events --log-group-name CloudTrail/S3BatchOperations \ --filter-pattern "{ $.eventName = CreateJob }" \ --start-time timestamp                    
   ```

### AccessDeniedException
<a name="accessdeniedexception"></a>

**Typ: API-Fehler**

Diese `AccessDeniedException` tritt auf, wenn eine S3 Batch Operations-Anforderung aufgrund unzureichender Berechtigungen, nicht unterstützter Vorgänge oder Richtlinieneinschränkungen blockiert wird. Dies ist einer der häufigsten Fehler bei Batch-Operationen. Es hat die folgenden geläufigen Ursachen:

1. **Fehlende IAM-Berechtigungen** — Der IAM-Identität fehlen die erforderlichen Berechtigungen für Batch-Operationen. APIs

1. **Unzureichende S3-Berechtigungen** – Fehlende Berechtigungen für den Zugriff auf Quell- oder Ziel-Buckets und Objekte.

1. **Probleme mit der Jobausführungsrolle** – Der Jobausführungsrolle fehlen die Berechtigungen zur Ausführung des angegebenen Vorgangs.

1. **Nicht unterstützte Operationen** – Es wird versucht, Operationen zu verwenden, die in der aktuellen Region oder dem aktuellen Bucket-Typ nicht unterstützt werden.

1. **Probleme beim kontoübergreifenden Zugriff** – Fehlende Berechtigungen für den kontoübergreifenden Bucket- oder Objektzugriff.

1. **Ressourcenbasierte Richtlinieneinschränkungen** — Bucket-Richtlinien oder Objekte ACLs , die den Vorgang blockieren.

1. **Einschränkungen durch die Service-Kontrollrichtlinie (SCP)** – Richtlinien auf Organisationsebene, die den Vorgang verhindern.

Verwandte Fehlermeldungen:

1. `Access Denied`

1. `User: arn:aws:iam::account:user/username is not authorized to perform: s3:operation`

1. `Cross-account pass role is not allowed`

1. `The bucket policy does not allow the specified operation`

#### Bewährte Methoden zur Vermeidung von API-Ausfällen AccessDeniedException
<a name="accessdeniedexception-prevention"></a>

1. **Verwenden Sie das Prinzip der geringsten Berechtigung** – Gewähren Sie nur die Mindestberechtigungen, die für Ihre spezifischen Operationen erforderlich sind.

1. **Berechtigungen vor großen Aufträgen testen** – Führen Sie kleine Testaufträge aus, um Berechtigungen zu validieren, bevor Sie Tausende von Objekten verarbeiten.

1. **Verwenden Sie den IAM-Richtliniensimulator** – Testen Sie Richtlinien vor der Bereitstellung mit dem IAM-Richtliniensimulator. Weitere Informationen finden Sie unter [Testen von IAM-Richtlinien mit dem IAM-Richtliniensimulator](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_testing-policies.html) im IAM-Benutzerhandbuch.

1. **Richten Sie die richtige kontenübergreifende Einrichtung ein** – Überprüfen Sie Ihre Konfiguration für den kontoübergreifenden Zugriff auf kontoübergreifende Jobkonfigurationen. Weitere Informationen finden Sie im [IAM-Tutorial: Delegieren des AWS kontenübergreifenden Zugriffs mithilfe von IAM-Rollen im IAM-Benutzerhandbuch](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_cross-account-with-roles.html).

1. **Berechtigungsänderungen überwachen** — Richten Sie CloudTrail Warnmeldungen für IAM-Richtlinienänderungen ein, die sich auf Batch-Operationen auswirken könnten.

1. **Rollenanforderungen dokumentieren** – Sorgen Sie für eine klare Dokumentation der erforderlichen Berechtigungen für jeden Jobtyp.

1. **Verwenden Sie gängige Berechtigungsvorlagen** — Verwenden Sie die Beispiele für Berechtigungen und Richtlinienvorlagen:

   1. [Gewähren von Berechtigungen für Batchoperationen](batch-ops-iam-role-policies.md)

   1. [Kontoübergreifende Ressourcen in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) im IAM-Benutzerhandbuch.

   1. [Steuern Sie den Zugriff auf VPC-Endpunkte mithilfe der Endpunktrichtlinien](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html) im AWS PrivateLink Handbuch.

#### AccessDeniedException Problembehebung
<a name="accessdeniedexception-troubleshooting"></a>

Befolgen Sie diese Schritte systematisch, um Probleme mit Berechtigungen zu erkennen und zu lösen.

1. Prüfen Sie [Von S3 Batch Operations unterstützte Vorgänge](batch-ops-operations.md) für unterstützte Operationen nach Region. Bestätigen Sie, dass Verzeichnis-Buckets nur an regionalen und zonalen Endpunkten verfügbar sind. Überprüfen Sie, ob der Vorgang für die Speicherklasse Ihres Buckets unterstützt wird.

1. Verwenden Sie den folgenden Befehl, um festzustellen, ob Sie Aufträge auflisten können.

   ```
    aws s3control list-jobs --account-id 111122223333
   ```

1. Verwenden Sie den folgenden Befehl, um die IAM-Berechtigungen für die anfordernde Identität zu überprüfen. Das Konto, das den Job ausführt, benötigt die folgenden Berechtigungen: `s3:CreateJob` `s3:DescribeJob``s3:ListJobs`,`s3:UpdateJobPriority`,`s3:UpdateJobStatus`, und`iam:PassRole`.

   ```
   aws sts get-caller-identity 111122223333
   ```

1. Verwenden Sie den folgenden Befehl, um zu prüfen, ob die Rolle existiert und übernommen werden kann.

   ```
   aws iam get-role --role-name role-name
   ```

1. Verwenden Sie den folgenden Befehl, um die Vertrauensrichtlinie der Rolle zu überprüfen. Die Person, die die Stelle ausübt, muss über die folgenden Eigenschaften verfügen:

   1. Eine Vertrauensbeziehung, die es `batchoperations.s3.amazonaws.com` ermöglicht, die Rolle zu übernehmen.

   1. Die Operationen, die der Batch-Vorgang ausführt (z. B. `s3:PutObjectTagging` bei Tagging-Vorgängen).

   1. Zugriff auf die Quell- und Ziel-Buckets.

   1. Berechtigung zum Lesen der Manifest-Datei.

   1. Berechtigung, Abschlussberichte zu schreiben.

   ```
   aws iam get-role --role-name role-name --query 'Role.AssumeRolePolicyDocument'
   ```

1. Verwenden Sie den folgenden Befehl, um den Zugriff auf das Manifest und die Quell-Buckets zu testen.

   ```
   aws s3 ls s3://amzn-s3-demo-bucket                        
   ```

1. Testen Sie den Vorgang, der von der Stapelverarbeitung durchgeführt wird. Wenn der Stapelvorgang beispielsweise eine Markierung vornimmt, markieren Sie ein Musterobjekt im Quell-Bucket.

1. Suchen Sie in den Bucket-Richtlinien nach Richtlinien, die den Vorgang möglicherweise verweigern.

   1. Überprüfen Sie das Objekt ACLs , wenn Sie mit älteren Zugriffskontrollen arbeiten.

   1. Stellen Sie sicher, dass keine Service Control-Richtlinien (SCPs) den Vorgang blockieren.

   1.  Bestätigen Sie, dass VPC-Endpunktrichtlinien Batch-Operationen zulassen, wenn Sie VPC-Endpunkte verwenden.

1. Verwenden Sie den folgenden Befehl, um Berechtigungsfehler CloudTrail zu identifizieren.

   ```
   aws logs filter-log-events --log-group-name CloudTrail/S3BatchOperations \
       --filter-pattern "{ $.errorCode = AccessDenied }" \
       --start-time timestamp
   ```

#### SlowDownError
<a name="slowdownerror"></a>

**Typ: API-Fehler**

Die `SlowDownError` Ausnahme tritt auf, wenn Ihr Konto das Limit für die Anforderungsrate für S3 Batch Operations überschritten hat APIs. Dies ist ein Mechanismus zur Drosselung, um den Dienst vor einer Überlastung durch zu viele Anfragen zu schützen. Es hat die folgenden geläufigen Ursachen:

1. **Hohe API-Anforderungshäufigkeit** – Zu viele API-Aufrufe in einem kurzen Zeitraum.

1. **Gleichzeitige Auftragsvorgänge** — Mehrere Anwendungen oder creating/managing Benutzeraufträge gleichzeitig.

1. **Automatisierte Skripts ohne Ratenbegrenzung** – Skripte, die keine geeigneten Backoff-Strategien implementieren.

1. **Zu häufiges Abfragen des Jobstatus** – Der Jobstatus wird häufiger als nötig überprüft.

1. **Burst-Traffic-Muster** – Plötzliche Spitzenwerte bei der API-Nutzung zu Spitzenzeiten.

1. **Regionale Kapazitätsgrenzen** – Überschreitung der zugewiesenen Anforderungskapazität für Ihre Region.

Verwandte Fehlermeldungen:

1. `SlowDown`

1. `Please reduce your request rate`

1. `Request rate exceeded`

#### Bewährte Methoden zur Vermeidung von SlowDownError API-Ausfällen
<a name="slowdownerror-prevention"></a>

1. **Implementieren Sie eine clientseitige Ratenbegrenzung** – Fügen Sie Verzögerungen zwischen API-Aufrufen in Ihren Anwendungen hinzu.

1. **Verwenden Sie exponentielles Backoff mit Jitter** – Ordnen Sie Wiederholungsverzögerungen nach dem Zufallsprinzip an, um donnernde Herdenprobleme zu vermeiden.

1. **Richten Sie die richtige Wiederholungslogik ein** – Implementieren Sie automatische Wiederholungsversuche mit zunehmender Verzögerung bei vorübergehenden Fehlern.

1. **Verwenden Sie ereignisgesteuerte Architekturen** — Ersetzen Sie Abfragen durch EventBridge Benachrichtigungen bei Änderungen des Jobstatus.

1. **Verteilung der Arbeitslast über einen bestimmten Zeitraum** – Gestaffeln Sie die Auftragserstellung und die Statusprüfungen auf verschiedene Zeiträume.

1. **Überwachung von Ratenlimits und Warnmeldungen** — Richten Sie CloudWatch Alarme ein, um zu erkennen, wenn Sie sich den Grenzwerten nähern.

Die meisten AWS SDKs verfügen über eine integrierte Wiederholungslogik für Fehler bei der Ratenbegrenzung. Konfigurieren Sie sie wie folgt:

1. **AWS CLI** – Verwendung von `cli-read-timeout` und `cli-connect-timeout` Parametern.

1. **AWS SDK for Python (Boto3)** — Konfigurieren Sie Wiederholungsmodi und maximale Versuche in Ihrer Client-Konfiguration.

1. **AWS SDK for Java** — Verwendung `RetryPolicy` und `ClientConfiguration` Einstellungen.

1. **AWS SDK für JavaScript** — Konfiguration `maxRetries` und`retryDelayOptions`.

Weitere Informationen zu Wiederholungsmustern und bewährten Methoden finden Sie unter [Wiederholungsversuch mit Backoff-Muster](https://docs.aws.amazon.com/prescriptive-guidance/latest/cloud-design-patterns/retry-backoff.html) im Leitfaden Prescriptive Guidance. AWS 

#### SlowDownError Problembehandlung
<a name="slowdownerror-troubleshooting"></a>

1. Implementieren Sie in Ihrem Code sofort exponentielles Backoff.  
**Example des exponentiellen Backoffs in der Bash**  

   ```
   for attempt in {1..5}; do
       if aws s3control describe-job --account-id 111122223333 --job-id job-id; then 
           break
       else 
           wait_time=$((2**attempt)) echo "Rate limited, waiting ${wait_time} seconds..." sleep $wait_time
           fi
   done
   ```

1. Wird verwendet CloudTrail , um die Quelle des hohen Anforderungsvolumens zu identifizieren.

   ```
   aws logs filter-log-events \
       --log-group-name CloudTrail/S3BatchOperations \
       --filter-pattern "{ $.eventName = CreateJob || $.eventName = DescribeJob }" \
       --start-time timestamp \
       --query 'events[*].[eventTime,sourceIPAddress,userIdentity.type,eventName]'
   ```

1. Überprüfung der Abfragefrequenz.

   1. Prüfen Sie den Auftragsstatus aktiver Aufträge nicht öfter als alle 30 Sekunden.

   1. Verwenden Sie, wenn möglich, Benachrichtigungen über den Abschluss eines Auftrags anstelle von Abfragen.

   1. Implementieren Sie Jitter in Ihre Polling-Intervalle, um synchronisierte Anfragen zu vermeiden.

1. Optimieren Sie Ihre API-Nutzungsmuster.

   1. Stapeln Sie mehrere Vorgänge, wenn möglich.

   1. Verwenden Sie `ListJobs`, um den Status von mehreren Aufträgen in einem Aufruf zu erhalten.

   1. Zwischenspeichern von Auftragsinformationen, um überflüssige API-Aufrufe zu vermeiden.

   1. Verteilen Sie die Schaffung von Arbeitsplätzen über einen längeren Zeitraum, anstatt viele Arbeitsplätze gleichzeitig zu schaffen.

1. Verwenden Sie CloudWatch Metriken für API-Aufrufe, um Ihre Anforderungsmuster zu überwachen.

   ```
      aws logs put-metric-filter \
          --log-group-name CloudTrail/S3BatchOperations \
          --filter-name S3BatchOpsAPICallCount \      
          --filter-pattern "{ $.eventSource = s3.amazonaws.com && $.eventName = CreateJob }" \
          --metric-transformations \        
          metricName=S3BatchOpsAPICalls,metricNamespace=Custom/S3BatchOps,metricValue=1
   ```

## InvalidManifestContent
<a name="invalidmanifestcontent"></a>

**Type**: Job failure

Die Ausnahme `InvalidManifestContent` tritt auf, wenn es Probleme mit dem Format, dem Inhalt oder der Struktur der Manifestdatei gibt, die verhindern, dass S3 Batch Operations den Auftrag verarbeitet. Es hat die folgenden geläufigen Ursachen:

1. **Formatverletzungen** – Fehlende erforderliche Spalten, falsche Trennzeichen oder fehlerhafte CSV-Struktur.

1. **Probleme mit der Inhaltskodierung** – Falsche Zeichenkodierung, STL-Markierungen oder Nicht-UTF-8-Zeichen.

1. **Probleme mit Objektschlüsseln** – Ungültige Zeichen, falsche URL-Kodierung oder Schlüssel, die Längenbeschränkungen überschreiten.

1. **Größenbeschränkungen** – Das Manifest enthält mehr Objekte, als der Vorgang unterstützt.

1. **Formatfehler bei der Versions-ID — Fehlerhafte** oder ungültige Version IDs für versionierte Objekte.

1. **ETag Formatprobleme** — Falsches ETag Format oder fehlende Anführungszeichen für Operationen, die Folgendes erfordern. ETags

1. **Inkonsistente Daten** – Gemischte Formate innerhalb desselben Manifests oder inkonsistente Spaltenanzahl.

Verwandte Fehlermeldungen:

1. `Required fields are missing in the schema: + missingFields`

1. `Invalid Manifest Content`

1. `The S3 Batch Operations job failed because it contains more keys than the maximum allowed in a single job`

1. `Invalid object key format`

1. `Manifest file is not properly formatted`

1. `Invalid version ID format`

1. `ETag format is invalid`

### Bewährte Methoden zur Vermeidung von InvalidManifestContent Auftragsausfällen
<a name="invalidmanifestcontent-prevention"></a>

1. **Vor dem Upload überprüfen** – Testen Sie das Manifestformat mit kleinen Aufträgen, bevor Sie große Datensätze verarbeiten.

1. **Konsistente Kodierung verwenden** – Verwenden Sie für Manifestdateien immer die UTF-8-Kodierung ohne BOM.

1. **Implementieren Sie Standards für die Manifestgenerierung** – Erstellen Sie Vorlagen und Validierungsverfahren für die Manifesterstellung.

1. **Sonderzeichen richtig handhaben** – Objekt-Schlüssel, die Sonderzeichen haben, mit URL-Kodierung versehen.

1. **Objektanzahl überwachen** – Verfolgen Sie die Größe des Manifests und teilen Sie große Jobs proaktiv auf.

1. **Existenz von Objekten überprüfen** – Stellen Sie sicher, dass Objekte existieren, bevor Sie sie in Manifeste aufnehmen.

1. **Verwenden Sie AWS Tools für die Manifestgenerierung** — Nutzen Sie AWS CLI `s3api list-objects-v2` diese Möglichkeit, um ordnungsgemäß formatierte Objektlisten zu generieren.

Häufige Probleme mit Manifesten und Lösungen:

1. **Fehlende erforderliche Spalten** – Stellen Sie sicher, dass Ihr Manifest alle erforderlichen Spalten für Ihren Operationstyp enthält. Die am häufigsten fehlenden Spalten sind Bucket und Key.

1. **Falsches CSV-Format** – Verwenden Sie Kommatrennzeichen, sorgen Sie für eine einheitliche Spaltenanzahl in allen Zeilen und vermeiden Sie eingebettete Zeilenumbrüche innerhalb von Feldern.

1. **Sonderzeichen in Objektschlüsseln** – URL-kodieren Objektschlüssel, die Leerzeichen, Unicode-Zeichen oder XML-Sonderzeichen (<, >, &, „, ') enthalten.

1. **Große Manifestdateien** – Teilen Sie Manifeste mit mehr als dem Operationslimit in mehrere kleinere Manifeste auf und erstellen Sie separate Jobs.

1. **Ungültige Version IDs** — Stellen Sie sicher, dass IDs es sich bei der Version um richtig formatierte alphanumerische Zeichenfolgen handelt. Entfernen Sie die Versions-ID-Spalte, wenn sie nicht benötigt wird.

1. **Probleme mit der Kodierung** – Speichern Sie Manifestdateien als UTF-8 ohne BOM. Vermeiden Sie das Kopieren von Manifesten über Systeme, die die Kodierung verändern könnten.

Ausführliche Angaben zum Format des Manifests und Beispiele finden Sie im Folgenden:

1. [Angeben eines Manifests](batch-ops-create-job.md#specify-batchjob-manifest)

1. [Von S3 Batch Operations unterstützte Vorgänge](batch-ops-operations.md)

1. [Markieren von Amazon-S3-Objekten](object-keys.md)

### InvalidManifestContent Problembehandlung
<a name="invalidmanifestcontent-troubleshooting"></a>

1. Laden Sie die Manifest-Datei herunter und prüfen Sie sie. Überprüfen Sie manuell, ob das Manifest den Formatanforderungen entspricht:

   1. CSV-Format mit Komma-Begrenzungszeichen.

   1. UTF-8-Kodierung ohne BOM.

   1. Konsistente Anzahl von Spalten in allen Zeilen.

   1. Keine Leerzeilen oder nachgestellte Umgebungen.

   1. Objektschlüssel werden korrekt URL-kodiert, wenn sie Sonderzeichen enthalten.

   Verwenden Sie den folgenden Befehl, um die Manifest-Datei herunterzuladen.

   ```
   aws s3 cp s3://amzn-s3-demo-bucket1/manifest-key ./manifest.csv 
   ```

1. Überprüfen Sie die für Ihr Vorhaben erforderlichen Spalten:

   1. Alle Vorgänge: `Bucket`, `Key`

   1. Kopiervorgänge: `VersionId` (fakultativ)

   1. Wiederherstellungsvorgänge: `VersionId` (fakultativ)

   1. Ersetzen von Tag-Operationen: Keine zusätzlichen Spalten erforderlich.

   1. Ersetzen Sie ACL-Operationen: Keine zusätzlichen Spalten erforderlich.

   1. Wiederherstellung einleiten: `VersionId` (optional)

1. Prüfen Sie die Grenzen der Objektanzahl:

   1. Kopieren: Maximal 1 Milliarde Objekte.

   1. Löschen: Maximal 1 Milliarde Objekte.

   1. Wiederherstellen: Maximal 1 Milliarde Objekte.

   1. Kennzeichnung: maximal 1 Milliarde Objekte.

   1. ACL: maximal 1 Milliarde Objekte.

1. Erstellen Sie ein Testmanifest mit einigen Objekten aus Ihrem ursprünglichen Manifest.

1. Verwenden Sie den folgenden Befehl, um zu überprüfen, ob eine Stichprobe von Objekten aus dem Manifest vorhanden ist.

   ```
   aws s3 ls s3://amzn-s3-demo-bucket1/object-key
   ```

1. Überprüfen Sie die Details des Auftragsfehlers und sehen Sie sich die Fehlerursache und alle spezifischen Fehlerdetails in der Auftragsbeschreibung an.

   ```
   aws s3control describe-job --account-id 111122223333 --job-id job-id                        
   ```