Erstellen eines S3-Batch-Vorgangsauftrags
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. Sie finden dort auch Anweisungen zum Erstellen eines Batch-Operations-Auftrags mit der Amazon-S3-Konsole, AWS Command Line Interface (AWS CLI) und AWS SDK für Java.
Wenn Sie einen S3-Batchvorgangs-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 Operations einen Bericht für abgeschlossene, fehlgeschlagene oder abgebrochene Aufträge. Weitere Informationen finden Sie unter Beispiele: Abschlussberichte zu S3-BatchVorgänge.
Das folgende Video zeigt eine kurze Demonstration, wie ein Batch-Operations-Auftrag mit der Amazon-S3-Konsole erstellt wird .
Themen
Batch-Vorgangsauftrag-Anforderungselemente
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 einen Vorgang im Stapelverfahren durchführen, mit denselben Ergebnissen wie bei der Durchführung für jedes Objekt einzeln.
- 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 Stapelreplikationsaufträge verfügbar, die Sie in der Amazon-S3-Konsole erstellen, oder für jeden Auftragstyp, den Sie mithilfe der AWS CLI, der AWS-SDKs oder der Amazon-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.
Anmerkung
-
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.
-
Wenn sich die Objekte in Ihrem Manifest in einem versionsgesteuerten Bucket befinden, müssen Sie die Versions-IDs für die Objekte angeben, um den Vorgang für eine bestimmte Version auszuführen. Batch Operations führt den Vorgang für die neueste Version durch, wenn keine Versions-ID angegeben ist. 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.
-
- 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. Sie können beispielsweise allen Wiederherstellungsaufträgen (
RestoreObject) eine Priorität von 1, allen Kopieraufträgen (CopyObject) eine Priorität von 2 und allen Zugriffssteuerungslisten (ACLs) (PutObjectAcl) eine Priorität von 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
-
Sie müssen eine AWS Identity and Access Management (IAM) Rolle angeben, um den Auftrag auszuführen. Die verwendete IAM-Rolle muss über ausreichende Berechtigungen verfügen, um die im Auftrag festgelegte Operation durchzuführen. Um z. B. einen
CopyObject-Auftrag auszuführen, benötigt die IAM-Rolle dies3:GetObject-Berechtigung für den Quell-Bucket und dies3:PutObject-Berechtigung für den Ziel-Bucket. Die Rolle muss auch die Berechtigung haben, das Manifest zu lesen und den Abschlussbericht zu schreiben.Weitere Informationen zu IAM-Rollen finden Sie unter IAM-Rollen im IAM-Benutzerhandbuch.
Weitere Informationen zu Amazon-S3-Berechtigungen finden Sie unter Richtlinienaktionen für Amazon S3.
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.
- 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.
-
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.ExpectedBucketOwnerangegeben wird, muss der Eigentümer des Buckets für den Abschlussbericht übereinstimmen. Wenn sie nicht übereinstimmt, schlägt der Auftrag fehl.Anmerkung
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.
- 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
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 Stapelreplikationsaufträge verfügbar, die Sie in der Amazon-S3-Konsole erstellen, oder für jeden Auftragstyp, den Sie mithilfe der AWS CLI, der AWS-SDKs oder der Amazon-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.
Automatische Generierung einer Objektliste und Speicherung als Manifest-Datei
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 Stapelreplikationsaufträge verfügbar, die Sie in der Amazon-S3-Konsole erstellen, oder für jeden Auftragstyp, den Sie mithilfe der AWS CLI, der AWS-SDKs oder der Amazon-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
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 JobManifestGeneratorFilter 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 MatchAnySuffix angegebenen Zeichenfolgeneinschränkungen entsprechen.
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 vorkommt.
MatchAnySzffix – Falls angegeben, enthält das generierte Manifest Objekte, wenn die angegebene Zeichenfolge am Ende der Objektschlüsselzeichenfolge vorkommt.
- 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.
- 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.
Erstellen einer Manifestdatei
Um ein Manifest manuell zu erstellen, geben Sie den Objektschlüssel des Manifests, das ETag (Entity-Tag) und die optionale Versions-ID in einer CSV-formatierten Liste 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 (SSE-KMS) AWS KMS-Schlüsseln (SSE-KMS) verwenden, werden nur unterstützt, wenn Sie Bestandsberichte im CSV-Format verwenden. Die Verwendung eines manuell erstellten Manifests mit AWS KMS wird nicht unterstützt.
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 versionsgesteuerten Bucket befinden, müssen Sie die Versions-IDs für die Objekte angeben, um den Vorgang für eine bestimmte Version auszuführen. Batch Operations führt den Vorgang für die neueste Version durch, wenn keine Versions-ID angegeben ist. 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 Beispiel für ein Manifest im CSV-Format ohne Versions-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
Im Folgenden finden Sie ein Beispiel für ein Manifest im CSV-Format mit Versions-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
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. Enthält der Bestandsbericht Versions-IDs, führt S3-Batch-Vorgänge die Aktionen auf den spezifischen Objektversionen aus.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 dasmanifest.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 Versions-IDs für alle Objekte enthalten oder auslassen. Weitere Informationen über das CSV-Manifest-Format finden Sie unter JobManifestSpec 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 versionsgesteuerten Bucket verwenden, wird empfohlen, die Versions-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 verhindern, besteht darin, eine Versions-ID für die im Manifest enthaltenen Objekte anzugeben.
Erstellen eines-Auftrags
Sie können Aufträge für S3 Batch Operations mithilfe der Amazon-S3-Konsole, AWS CLI-, AWS-SDKs oder der Amazon-S3-REST-API erstellen.
Weitere Informationen zum Erstellen einer Auftragsanfrage finden Sie unter Batch-Vorgangsauftrag-Anforderungselemente.
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.
So erstellen Sie einen Batch Operations-Auftrag über die S3-Konsole
Melden Sie sich bei der AWS-Managementkonsole an und öffnen Sie die Amazon-S3-Konsole unter https://console.aws.amazon.com/s3/
. -
Klicken Sie im linken Navigationsbereich der Amazon-S3-Konsole auf Batch Operations.
-
Wählen Sie Job erstellen aus.
-
Wählen Sie unter Region und Bereich wählen die AWS-Region aus, in der Sie Ihren Auftrag erstellen möchten.
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.
-
Geben Sie unter Umfangdie Liste der Objekte an, auf die Ihr Stapelverarbeitungsauftrag wirken soll.
Unter Objektlistekönnen Sie wählen, ob Sie ein Manifest anhand einer Objektliste, ein Manifest anhand einer Replikationskonfiguration oder ein vorhandenes Manifest verwenden möchten.
-
Wenn Sie Generate an object listwä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
Hinweis: Um eine Objektliste zu erstellen, müssen Sie das Recht
s3:PutInventoryConfigurationhaben. Der Quell-Bucket muss ein Allzweck-Bucket sein. -
Wenn Sie Ein vorhandenes Manifest verwendenwä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 Replikationskonfigurationwä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.
-
-
Wählen Sie für Quellkontodas Konto, das Eigentümer der Quellobjekte ist.
-
Geben Sie unter Quelleden Pfad zu Ihrer Quelle ein, zum Beispiel
s3://amzn-s3-demo-bucket. -
Unter Objektfilterkö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.
-
Wählen Sie unter Vorgang wählendie 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 Operationen der AWS Lambda-Funktion copy oder invoke. Alle anderen Operationen werden nicht unterstützt.
Nachdem Sie Ihre Vorgangsart ausgewählt haben, wählen Sie Weiter.
Geben Sie die Informationen für Configure additional options (Zusätzliche Optionen konfigurieren) ein und wählen Sie anschließend Next (Weiter) aus.
Überprüfen Sie die Einstellungen unter Review (Überprüfen). Wenn Sie Änderungen vornehmen müssen, wählen Sie Vorheriges, andernfalls können Sie Auftrag erstellenwählen.
Um Ihren Batch-Operations-Auftrag mit der AWS CLI zu erstellen, wählen Sie eines der folgenden Beispiele aus, je nachdem, ob Sie ein vorhandenes Manifest angeben oder ein Manifest automatisch generieren.
Bei der Erstellung Ihres Batch Operations-Auftrags mit dem AWS SDK für Java 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 des Manifests, das ETag und die Formatangaben angeben. -
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 das Erstellen von S3 Batch Operations-Aufträgen mit dem AWS SDK für Java finden Sie unter Erstellen eines Batch-Auftrags zum Kopieren von Objekten in der Amazon S3 API-Referenz.
Sie können die REST-API verwenden, um einen Batchvorgangsauftrag zu erstellen. Weitere Informationen finden Sie unter CreateJob in der API-Referenz zu Amazon Simple Storage Service.
Auftragsantworten
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 Auftrag über die AWS CLI, AWS-SDKs oder die REST-API erstellen, können Sie S3 Batch Operations so einrichten, dass es automatisch mit der Verarbeitung der Aufträge 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 Auftrag den Status „Ausgesetzt“ mehr als 30 Tage behält, schlägt er fehl.