Storage S3 REST API

ListObjects

このオペレーションは、バケット内のオブジェクトの一部またはすべてを返します(最大 1,000 個)。

リクエスト例:

GET /{fully_qualified_bucket_name} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string

レスポンス例(成功):

HTTP/1.1 200 OK
    x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
    x-amz-request-id: B34E94CACB2CEF6D
    Date: Mon, 17 Oct 2022 22:47:09 GMT
    <ListBucketResult>
        <Name>{fully_qualified_bucket_name}</Name>
        <Prefix></Prefix>
        <Marker></Marker>
        <Contents>
                <Key>example-object.jpg</Key>
                <LastModified>2022-10-17T01:56:20.000Z</LastModified>
                <ETag>"bf1d937a4d46a19f3basdfeg5cc8b902"</ETag>
                <Size>32347</Size>
                <Owner>
                <ID>canonical-user-id</ID>
                <DisplayName>example-display-name</DisplayName>
                </Owner>
                <StorageClass>STANDARD</StorageClass>
        </Contents>
  </ListBucketResult>

ListObjectsV2

このオペレーションは、バケット内のオブジェクトの一部またはすべてを返します(最大 1,000 個)。

リクエスト例:

GET /{fully_qualified_bucket_name}?list-type=2 HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string

レスポンス例(成功):

HTTP/1.1 200 OK
    x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
    x-amz-request-id: B34E94CACB2CEF6D
    Date: Mon, 17 Oct 2022 22:47:09 GMT
    <ListBucketResult>
        <Name>{fully_qualified_bucket_name}</Name>
        <Prefix></Prefix>
        <Marker></Marker>
        <Contents>
                <Key>example-object.jpg</Key>
                <LastModified>2022-10-17T01:56:20.000Z</LastModified>
                <ETag>"bf1d937a4d46a19f3basdfeg5cc8b902"</ETag>
                <Size>32347</Size>
                <Owner>
                <ID>canonical-user-id</ID>
                <DisplayName>example-display-name</DisplayName>
                </Owner>
                <StorageClass>STANDARD</StorageClass>
        </Contents>
  </ListBucketResult>

GetObject(versionId は省略可)

このオペレーションは、指定されたバージョン ID(省略可)を使用して、バケットからオブジェクトを取得します。

リクエスト例:

GET /{fully_qualified_bucket_name}/{object_name}?versionId={object_version_id} HTTP/1.1
Host: host
Content-MD5: request header
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string

レスポンス例(成功):

HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6D
Date: Mon, 17 Oct 2022 22:47:09 GMT
ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"
Content-Length: 13432
[13432 bytes of object data]

GetObjectAcl(versionId は省略可)

このオペレーションは、正のレスポンスと、オブジェクト オーナーの ID、DisplayName、Permission を返します。これは、オーナーがオブジェクトに対する完全なアクセス権を持っていることを示します。このオペレーションでは、アカウントのアクセス認証情報を提供する必要があります。

リクエスト例:

GET /{fully_qualified_bucket_name}/{object_name}?acl&versionId={VersionId} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string

レスポンス例(成功):

HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6D
Date: Mon, 17 Oct 2022 22:47:09 GMT
Content-Length: 157
<AccessControlPolicy>
    <Owner>
        <ID>canonical-user-id</ID>
        <DisplayName>example-display-name</DisplayName>
    </Owner>
    <AccessControlList>
        <Grant>
            <Grantee>
        <ID>canonical-user-id</ID>
                <DisplayName>example-display-name</DisplayName>
                <Type>CanonicalUser</Type>
            </Grantee>
            <Permission>FULL_CONTROL</Permission>
        </Grant>
</AccessControlList>
</AccessControlPolicy>

GetObjectRetention(versionId は省略可)

このオペレーションは、指定されたオブジェクトの保持モードと、Object Lock の保持期限を取得します。バケットにはオブジェクト ロック構成が必要です。

リクエスト例:

GET /{fully_qualified_bucket_name}/{object_name}?retention&versionId={VersionId} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
X-amz-expected-bucket-owner: ExpectedBucketOwner (optional)

レスポンス例(成功):

HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6D
Date: Mon, 17 Oct 2022 22:47:09 GMT
<Retention>
    <Mode>COMPLIANCE</Mode>
    <Timestamp>2022-10-17T01:56:20.000Z</Timestamp>
</Retention>

GetObjectLegalHold(versionId は省略可)

このオペレーションは、オブジェクトの最新のリーガルホールド ステータスを取得します。バケットにはオブジェクト ロック構成が必要です。

リクエスト例:

GET /{fully_qualified_bucket_name}/{object_name}?legal-hold&versionId={VersionId} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
X-amz-expected-bucket-owner: ExpectedBucketOwner (optional)

レスポンス例(成功):

HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6D
Date: Mon, 17 Oct 2022 22:47:09 GMT
<LegalHold>
    <Status>ON</Status>
</LegalHold>

GetObjectTagging(versionId は省略可)

このオペレーションは、tagging サブリソースを使用して、オブジェクトのすべてのタグを返します。versionId パラメータが指定されていない場合、このオペレーションは、バージョニングされたバケット内のオブジェクトの最新バージョンからすべてのタグを返します。オブジェクトの現在のバージョンが削除マーカーの場合、MethodNotAllowed ステータスが返され、x-amz-deletemarker レスポンス ヘッダーが true に設定されます。

リクエスト例:

GET /{fully_qualified_bucket_name}/{object_name}?tagging&versionId={VersionId} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
X-amz-expected-bucket-owner: ExpectedBucketOwner (optional)

レスポンス例(成功):

HTTP/1.1 200 OK
Date: Mon, 17 Oct 2022 22:47:09 GMT
<Tagging>
  <TagSet>
        <Tag>
        <Key>tag1</Key>
        <Value>val1</Value>
      </Tag>
      <Tag>
        <Key>tag2</Key>
        <Value>val2</Value>
      </Tag>
  </TagSet>
</Tagging>

PutObject

このオペレーションは、オブジェクトをバケットに追加します。オブジェクトをバケットに追加するには、バケットに対する適切な書き込み権限が必要です。

暗号化バージョン 2

EV2(暗号化バージョン 2)バケットの場合、カスタム鍵が指定されていないと、リクエストは暗号化にデフォルトの AEAD 鍵を使用します。

暗号化にカスタム AEAD 鍵を使用するには、次の 2 つのヘッダーを設定する必要があります。

  • x-amz-server-side-encryption: SSE-KMS - このリクエストがカスタム AEAD 鍵を使用しようとしていることを示します。
  • x-amz-server-side-encryption-aws-kms-key-id: {custom_key_namespace}/{custom_key_name} - 使用する鍵を指定します。鍵の名前空間は、バケットと同じプロジェクトに存在する必要があります。

リクエスト例:

PUT /{fully_qualified_bucket_name}/{object_name} HTTP/1.1
Host: host
Content-MD5: request header
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Content-Length: 5233
Content-type: text/plain
[5233 bytes of object data]

レスポンス例(成功):

HTTP/1.1 100 Continue

HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6C
Date: Mon, 17 Oct 2022 22:47:09 GMT
ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"

PutObjectTagging

このオペレーションは、tagging サブリソースを使用して、既存のオブジェクトにタグのセットを追加します。

リクエスト例:

PUT /{fully_qualified_bucket_name}/{object_name}?tagging HTTP/1.1
Host: host
Content-MD5: +b9TrAB9F8ne7rJpPkqavQ==
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Content-Length: {length}
Content-type: text/plain
<Tagging>
    <TagSet>
        <Tag>
            <key>my-tag-key</key>
            <value>my-tag-value</value>
        </Tag>
    </TagSet>
</Tagging>

レスポンス例(成功):

HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6C
Date: Mon, 17 Oct 2022 22:47:09 GMT

DeleteObject(versionId は省略可)

このオペレーションを使用すると、1 つのリクエストで単一のバケットから複数のオブジェクトを削除できます。 リクエストには、削除するキーのリストを最大 1,000 個含めることができます。

リクエスト例:

DELETE /{fully_qualified_bucket_name}/{object_name}?versionId={VersionId} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Content-type: text/plain
<Delete xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
   <Object>
      <Key>object_one.jpg</Key>
      <VersionId>1234568892</VersionId>
   </Object>
   <Object>
      <Key>object_two.jpg</Key>
   </Object>
</Delete>

レスポンス例(成功):

HTTP/1.1 200 OK
x-amz-id-2: 5h4FxSNCUS7wP5z92eGCWDshNpMnRuXvETa4HH3LvvH6VAIr0jU7tH9kM7X+njXx
x-amz-request-id: A437B3B641629AEE
Date: Fri, 02 Oct 2023 01:53:42 GMT
Content-Type: application/xml
Content-Length: 251
<?xml version="1.0" encoding="UTF-8"?>
<DeleteResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <Deleted>
        <Key>object_one.jpg</Key>
    </Deleted>
    <Error>
        <Key>object_two.jpg</Key>
        <Code>AccessDenied</Code>
        <Message>Access Denied</Message>
    </Error>
</DeleteResult>

DeleteObjects(versionId は省略可)

バケットからオブジェクトを削除します。動作はバケットのバージョニング状態によって異なります: - バケットのバージョニングが有効になっていない場合、このオペレーションはオブジェクトを完全に削除します。 - バケットのバージョニングが有効になっている場合、このオペレーションは削除マーカーを挿入します。このマーカーがオブジェクトの現在のバージョンになります。バージョニングされたバケット内のオブジェクトを完全に削除するには、リクエストにオブジェクトの versionId を含める必要があります。

リクエスト例:

DELETE /{fully_qualified_bucket_name}/{object_name}?versionId={VersionId} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Content-type: text/plain

レスポンス例(成功):

HTTP/1.1 204 NoContent
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6C
Date: Mon, 17 Oct 2022 22:47:09 GMT

DeleteObjectTagging(versionId は省略可)

このオペレーションは、tagging サブリソースを使用して、オブジェクトからすべてのタグを削除します。

リクエスト例:

DELETE /{fully_qualified_bucket_name}/{object_name}?tagging&versionId={VersionId} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Content-type: text/plain

レスポンス例(成功):

HTTP/1.1 204 NoContent
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6C
Date: Mon, 17 Oct 2022 22:47:09 GMT

HeadObject(versionId は省略可)

HEAD オペレーションは、オブジェクト自体を返さずに、オブジェクトからメタデータを取得します。このオペレーションは、オブジェクトのメタデータのみが必要な場合に便利です。

リクエスト例:

HEAD /{fully_qualified_bucket_name}/{object_name}?versionId={VersionId} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Content-type: text/plain

レスポンス例(成功):

HTTP/1.1 200
x-amz-id-2: ef8yU9AS1ed4OpIszj7UDNEHGran
x-amz-request-id: 318BC8BC143432E5
x-amz-version-id: 3HL4kqtJlcpXroDTDmjVBH40Nrjfkd
Date: Wed, 28 Oct 2023 22:32:00 GMT
Last-Modified: Sun, 1 Jan 2006 12:00:00 GMT
ETag: "fba9dede5f27731c9771645a39863328"
Content-Length: 434234
Content-Type: text/plain
Connection: close

CreateMultipartUpload

このアクションは、マルチパート アップロードを開始し、アップロード ID を返します。

マルチパート アップロードを使用すると、単一のオブジェクトをパーツのセットとして追加できます。各パーツは、オブジェクトのデータの連続した部分です。これらのオブジェクト パーツは、任意の順序で個別にアップロードできます。

返されたアップロード ID は、特定のマルチパート アップロードのすべてのパーツを関連付けるために使用されます。このアップロード ID は、後続のアップロード パーツ リクエストごとに指定します。また、このアップロード ID は、マルチパート アップロード リクエストを完了または中止するための最終リクエストでも使用します。

暗号化バージョン 2

EV2(暗号化バージョン 2)バケットの返されたアップロード ID は一度だけ 生成されます。このオペレーションから返されたアップロード ID が失われた場合、ListMultipartUploads から復元することはできません。ただし、ListMultipartUploads から返されたアップロード ID は、AbortMultipartUpload または ListParts に使用できます。UploadPart または CompleteMultipartUpload に使用できるのは、CreateMultipartUpload から返された ID のみです。

リクエスト例:

POST /{fully_qualified_bucket_name}/{object_name}?uploads HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Content-type: text/plain

レスポンス例(成功):

HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6D
Date: Mon, 17 Oct 2022 22:47:09 GMT
    <InitiateMultipartUploadResult>
        <Bucket>{fully_qualified_bucket_name}</Bucket>
        <Key>{object_name}</Key>
        <UploadId>VXBsb2FkIElEIGZvciA2aWWpbmcncyBteS1tb3ZpZS5tMnRzIHVwbG9hZA</UploadId>
  </InitiateMultipartUploadResult>

ListMultipartUploads(max-uploads は省略可)

このオペレーションは、バケットの進行中のマルチパート アップロードを一覧表示します。

暗号化バージョン 2

このオペレーションから返されたアップロード ID は、でのみ ListParts と AbortMultipartUpload で使用できます。

リクエスト例:

GET /{fully_qualified_bucket_name}?uploads&max-uploads={max-uploads} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Content-type: text/plain

レスポンス例(成功):

HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6D
Date: Mon, 17 Oct 2022 22:47:09 GMT
<ListMultipartUploadsResult>
<Bucket>{fully_qualified_bucket_name}</Bucket>
<KeyMarker></KeyMarker>
<UploadIdMarker></UploadIdMarker>
<NextKeyMarker>my-movie.m2ts</NextKeyMarker>
    <NextUploadIdMarker>YW55IGlkZWEgd2h5IGVsdmluZydzIHVwbG9hZCBmYWlsZWQ</NextUploadIdMarker>
    <MaxUploads>3</MaxUploads>
    <IsTruncated>true</IsTruncated>
    <Upload>
            <Key>{object_name}</Key>
            <UploadId>VXBsb2FkIElEIGZvciA2aWWpbmcncyBteS1tb3ZpZS5tMnRzIHVwbG9hZA</UploadId>
            <Initiator>
            <ID>{canonical-user-id}</ID>
            <DisplayName>InitiatorDisplayName</DisplayName>
            </Initiator>
            <Owner>
            <ID>{canonical-owner-user-id}</ID>
            <DisplayName>OwnerDisplayName</DisplayName>
            </Owner>
            <StorageClass>STANDARD</StorageClass>
            <Initiated>2022-10-17T01:56:20.000Z</Initiated>
    </Upload>
</ListMultipartUploadsResult>

ListParts(max-parts は省略可)

このオペレーションは、特定のマルチパート アップロード用にアップロードされたパーツを一覧表示し、デフォルトで最大 1,000 個のアップロードされたパーツを返します。CreateMultipartUpload リクエストで取得したアップロード ID を含める必要があります。

暗号化バージョン 2

CreateMultipartUpload または ListMultipartUploads から返されたアップロード ID は、このリクエストに使用できます。

リクエスト例:

GET /{fully_qualified_bucket_name}/{object_name}?uploadId={uploadId}&max-parts={max-parts} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Content-type: text/plain

レスポンス例(成功):

HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6D
Date: Mon, 17 Oct 2022 22:47:09 GMT
<ListPartsResult>
        <Bucket>{fully_qualified_bucket_name}</Bucket>
        <Key>{object_name}</Key>
        <UploadId>{uploadId}</UploadId>
        <Initiator>
            <ID>{canonical-user-id}</ID>
            <DisplayName>InitiatorDisplayName</DisplayName>
          </Initiator>
        <Owner>
                <ID>{canonical-owner-id}</ID>
                <DisplayName>OwnerDisplayName</DisplayName>
        </Owner>
        <StorageClass>STANDARD</StorageClass>
        <PartNumberMarker></PartNumberMarker>
        <NextPartNumberMarker></NextPartNumberMarker>
        <MaxParts>{max-parts}</MaxParts>
        <IsTruncated>true</IsTruncated>
        <Part>
                <PartNumber>2</PartNumber>
                <LastModified>2022-10-17T01:56:20.000Z</LastModified>
                <ETag>"7778aef8t866abc1fa1e8466f296d394"</ETag>
                <Size>10485769</Size>
        </Part>
        <Part>
                <PartNumber>3</PartNumber>
                <LastModified>2022-10-17T01:56:20.000Z</LastModified>
                <ETag>"aaab18db4cc2f85cedef854fccci24x8"</ETag>
                <Size>10423760</Size>
        </Part>
</ListPartsResult>

UploadPart

このオペレーションは、オブジェクトのマルチパート アップロードでパーツをアップロードします。

暗号化バージョン 2

CreateMultipartUploadListMutlipartUploads から返された ID は、このリクエストでは使用できません 。

リクエスト例:

PUT /{fully_qualified_bucket_name}/{object_name}?uploadId={uploadId}&partNumber={partNumber} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Content-Length: 345442
Content-MD5: +b9TrAB9F8ne7rJpPkqavQ==
[part data omitted, 345442 bytes of part data]

レスポンス例(成功):

HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6D
Date: Mon, 17 Oct 2022 22:47:09 GMT
ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"

AbortMultipartUpload

このアクションは、マルチパート アップロードを中止し、追加のパーツをアップロードするためのアップロード ID を無効にします。以前にアップロードされたパーツで使用されていたストレージは解放されます。

暗号化バージョン 2

EV2(暗号化バージョン 2)バケットの場合、このオペレーションには、CreateMultipartUpload または ListMultipartUploads から返された ID を使用できます。

リクエスト例:

DELETE /{fully_qualified_bucket_name}/{object_name}?uploadId={uploadId} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Content-type: text/plain

レスポンス例(成功):

HTTP/1.1 204 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6C
Date: Mon, 17 Oct 2022 22:47:09 GMT

CompleteMultipartUpload

このオペレーションは、以前にアップロードされたパーツを組み立てて、オブジェクトのマルチパート アップロードを完了します。

暗号化バージョン 2

CreateMultipartUploadListMutlipartUploads から返された ID は、このリクエストでは使用できません。

暗号化にカスタム AEAD 鍵を使用するには、次の 2 つのヘッダーを設定する必要があります。

  • x-amz-server-side-encryption: SSE-KMS - このリクエストがカスタム AEAD 鍵を使用しようとしていることを示します。
  • x-amz-server-side-encryption-aws-kms-key-id: {custom_key_namespace}/{custom_key_name} - 使用する鍵を指定します。鍵の名前空間は、バケットと同じプロジェクトに存在する必要があります。

リクエスト例:

POST /{fully_qualified_bucket_name}/{object_name}?uploadId={uploadId} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Content-Length: 391
Content-type: text/plain
<CompleteMultipartUpload>
<Part>
    <PartNumber>1</PartNumber>
    <ETag>"a54357aff0632cce46d942af68356b38"</ETag>
</Part>
<Part>
    <PartNumber>2</PartNumber>
    <ETag>"0c78aef83f66abc1fa1e8477f296d394"</ETag>
</Part>
<Part>
      <PartNumber>3</PartNumber>
      <ETag>"acbd18db4cc2f85cedef654fccc4a4d8"</ETag>
</Part>
</CompleteMultipartUpload>

レスポンス例(成功):

HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6D
Date: Mon, 17 Oct 2022 22:47:09 GMT
<CompleteMultipartUploadResult>
<Location>http://{host}/{fully_qualified_bucket_name}/{object_name}</Location>
        <Bucket>{fully_qualified_bucket_name}</Bucket>
        <Key>{object_name}</Key>
        <ETag>"acbd18db4cc2f85cedef654fccc4a4d8"</ETag>
</CompleteMultipartUploadResult>

CopyObject

このオペレーションは、PutObject の特殊なタイプです。データは、オブジェクト ストレージにすでに存在するソース オブジェクトから取得されます。

ソース バケットとオブジェクト キーは、x-amz-copy-source ヘッダーの値として / で区切って指定されます。たとえば、バケット my_bucket からオブジェクト images/my_image.jpg をコピーする場合、設定する値は my_bucket/images/my_image.jpg です。

暗号化バージョン 2

EV2(暗号化バージョン 2)バケットの場合、このソース オブジェクトは暗号化 V2 バケットからのものである必要があります 。そうでない場合、オペレーションは失敗します。

暗号化にカスタム AEAD 鍵を使用するには、次の 2 つのヘッダーを設定する必要があります。

  • x-amz-server-side-encryption: SSE-KMS - このリクエストがカスタム AEAD 鍵を使用しようとしていることを示します。
  • x-amz-server-side-encryption-aws-kms-key-id: {custom_key_namespace}/{custom_key_name} - 使用する鍵を指定します。鍵の名前空間は、バケットと同じプロジェクトに存在する必要があります。

リクエスト例:

PUT /{fully_qualified_bucket_name}/{object_name} HTTP/1.1
Host: host
X-Amz-Copy-Source: my_bucket/images/my_image.jpg
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string

レスポンス例(成功):

HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6C
x-amz-copy-source-version-id: 3/L4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo
Date: Mon, 17 Oct 2022 22:47:09 GMT

<CopyObjectResult>
    <LastModified>2009-10-12T17:50:30.000Z</LastModified>
    <ETag>"9b2cf535f27731c974343645a3985328"</ETag>
</CopyObjectResult>

UploadPartCopy

このオペレーションは、オブジェクト ストレージにすでに存在するオブジェクトを、マルチパート アップロードの単一パーツのデータとして使用します。

ソース バケットとオブジェクト キーは、x-amz-copy-source ヘッダーの値として / で区切って指定されます。たとえば、バケット my_bucket からオブジェクト images/my_image.jpg をコピーする場合、設定する値は my_bucket/images/my_image.jpg です。

暗号化バージョン 2

このオペレーションは、EV2(暗号化バージョン 2)バケットではサポートされていません 。

リクエスト例:

PUT /{fully_qualified_bucket_name}/{object_name}?uploadId={uploadId}&partNumber={partNumber} HTTP/1.1
Host: host
X-Amz-Copy-Source: my_bucket/images/my_image.jpg
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string

レスポンス例(成功):

HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6C
x-amz-copy-source-version-id: 3/L4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo
Date: Mon, 17 Oct 2022 22:47:09 GMT

<CopyPartResult>
   <ETag>string</ETag>
   <LastModified>timestamp</LastModified>
   <ChecksumCRC32>string</ChecksumCRC32>
   <ChecksumCRC32C>string</ChecksumCRC32C>
   <ChecksumSHA1>string</ChecksumSHA1>
   <ChecksumSHA256>string</ChecksumSHA256>
</CopyPartResult>