Verfolgen von Auftragsstatus- und Abschluss - Amazon Simple Storage Service

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.

Verfolgen von Auftragsstatus- und Abschluss

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

Auftragsstatus

Nachdem Sie einen Auftrag erstellt und ausgeführt haben, durchläuft dieser eine Reihe von Status. In der folgenden Tabelle werden der Status und die möglichen Ü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 wirdActive, 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.
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. Failed ist ein Beendigungsstatus. Nachdem ein Auftrag den Status Failed erreicht hat, geht er in keinen anderen Status über.

Auftragsstatus wird aktualisiert

Im Folgenden AWS CLI und in den AWS SDK for 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.

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

Im folgenden Beispiel wird der Status eines S3-Batch-Operations-Auftrags unter Verwendung von AWS SDK for Java aktualisiert.

Weitere Informationen zum Auftragsstatus finden Sie unter Verfolgen von Auftragsstatus- und Abschluss.

package aws.example.s3control; import com.amazonaws.AmazonServiceException; import com.amazonaws.SdkClientException; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.services.s3control.AWSS3Control; import com.amazonaws.services.s3control.AWSS3ControlClient; import com.amazonaws.services.s3control.model.UpdateJobStatusRequest; import static com.amazonaws.regions.Regions.US_WEST_2; public class UpdateJobStatus { public static void main(String[] args) { String accountId = "Account ID"; String jobId = "00e123a4-c0d8-41f4-a0eb-b46f9ba5b07c"; try { AWSS3Control s3ControlClient = AWSS3ControlClient.builder() .withCredentials(new ProfileCredentialsProvider()) .withRegion(US_WEST_2) .build(); s3ControlClient.updateJobStatus(new UpdateJobStatusRequest() .withAccountId(accountId) .withJobId(jobId) .withRequestedJobStatus("Ready")); } catch (AmazonServiceException e) { // The call was transmitted successfully, but Amazon S3 couldn't process // it and returned an error response. e.printStackTrace(); } catch (SdkClientException e) { // Amazon S3 couldn't be contacted for a response, or the client // couldn't parse the response from Amazon S3. e.printStackTrace(); } } }

Benachrichtigungen und Protokollierung

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. 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) im AWS CloudTrail -Benutzerhandbuch.

Weitere Informationen über Amazon-S3-Ereignisse finden Sie unter Amazon-S3-Ereignisbenachrichtigungen.

Nachverfolgen von Auftragsfehlern

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

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.

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: