Abrufen von Replikationsstatusinformationen - 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.

Abrufen von Replikationsstatusinformationen

Der Replikationsstatus hilft Ihnen, den aktuellen Status eines derzeit replizierten Objekts zu bestimmen. Der Replikationsstatus eines Quellobjekts gibt entweder PENDING, COMPLETED oder FAILED zurück. Der Replikationsstatus eines Replikats gibt REPLICA zurück.

Übersicht über den Replikationsstatus

Bei der Replikation haben Sie einen Quell-Bucket, auf dem Sie die Replikation und das Ziel konfigurieren, an dem Amazon S3 Objekte repliziert. Wenn Sie ein Objekt (mit GET Objekt) oder Objektmetadaten (mit HEAD Objekt) von diesen Buckets anfordern, gibt Amazon S3 den Header x-amz-replication-status wie folgt in der Antwort zurück:

  • Wenn Sie ein Objekt aus dem Quell-Bucket anfordern, gibt Amazon S3 den Header x-amz-replication-status zurück, wenn das Objekt in der Anforderung für die Replikation geeignet ist.

    Nehmen wir beispielsweise an, dass Sie in Ihrer Replikationskonfiguration das Objektpräfix TaxDocs angeben, um Amazon S3 anzuweisen, nur Objekte mit dem Schlüsselnamenpräfix TaxDocs zu replizieren. Alle Objekte mit diesem Schlüsselnamenpräfix, die Sie hochladen, z. B. TaxDocs/document1.pdf, werden repliziert. Für Objektanforderungen mit diesem Schlüsselnamenpräfix gibt Amazon S3 den Header x-amz-replication-status mit einem der folgenden Werte für den Replikationsstatus des Objekts zurück: PENDING, COMPLETED oder FAILED.

    Anmerkung

    Wenn nach dem Hochladen eines Objekts die Objektreplikation fehlschlägt, können Sie die fehlgeschlagene Replikation nicht erneut durchzuführen versuchen. Sie müssen das Objekt erneut hochladen. Bei Problemen wie fehlenden Replikationsrollen-Berechtigungen, AWS KMS -Berechtigungen oder Bucket-Berechtigungen gehen Objekte in den Status FAILED über. Bei temporären Fehlern, z. B. wenn ein Bucket oder eine Region nicht verfügbar ist, geht der Replikationsstatus nicht in FAILED über, sondern verbleibt bei PENDING. Wenn die Ressource wieder online ist, setzt S3 die Replikation dieser Objekte fort.

  • Wenn Sie ein Objekt aus einem Ziel-Bucket anfordern und es sich bei dem Objekt Ihrer Anforderung um ein Replikat handelt, das Amazon S3 erstellt hat, gibt Amazon S3 den Header x-amz-replication-status mit dem Wert REPLICA zurück.

Anmerkung

Bevor Sie ein Objekt aus einem Quell-Bucket löschen, bei dem die Replikation aktiviert ist, sollten Sie den Replikationsstatus des Objekts überprüfen, um sicherzustellen, dass das Objekt repliziert wurde.

Wenn die Lebenszykluskonfiguration auf dem Quell-Bucket aktiviert ist, setzt Amazon S3 alle Lebenszyklusaktionen aus, bis der Status des Objekts als COMPLETED oder FAILED gekennzeichnet wird.

Replikationsstatus bei einer Replikation auf mehrere Ziel-Buckets

Wenn Sie Objekte in mehrere Ziel-Buckets replizieren, verhält sich der Header x-amz-replication-status anders. Der Header des Quellobjekts gibt den Wert COMPLETED nur zurück, wenn die Replikation in alle Ziele erfolgreich ist. Der Header bleibt auf dem Wert PENDING, bis die Replikation für alle Ziele abgeschlossen ist. Wenn die Replikation bei einem oder mehreren Zielen fehlschlägt, liefert der Header FAILED.

Replikationsstatus, wenn die Synchronisierung von Amazon-S3-Replikatänderungen aktiviert ist

Wenn in Ihren Replikationsregeln die Synchronisierung von Amazon-S3-Replikatänderungen aktiviert ist, können Replikate einen anderen Status als REPLICA melden. Wenn Änderungen an Metadaten gerade repliziert werden, gibt der x-amz-replication-status-Header den Wert PENDING zurück. Wenn die Synchronisierung der Replikatänderung Metadaten nicht repliziert, gibt der Header FAILED zurück. Wenn Metadaten korrekt repliziert werden, geben die Replikate den Header REPLICA zurück.

Finden des Replikationsstatus

Verwenden Sie das Amazon-S3-Inventory-Tool, um den Replikationsstatus der Objekte in einem Bucket abzurufen. Amazon S3 sendet eine CSV-Datei an den Ziel-Bucket, den Sie in der Bestands-Konfiguration angeben. Sie können auch Amazon Athena verwenden, um den Replikationsstatus im Bestandsbericht abzufragen. Weitere Informationen zu Amazon S3 Inventory finden Sie unter Amazon S3 Inventory.

Sie können den Replikationsstatus des Objekts auch mithilfe der Konsole, der AWS Command Line Interface (AWS CLI) oder des AWS SDK ermitteln.

In der S3-Konsole können Sie den Replikationsstatus für ein Objekt auf der Objektseite Details unter Objektverwaltungsübersichtanzeigen.

  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amazon S3-Konsole unter https://console.aws.amazon.com/s3/.

  2. Wählen Sie in der Liste Buckets den Namen des Buckets aus.

  3. Wählen Sie in der Liste Objekte den Objektnamen aus.

  4. Auf der Registerkarte Properties (Eigenschaften) unter Object management overview (Objektverwaltungsübersicht) sehen Sie den Replication status (Replikationsstatus).

Verwenden Sie den Befehl head-object, um Objektmetadaten abzurufen.

aws s3api head-object --bucket source-bucket --key object-key --version-id object-version-id

Der Befehl gibt Informationen zu Objektmetadaten, einschließlich des ReplicationStatus, zurück, wie in der folgenden Beispielantwort dargestellt:

{ "AcceptRanges":"bytes", "ContentType":"image/jpeg", "LastModified":"Mon, 23 Mar 2015 21:02:29 GMT", "ContentLength":3191, "ReplicationStatus":"COMPLETED", "VersionId":"jfnW.HIMOfYiD_9rGbSkmroXsFj3fqZ.", "ETag":"\"6805f2cfc46c0f04559748bb039d69ae\"", "Metadata":{ } }

Die folgenden Codefragmente erhalten den Replikationsstatus mit bzw. AWS SDK for Java AWS SDK for .NET.

Java
GetObjectMetadataRequest metadataRequest = new GetObjectMetadataRequest(bucketName, key); ObjectMetadata metadata = s3Client.getObjectMetadata(metadataRequest); System.out.println("Replication Status : " + metadata.getRawMetadataValue(Headers.OBJECT_REPLICATION_STATUS));
.NET
GetObjectMetadataRequest getmetadataRequest = new GetObjectMetadataRequest { BucketName = sourceBucket, Key = objectKey }; GetObjectMetadataResponse getmetadataResponse = client.GetObjectMetadata(getmetadataRequest); Console.WriteLine("Object replication status: {0}", getmetadataResponse.ReplicationStatus);