Amazon Simple Storage Service
開発者ガイド (API バージョン 2006-03-01)

レプリケーションのステータス情報

バケット内のオブジェクトのレプリケーションステータスを取得するには、Amazon S3 インベントリツールを使用します。Amazon S3 は、インベントリ設定で指定した送信先バケットに CSV ファイルを送信します。Amazon Athena を使用して、インベントリレポートのレプリケーションステータスをクエリすることもできます。Amazon S3 インベントリの詳細については、「 Amazon S3 インベントリ」を参照してください。

レプリケーションでは、レプリケーションを設定するレプリケート元バケットと、Amazon S3 がオブジェクトをレプリケートするレプリケート先バケットを使用します。これらのバケットからオブジェクト (GET オブジェクトを使用) またはオブジェクトメタデータ (HEAD オブジェクトを使用) をリクエストすると、Amazon S3 はレスポンスとして x-amz-replication-status ヘッダーを返します。

  • レプリケート元バケットのオブジェクトをリクエストする場合、リクエストしたオブジェクトがレプリケーション対象であると、Amazon S3 は x-amz-replication-status ヘッダーを返します。

    たとえば、レプリケーション設定でオブジェクトプレフィックス TaxDocs を指定して、キー名のプレフィックスが TaxDocs のオブジェクトのみをレプリケートするように Amazon S3 に指示しているとします。このキー名のプレフィックスを持つ、アップロードしたすべてのオブジェクト (TaxDocs/document1.pdf など) はレプリケートされます。このキー名のプレフィックスが付いたオブジェクトのリクエストでは、Amazon S3 が次の値のうち 1 つのオブジェクトのレプリケーション状態の x-amz-replication-status ヘッダーを返します。PENDINGCOMPLETED、またはFAILED

    注記

    オブジェクトをアップロードした後で、オブジェクトのレプリケーションに失敗した場合、レプリケーションを再試行できません。もう一度オブジェクトをアップロードする必要があります。

  • レプリケート先バケットのオブジェクトをリクエストした場合、リクエストされたオブジェクトが Amazon S3 によって作成されたレプリカであるときに、Amazon S3 は値が REPLICA である x-amz-replication-status ヘッダーを返します。

オブジェクトのレプリケーションステータスは、コンソール、AWS Command Line Interface (AWS CLI)、または AWS SDK で確認できます。

  • コンソール: オブジェクトを選択してから[プロパティ] を選択し、レプリケーションステータスを含むオブジェクトのプロパティを表示します。

  • AWS CLI: オブジェクトメタデータを取得するには、head-object AWS CLI コマンドを使用します。

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

    このコマンドは、以下のレスポンス例に示すように、ReplicationStatus を含むオブジェクトメタデータを返します。

    { "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":{ } }
  • AWS SDK: 次のコードフラグメントは、それぞれ AWS SDK for Java および AWS SDK for .NET のレプリケーションステータスを取得します。

    • AWS SDK for Java

      GetObjectMetadataRequest metadataRequest = new GetObjectMetadataRequest(bucketName, key); ObjectMetadata metadata = s3Client.getObjectMetadata(metadataRequest); System.out.println("Replication Status : " + metadata.getRawMetadataValue(Headers.OBJECT_REPLICATION_STATUS));
    • AWS SDK for .NET

      GetObjectMetadataRequest getmetadataRequest = new GetObjectMetadataRequest { BucketName = sourceBucket, Key = objectKey }; GetObjectMetadataResponse getmetadataResponse = client.GetObjectMetadata(getmetadataRequest); Console.WriteLine("Object replication status: {0}", getmetadataResponse.ReplicationStatus);

注記

レプリケーションが有効になっているレプリケート元バケットからオブジェクトを削除する前に、削除する前にオブジェクトのレプリケーションステータスをチェックして、そのオブジェクトがレプリケートされていることを確認します。

レプリケート元バケットでライフサイクル設定が有効である場合、Amazon S3 は、オブジェクトステータスが COMPLETED または FAILED と表示するまですべてのライフサイクルアクションを停止します。

レプリケーション

このページの内容: