Ich möchte eine Liste der Objekte abrufen, bei denen die Replikation fehlgeschlagen ist, als ich die Replikation von einem Amazon Simple Storage Service (Amazon S3)-Bucket in einen anderen Bucket eingerichtet habe.
Kurze Beschreibung
Sie können die Begrenzung der S3-Replikationszeit (S3 RTC) aktivieren, um Ereignis-Benachrichtigungen für berechtigte Objekte einzurichten, bei denen die Replikation fehlgeschlagen ist. Sie können S3 RTC auch verwenden, um Benachrichtigungen für geeignete Objekte einzurichten, deren Replikation länger als 15 Minuten dauert. Darüber hinaus können Sie auf eine der folgenden Arten eine Liste der Objekte abrufen, bei denen die Replikation fehlgeschlagen ist:
- Überprüfen des Amazon S3-Inventarberichts
- Ausführen des HeadObject-API-Aufrufs
Auflösung
Amazon S3-Inventarbericht
In den Amazon S3-Inventarberichten werden Ihre Objekte und deren Metadaten auf täglicher oder wöchentlicher Basis aufgeführt. Der Replikationsstatus eines Objekts kann PENDING, COMPLETED, FAILED oder REPLICA lauten.
Um Objekte zu finden, bei denen die Replikation fehlgeschlagen ist, filtern Sie einen aktuellen Bericht nach Objekten mit dem Replikationsstatus FAILED. Anschließend können Sie eine manuelle Kopie der Objekte in den Ziel-Bucket initiieren. Sie können die Objekte auch erneut in den Quell-Bucket hochladen (nachdem Sie die Berechtigungen korrigiert haben), um die Replikation zu initiieren.
Sie können auch Amazon Athena zur Abfrage des Inventarberichts nach dem Replikationsstatus verwenden.
HeadObject-API-Aufruf
Um eine Liste der Objekte im Quell-Bucket zu erhalten, die für die Replikation festgelegt sind, können Sie den HeadObject-API-Aufruf für die Objekte ausführen. HeadObject gibt den Replikationsstatus PENDING, COMPLETED oder FAILED eines Objekts zurück. Als Antwort auf einen HeadObject-API-Aufruf befindet sich der Replikationsstatus im Element x-amz-replication-status.
Hinweis: Um HeadObject auszuführen, müssen Sie Lesezugriff auf das angeforderte Objekt haben. Eine HEAD-Anfrage hat dieselben Optionen wie eine GET-Anfrage, jedoch ohne eine GET-Anfrage auszuführen.
Nachdem HeadObject die Objekte mit dem Replikationsstatus FAILED zurückgegeben hat, können Sie eine manuelle Kopie der Objekte in den Ziel-Bucket initiieren. Sie können die Objekte auch erneut in den Quell-Bucket hochladen (nachdem Sie die Berechtigungen korrigiert haben), um die Replikation zu initiieren.
Wichtig: Wenn Sie Objekte manuell in den Ziel-Bucket kopieren, geben der Amazon S3-Inventarbericht und die HeadObject-API-Aufrufe den Replikationsstatus FAILED zurück. Dieser Replikationsstatus gilt für die Objekte im Quell-Bucket. Um den Replikationsstatus eines Objekts zu ändern und die Replikation zu initiieren, müssen Sie das Objekt erneut in den Quell-Bucket hochladen. Wenn die neue Replikation erfolgreich ist, ändert sich der Replikationsstatus des Objekts in COMPLETED. Wenn Sie Objekte manuell in den Ziel-Bucket kopieren müssen, sollten Sie das Datum der manuellen Kopie notieren. Filtern Sie dann Objekte mit dem Replikationsstatus FAILED nach dem Datum der letzten Änderung. Auf diese Weise können Sie identifizieren, welche Objekte in den Ziel-Bucket kopiert werden und welche nicht.