オブジェクト操作
IBM Cloud® Object Storage の最新機能は、RESTful API を介して簡単に使用できます。 ここでは、(バケット内に保管される) オブジェクトの読み取り、書き込み、および構成の操作とメソッドについて説明します。
エンドポイントについて詳しくは、エンドポイントおよびストレージ・ロケーションを参照してください。
アクセス/秘密鍵 (HMAC) 認証に関する注記
HMAC 資格情報を使用して IBM Cloud Object Storage のインスタンスに対して認証を行う場合、 HMAC 署名の構成 時に表 1 に示されている情報が必要です。
キー | 値 | 例 |
---|---|---|
{access_key} | サービス・クレデンシャルに割り当てられたアクセス・キー | cf4965cebe074720a4929759f57e1214 |
{date} | 要求のフォーマット設定された日付 (yyyymmdd ) |
20180613 |
{region} | エンドポイントのロケーション・コード | Us-Standard |
{signature} | 秘密鍵、ロケーション、および日付を使用して作成されたハッシュ | ffe2b6e18f9dcc41f593f4dbb39882a6bb4d26a73a04326e62a8d344e07c1a3e |
{timestamp} | 要求のフォーマット設定された日時 | 20180614T001804Z |
オブジェクトのアップロード
オブジェクトへのパスが指定された PUT
は、要求本体をオブジェクトとしてアップロードします。 ネットワークの中断のリスクを最小限に抑えるために、単一スレッドでアップロードされるすべてのオブジェクトは 500 MB 未満にする必要があります。 ( 複数パーツでアップロード されるオブジェクトは、10
TB までの大きさにすることができます。)
個人を特定できる情報(PII):バケツやオブジェクトに_名前をつける_際には、名前、場所、その他の手段によってユーザ(自然人)を特定できるような情報は使わないようにしましょう。
Satellite 環境では、すべての操作がサポートされているわけではありません。 詳しくは、 サポートされる Satellite API を参照してください。
単一の PUT
要求を使用して、5 GB までの大きさのオブジェクトをストリーミングすることができます。 マルチパート・アップロードは、より信頼性が高く、複数のスレッドを使用してパートを並行してアップロードすることで、より効率的にアップロードできます。 単一の PUT
要求で大きなオブジェクトをアップロードすると、単一スレッドのパフォーマンス上の制限が生じます。単一スレッドのアップロードで障害が発生した場合は、全体を再試行する必要があります
(MPU では、失敗した特定の部分のみを再試行する必要があります)。 単一のスレッドで達成できる正確なスループットは、クライアントから IBM Cloud エンドポイントまでのネットワーク帯域幅、その接続でのパケット損失率(もしあれば)、 HTTP vs HTTPS の使用、接続で使用される特定の暗号、特定のTCP接続パラメータ(ウィンドウサイズなど)、およびその他の要因によって異なります。 これらの要因は単一スレッド・アップロード用に最適化できますが、最適化はすべてのマルチスレッド
(マルチパート) アップロードにも同様に適用されます。
個人を特定できる情報(PII):バケットを作成したりオブジェクトを追加したりする際には、名前、場所、その他の手段によってユーザ(自然人)を特定できるような情報は使わないようにしてください。
Satellite 環境では、すべての操作がサポートされているわけではありません。 詳しくは、 サポートされる Satellite API を参照してください。
構文
PUT https://{endpoint}/{bucket-name}/{object-name} # path style
PUT https://{bucket-name}.{endpoint}/{object-name} # virtual host style
オプションのヘッダー
ヘッダー | タイプ | 説明 |
---|---|---|
x-amz-tagging |
ストリング | オブジェクトに適用するタグのセット。照会パラメーターとしてフォーマット設定されます ("SomeKey=SomeValue" )。 |
x-amz-object-lock-mode |
ストリング | 有効な値は COMPLIANCE です。 x-amz-object-lock-retain-until-date が存在する場合は必須です。 |
x-amz-object-lock-retain-until-date |
ISO8601 日時 | x-amz-object-lock-mode が存在する場合は必須です。 |
x-amz-object-lock-legal-hold |
ストリング | 有効な値は ON または OFF です。 |
要求の例
PUT /apiary/queen-bee HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain; charset=utf-8
Host: s3.us.cloud-object-storage.appdomain.cloud
Content-Length: 533
The 'queen' bee is developed from larvae selected by worker bees and fed a
substance referred to as 'royal jelly' to accelerate sexual maturity. After a
short while the 'queen' is the mother of nearly every bee in the hive, and
the colony will fight fiercely to protect her.
要求の例
PUT /apiary/queen-bee HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
x-amz-content-sha256: {payload_hash}
Content-Type: text/plain; charset=utf-8
Host: s3.us.cloud-object-storage.appdomain.cloud
Content-Length: 533
The 'queen' bee is developed from larvae selected by worker bees and fed a
substance referred to as 'royal jelly' to accelerate sexual maturity. After a
short while the 'queen' is the mother of nearly every bee in the hive, and
the colony will fight fiercely to protect her.
応答の例
HTTP/1.1 200 OK
Date: Thu, 25 Aug 2016 18:30:02 GMT
X-Clv-Request-Id: 9f0ca49a-ae13-4d2d-925b-117b157cf5c3
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.121
X-Clv-S3-Version: 2.5
x-amz-request-id: 9f0ca49a-ae13-4d2d-925b-117b157cf5c3
ETag: "3ca744fa96cb95e92081708887f63de5"
Content-Length: 0
オブジェクトのヘッダーの取得
オブジェクトへのパスが指定された HEAD
は、そのオブジェクトのヘッダーを取得します。
SSE-KPを使用して暗号化されたオブジェクトに対して返される Etag
値は、 復号化された元のオブジェクトの MD5 ハッシュである。
Satellite 環境では、すべての操作がサポートされているわけではありません。 詳しくは、 サポートされる Satellite API を参照してください。
構文
HEAD https://{endpoint}/{bucket-name}/{object-name} # path style
HEAD https://{bucket-name}.{endpoint}/{object-name} # virtual host style
要求の例
HEAD /apiary/soldier-bee HTTP/1.1
Authorization: Bearer {token}
Host: s3-api.sjc-us-geo.objectstorage.s3.us-south.cloud-object-storage.appdomain.cloud.net
要求の例
HEAD /apiary/soldier-bee HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Host: s3.us.cloud-object-storage.appdomain.cloud
応答の例
HTTP/1.1 200 OK
Date: Thu, 25 Aug 2016 18:32:44 GMT
X-Clv-Request-Id: da214d69-1999-4461-a130-81ba33c484a6
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.121
X-Clv-S3-Version: 2.5
x-amz-request-id: da214d69-1999-4461-a130-81ba33c484a6
ETag: "37d4c94839ee181a2224d6242176c4b5"
Content-Type: text/plain; charset=UTF-8
Last-Modified: Thu, 25 Aug 2016 17:49:06 GMT
Content-Length: 11
オブジェクトのダウンロード
オブジェクトへのパスが指定された GET
は、そのオブジェクトをダウンロードします。
オブジェクトが SSE-C/SSE-KP を使用して暗号化されている場合に返される Etag
値は、元の復号されたオブジェクトの MD5 ハッシュではありません。
Satellite 環境では、すべての操作がサポートされているわけではありません。 詳しくは、 サポートされる Satellite API を参照してください。
構文
GET https://{endpoint}/{bucket-name}/{object-name} # path style
GET https://{bucket-name}.{endpoint}/{object-name} # virtual host style
オプションのヘッダー
ヘッダー | タイプ | 説明 |
---|---|---|
range |
ストリング | 指定された範囲内のオブジェクトのバイトを返します。 |
要求の例
GET /apiary/worker-bee HTTP/1.1
Authorization: Bearer {token}
Host: s3.us.cloud-object-storage.appdomain.cloud
要求の例
GET /apiary/worker-bee HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Host: s3.us.cloud-object-storage.appdomain.cloud
応答の例
HTTP/1.1 200 OK
Date: Thu, 25 Aug 2016 18:34:25 GMT
X-Clv-Request-Id: 116dcd6b-215d-4a81-bd30-30291fa38f93
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.121
X-Clv-S3-Version: 2.5
x-amz-request-id: 116dcd6b-215d-4a81-bd30-30291fa38f93
ETag: "d34d8aada2996fc42e6948b926513907"
Content-Type: text/plain; charset=UTF-8
Last-Modified: Thu, 25 Aug 2016 17:46:53 GMT
Content-Length: 467
Female bees that are not fortunate enough to be selected to be the 'queen'
while they were still larvae become known as 'worker' bees. These bees lack
the ability to reproduce and instead ensure that the hive functions smoothly,
acting almost as a single organism in fulfilling their purpose.
オブジェクトの削除
オブジェクトへのパスが指定された DELETE
は、オブジェクトを削除します。
Satellite 環境では、すべての操作がサポートされているわけではありません。 詳しくは、 サポートされる Satellite API を参照してください。
構文
DELETE https://{endpoint}/{bucket-name}/{object-name} # path style
DELETE https://{bucket-name}.{endpoint}/{object-name} # virtual host style
要求の例
DELETE /apiary/soldier-bee HTTP/1.1
Authorization: Bearer {token}
Host: s3-api.sjc-us-geo.objectstorage.s3.us-south.cloud-object-storage.appdomain.cloud.net
要求の例
DELETE /apiary/soldier-bee HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Host: s3.us.cloud-object-storage.appdomain.cloud
応答の例
HTTP/1.1 204 No Content
Date: Thu, 25 Aug 2016 17:44:57 GMT
X-Clv-Request-Id: 8ff4dc32-a6f0-447f-86cf-427b564d5855
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.121
X-Clv-S3-Version: 2.5
x-amz-request-id: 8ff4dc32-a6f0-447f-86cf-427b564d5855
複数のオブジェクトの削除
バケットへのパスおよび適切なパラメーターが指定された POST
は、指定されたオブジェクト・セットを削除します。 要求本体の base64 でエンコードされた MD5 ハッシュを指定する Content-MD5
ヘッダーは必須です。
必須の Content-MD5
ヘッダーは、base64 でエンコードされた MD5 ハッシュのバイナリー表現である必要があります。
リクエストで指定されたオブジェクトが見つからない場合、結果は削除されたものとして返される。
Satellite 環境では、すべての操作がサポートされているわけではありません。 詳しくは、 サポートされる Satellite API を参照してください。
複数のオブジェクト削除には、クラス A として課金される POST operation
が含まれます。 複数の削除に対する POST
要求のコストは、オブジェクトのストレージ・クラス、および削除されるデータの量によって異なります。 価格の詳細については、IBM Cloud Object Storageの価格ページ を参照してください。
オプション要素
ヘッダー | タイプ | 説明 |
---|---|---|
Quiet |
ブール値 | 要求の抑止モードを有効にします。 |
要求には、削除するキーを最大 1000 個含めることができます。 これは要求数を削減するのに役立ちますが、多数のキーを削除する場合は注意が必要です。 また、適切なパフォーマンスを確保するために、オブジェクトのサイズも考慮に入れてください。
以下のコードは、ヘッダー・コンテンツの必要な表現を作成する方法の例を示しています。
echo -n (XML block) | openssl dgst -md5 -binary | openssl enc -base64
構文
POST https://{endpoint}/{bucket-name}?delete= # path style
POST https://{bucket-name}.{endpoint}?delete= # virtual host style
要求の本体には、以下のスキーマの XML ブロックが含まれている必要があります。
エレメント | タイプ | 子 | 上位 | 制約 |
---|---|---|---|---|
の削除 | コンテナー | オブジェクト |
|
|
オブジェクト | コンテナー | キー | の削除 |
|
キー | ストリング |
|
オブジェクト | 有効なキー・ストリング |
要求の例
POST /apiary?delete= HTTP/1.1
Authorization: Bearer {token}
Host: s3.us.cloud-object-storage.appdomain.cloud
Content-Type: text/plain; charset=utf-8
Content-MD5: xj/vf7lD7vbIe/bqHTaLvg==
要求の例
POST /apiary?delete= HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Content-Type: text/plain; charset=utf-8
Content-MD5: xj/vf7lD7vbIe/bqHTaLvg==
Host: s3.us.cloud-object-storage.appdomain.cloud
応答の例
HTTP/1.1 200 OK
Date: Wed, 30 Nov 2016 18:54:53 GMT
X-Clv-Request-Id: a6232735-c3b7-4c13-a7b2-cd40c4728d51
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.137
X-Clv-S3-Version: 2.5
x-amz-request-id: a6232735-c3b7-4c13-a7b2-cd40c4728d51
Content-Type: application/xml
Content-Length: 207
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<DeleteResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Deleted>
<Key>surplus-bee</Key>
</Deleted>
<Deleted>
<Key>unnecessary-bee</Key>
</Deleted>
</DeleteResult>
オブジェクトの保存の追加または拡張
適切なパラメーターを指定してオブジェクトに対して発行された PUT
は、オブジェクトの保存期間を追加または拡張します。
Satellite 環境では、すべての操作がサポートされているわけではありません。 詳しくは、 サポートされる Satellite API を参照してください。
構文
PUT https://{endpoint}/{bucket-name}/{object-name}?retention # path style
PUT https://{bucket-name}.{endpoint}/{object-name}?retention # virtual host style
ペイロード要素
要求の本体には、以下のスキーマの XML ブロックが含まれている必要があります。
エレメント | タイプ | 子 | 上位 | 注記 |
---|---|---|---|---|
保存 | コンテナー | モード、RetainUntilDate |
|
必須 |
モード | ストリング |
|
保存 | 必須-有効な値は COMPLIANCE です。 |
RetainUntilDate | タイムスタンプ |
|
保存 | 必須 |
以下のコードは、ヘッダー・コンテンツの必要な表現を作成する方法の例を示しています。
echo -n (XML block) | openssl dgst -md5 -binary | openssl enc -base64
要求の例
これは、オブジェクトの保存を追加または拡張する例です。
PUT /apiary/myObject?retention HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain
Content-MD5: cDeRJIdLuEXWmLpA79K2kg==
Host: s3.us.cloud-object-storage.appdomain.cloud
Content-Length: 119
<Retention>
<Mode>COMPLIANCE</Mode>
<RetainUntilDate>2023-04-12T23:01:00.000Z</RetainUntilDate>
</Retention>
応答の例
HTTP/1.1 200 OK
Date: Wed, 5 Oct 2020 15:39:38 GMT
X-Clv-Request-Id: 7afca6d8-e209-4519-8f2c-1af3f1540b42
Accept-Ranges: bytes
Content-Length: 0
オブジェクトのコピー
新規オブジェクトへのパスが指定された PUT
は、x-amz-copy-source
ヘッダーで指定された別のオブジェクトの新規コピーを作成します。 変更しない限り、メタデータは同じままです。
個人を特定できる情報(PII):バケツやオブジェクトに_名前をつける_際には、名前、場所、その他の手段によってユーザ(自然人)を特定できるような情報は使わないようにしましょう。
オブジェクトを (ロケーション間でも) コピーしても、パブリック・アウトバウンド帯域幅の料金は発生しません。 すべてのデータは COS 内部ネットワーク内に残ります。
Satellite 環境では、すべての操作がサポートされているわけではありません。 詳しくは、 サポートされる Satellite API を参照してください。
構文
PUT https://{endpoint}/{bucket-name}/{object-name} # path style
PUT https://{bucket-name}.{endpoint}/{object-name} # virtual host style
オプションのヘッダー
ヘッダー | タイプ | 説明 |
---|---|---|
x-amz-metadata-directive |
ストリング (COPY または REPLACE ) |
REPLACE の場合、元のメタデータは指定された新しいメタデータで上書きされます。 |
x-amz-tagging |
ストリング | オブジェクトに適用するタグのセット。照会パラメーターとしてフォーマット設定されます ("SomeKey=SomeValue" )。 |
x-amz-tagging-directive |
ストリング (COPY または REPLACE ) |
REPLACE は、オリジナルのタグを、提供された新しいタグで上書きする。 |
x-amz-copy-source-if-match |
ストリング (ETag ) |
指定された ETag がソース・オブジェクトと一致する場合にコピーが作成されます。 |
x-amz-copy-source-if-none-match |
ストリング (ETag ) |
指定された ETag がソース・オブジェクトと異なる場合にコピーが作成されます。 |
x-amz-copy-source-if-unmodified-since |
ストリング (タイム・スタンプ) | 指定された日付以降にソース・オブジェクトが変更されていない場合にコピーが作成されます。 日付は有効な HTTP 日付でなければなりません (例: Wed, 30 Nov 2016 20:21:38 GMT )。 |
x-amz-copy-source-if-modified-since |
ストリング (タイム・スタンプ) | 指定された日付以降にソース・オブジェクトが変更された場合にコピーが作成されます。 日付は有効な HTTP 日付でなければなりません (例: Wed, 30 Nov 2016 20:21:38 GMT )。 |
要求の例
以下の基本的な例では、bee
バケット内の garden
オブジェクトのコピーが、apiary
バケット内に新しいキー wild-bee
で作成されます。
PUT /apiary/wild-bee HTTP/1.1
Authorization: Bearer {token}
x-amz-copy-source: /garden/bee
Host: s3.us.cloud-object-storage.appdomain.cloud
要求の例
PUT /apiary/wild-bee HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
x-amz-copy-source: /garden/bee
Host: s3.us.cloud-object-storage.appdomain.cloud
応答の例
HTTP/1.1 200 OK
Date: Wed, 30 Nov 2016 19:52:52 GMT
X-Clv-Request-Id: 72992a90-8f86-433f-b1a4-7b1b33714bed
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.137
X-Clv-S3-Version: 2.5
x-amz-request-id: 72992a90-8f86-433f-b1a4-7b1b33714bed
ETag: "853aab195ce770b0dfb294a4e9467e62"
Content-Type: application/xml
Content-Length: 240
<CopyObjectResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<LastModified>2016-11-30T19:52:53.125Z</LastModified>
<ETag>"853aab195ce770b0dfb294a4e9467e62"</ETag>
</CopyObjectResult>
オブジェクトの CORS 構成の検査
オブジェクトへのパスと共にオリジンおよび要求タイプが指定された OPTIONS
は、その要求タイプを使用してそのオリジンからそのオブジェクトにアクセス可能かどうかを検査します。 他のすべての要求とは異なり、OPTIONS 要求には authorization
ヘッダーおよび x-amx-date
ヘッダーは不要です。
Satellite 環境では、すべての操作がサポートされているわけではありません。 詳しくは、 サポートされる Satellite API を参照してください。
構文
OPTIONS https://{endpoint}/{bucket-name}/{object-name} # path style
OPTIONS https://{bucket-name}.{endpoint}/{object-name} # virtual host style
要求の例
OPTIONS /apiary/queen-bee HTTP/1.1
Access-Control-Request-Method: PUT
Origin: http://ibm.com
Host: s3.us.cloud-object-storage.appdomain.cloud
要求の例
OPTIONS /apiary/queen-bee HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Access-Control-Request-Method: PUT
Origin: http://ibm.com
Host: s3.us.cloud-object-storage.appdomain.cloud
応答の例
HTTP/1.1 200 OK
Date: Wed, 07 Dec 2016 16:23:14 GMT
X-Clv-Request-Id: 9a2ae3e1-76dd-4eec-a8f2-1a7f60f63483
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.137
X-Clv-S3-Version: 2.5
x-amz-request-id: 9a2ae3e1-76dd-4eec-a8f2-1a7f60f63483
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: PUT
Access-Control-Allow-Credentials: true
Vary: Origin, Access-Control-Request-Headers, Access-Control-Allow-Methods
Content-Length: 0
複数のパートでのオブジェクトのアップロード
大きなオブジェクトを処理する場合、マルチパート・アップロード操作でオブジェクトを IBM Cloud® Object Storage に書き込むことをお勧めします。 単一オブジェクトのアップロードは一連のパーツとして実行でき、これらのパーツは任意の順序で並行して個別にアップロードできます。 アップロードが完了した時点で、Object Storage はすべてのパーツを単一オブジェクトとして表します。 これには、ネットワーク割り込みが原因で大規模なアップロードが失敗することがない、時間の経過とともにアップロードを一時停止および再開できる、オブジェクトの作成中にそのオブジェクトをアップロードできるなど、多くの利点があります。
複数パーツ・アップロードは、5 MB を超えるオブジェクトに対してのみ使用可能です。 50 GB より小さいオブジェクトの場合、最適なパフォーマンスを得るため、パートのサイズとして 20 MB から 100 MB が推奨されます。 それより大きいオブジェクトの場合、パーツのサイズを増やしてもパフォーマンスへの大きな影響はありません。
複雑さが増すため、開発者はマルチパート・アップロードをサポートするライブラリーを使用することが推奨されています。
不完全な複数パーツ・アップロードは、オブジェクトが削除されるか、AbortIncompleteMultipartUpload
を使用して複数パーツ・アップロードが中止されるまで保持されます。 不完全な複数パーツ・アップロードが中止されない場合、部分アップロードによってリソースの使用が継続されます。 インターフェースの設計でこの点を考慮し、不完全な複数パーツ・アップロードをクリーンアップする必要があります。
オブジェクトを複数のパートでアップロードするには、以下の 3 つのフェーズがあります。
- アップロードが開始され、
UploadId
が作成されます。 - 個々のパートは、順次パート番号およびオブジェクトの
UploadId
を指定してアップロードされます。 - すべてのパートのアップロードが完了すると、
UploadId
と、各パート番号およびそれぞれのEtag
値をリストする XML ブロックを指定した要求を送信することでアップロードが完了します。
マルチパート・アップロードの開始
照会パラメーター POST
が指定された upload
がオブジェクトに対して発行されると、新しい UploadId
値が作成され、アップロードされるオブジェクトの各パートによってその値が参照されます。
個人を特定できる情報(PII):バケツやオブジェクトに_名前をつける_際には、名前、場所、その他の手段によってユーザ(自然人)を特定できるような情報は使わないようにしましょう。
Satellite 環境では、すべての操作がサポートされているわけではありません。 詳しくは、 サポートされる Satellite API を参照してください。
構文
POST https://{endpoint}/{bucket-name}/{object-name}?uploads= # path style
POST https://{bucket-name}.{endpoint}/{object-name}?uploads= # virtual host style
要求の例
POST /some-bucket/multipart-object-123?uploads= HTTP/1.1
Authorization: Bearer {token}
Host: s3.us.cloud-object-storage.appdomain.cloud
要求の例
POST /some-bucket/multipart-object-123?uploads= HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Host: s3.us.cloud-object-storage.appdomain.cloud
応答の例
HTTP/1.1 200 OK
Date: Fri, 03 Mar 2017 20:34:12 GMT
X-Clv-Request-Id: 258fdd5a-f9be-40f0-990f-5f4225e0c8e5
Accept-Ranges: bytes
Server: Cleversafe/3.9.1.114
X-Clv-S3-Version: 2.5
Content-Type: application/xml
Content-Length: 276
<InitiateMultipartUploadResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Bucket>some-bucket</Bucket>
<Key>multipart-object-123</Key>
<UploadId>0000015a-95e1-4326-654e-a1b57887784f</UploadId>
</InitiateMultipartUploadResult>
パーツをアップロードします
照会パラメーター PUT
および partNumber
が指定された uploadId
要求がオブジェクトに対して発行されると、オブジェクトの 1 つのパートがアップロードされます。 パートは順次または並列にアップロードされることが可能ですが、順番に番号が付けられている必要があります。
個人を特定できる情報(PII):バケツやオブジェクトに_名前をつける_際には、名前、場所、その他の手段によってユーザ(自然人)を特定できるような情報は使わないようにしましょう。
Satellite 環境では、すべての操作がサポートされているわけではありません。 詳しくは、 サポートされる Satellite API を参照してください。
構文
PUT https://{endpoint}/{bucket-name}/{object-name}?partNumber={sequential-integer}&uploadId={uploadId}= # path style
PUT https://{bucket-name}.{endpoint}/{object-name}?partNumber={sequential-integer}&uploadId={uploadId}= # virtual host style
要求の例
PUT /some-bucket/multipart-object-123?partNumber=1&uploadId=0000015a-df89-51d0-2790-dee1ac994053 HTTP/1.1
Authorization: Bearer {token}
Content-Type: application/pdf
Host: s3.us.cloud-object-storage.appdomain.cloud
Content-Length: 13374550
要求の例
PUT /some-bucket/multipart-object-123?partNumber=1&uploadId=0000015a-df89-51d0-2790-dee1ac994053 HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
x-amz-content-sha256: STREAMING-AWS4-HMAC-SHA256-PAYLOAD
Content-Encoding: aws-chunked
x-amz-decoded-content-length: 13374550
Content-Type: application/pdf
Host: s3.us.cloud-object-storage.appdomain.cloud
Content-Length: 13374550
応答の例
HTTP/1.1 200 OK
Date: Sat, 18 Mar 2017 03:56:41 GMT
X-Clv-Request-Id: 17ba921d-1c27-4f31-8396-2e6588be5c6d
Accept-Ranges: bytes
Server: Cleversafe/3.9.1.114
X-Clv-S3-Version: 2.5
ETag: "7417ca8d45a71b692168f0419c17fe2f"
Content-Length: 0
パートのリスト
アクティブな GET
が照会パラメーターとして指定され、マルチパート・オブジェクトへのパスが指定された UploadID
は、オブジェクトのすべてのパートのリストを返します。
Satellite 環境では、すべての操作がサポートされているわけではありません。 詳しくは、 サポートされる Satellite API を参照してください。
構文
GET https://{endpoint}/{bucket-name}/{object-name}?uploadId={uploadId} # path style
GET https://{bucket-name}.{endpoint}/{object-name}?uploadId={uploadId} # virtual host style
照会パラメーター
| パラメータ|必須か?| タイプ|説明 |---------------------|-----------|--------|----------------------------------------------------------| | uploadId
| 必須 | ストリング | マルチパート・アップロードの初期化時に返されるアップロード ID。| | max-parts
| オプション | ストリング
| デフォルトは 1,000 です。| | part-number-marker
| オプション | ストリング | パーツのリストの開始位置を定義します。|
要求の例
GET /farm/spaceship?uploadId=01000162-3f46-6ab8-4b5f-f7060b310f37 HTTP/1.1
Authorization: bearer {token}
Host: s3.us.cloud-object-storage.appdomain.cloud
要求の例
GET /farm/spaceship?uploadId=01000162-3f46-6ab8-4b5f-f7060b310f37 HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Host: s3.us.cloud-object-storage.appdomain.cloud
応答の例
HTTP/1.1 200 OK
Date: Mon, 19 Mar 2018 17:21:08 GMT
X-Clv-Request-Id: 6544044d-4f88-4bb6-9ee5-bfadf5023249
Server: Cleversafe/3.12.4.20
X-Clv-S3-Version: 2.5
Accept-Ranges: bytes
Content-Type: application/xml
Content-Length: 743
<ListPartsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Bucket>farm</Bucket>
<Key>spaceship</Key>
<UploadId>01000162-3f46-6ab8-4b5f-f7060b310f37</UploadId>
<Initiator>
<ID>d6f04d83-6c4f-4a62-a165-696756d63903</ID>
<DisplayName>d6f04d83-6c4f-4a62-a165-696756d63903</DisplayName>
</Initiator>
<Owner>
<ID>d6f04d83-6c4f-4a62-a165-696756d63903</ID>
<DisplayName>d6f04d83-6c4f-4a62-a165-696756d63903</DisplayName>
</Owner>
<StorageClass>STANDARD</StorageClass>
<MaxParts>1000</MaxParts>
<IsTruncated>false</IsTruncated>
<Part>
<PartNumber>1</PartNumber>
<LastModified>2018-03-19T17:20:35.482Z</LastModified>
<ETag>"bb03cf4fa8603fe407a65ee1dba55265"</ETag>
<Size>7128094</Size>
</Part>
</ListPartsResult>
マルチパート・アップロードの完了
照会パラメーター POST
が指定され、適切な XML ブロックが本体に指定された uploadId
要求がオブジェクトに対して発行されると、マルチパート・アップロードが実行されます。
Satellite 環境では、すべての操作がサポートされているわけではありません。 詳しくは、 サポートされる Satellite API を参照してください。
構文
POST https://{endpoint}/{bucket-name}/{object-name}?uploadId={uploadId}= # path style
POST https://{bucket-name}.{endpoint}/{object-name}?uploadId={uploadId}= # virtual host style
要求の本体には、以下のスキーマの XML ブロックが含まれている必要があります。
エレメント | タイプ | 子 | 上位 | 制約 |
---|---|---|---|---|
CompleteMultipartUpload | コンテナー | パーツ |
|
|
パーツ | コンテナー | PartNumber, ETag |
の削除 |
|
PartNumber | ストリング |
|
オブジェクト | 有効な部品番号 |
ETag |
ストリング |
|
オブジェクト | 有効な ETag 値ストリング |
<CompleteMultipartUpload>
<Part>
<PartNumber>{sequential part number}</PartNumber>
<ETag>{ETag value from part upload response header}</ETag>
</Part>
</CompleteMultipartUpload>
要求の例
POST /some-bucket/multipart-object-123?uploadId=0000015a-df89-51d0-2790-dee1ac994053 HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain; charset=utf-8
Host: s3.us.cloud-object-storage.appdomain.cloud
Content-Length: 257
要求の例
POST /some-bucket/multipart-object-123?uploadId=0000015a-df89-51d0-2790-dee1ac994053 HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Content-Type: text/plain; charset=utf-8
Host: s3.us.cloud-object-storage.appdomain.cloud
Content-Length: 257
<CompleteMultipartUpload>
<Part>
<PartNumber>1</PartNumber>
<ETag>"7417ca8d45a71b692168f0419c17fe2f"</ETag>
</Part>
<Part>
<PartNumber>2</PartNumber>
<ETag>"7417ca8d45a71b692168f0419c17fe2f"</ETag>
</Part>
</CompleteMultipartUpload>
応答の例
HTTP/1.1 200 OK
Date: Fri, 03 Mar 2017 19:18:44 GMT
X-Clv-Request-Id: c8be10e7-94c4-4c03-9960-6f242b42424d
Accept-Ranges: bytes
Server: Cleversafe/3.9.1.114
X-Clv-S3-Version: 2.5
ETag: "765ba3df36cf24e49f67fc6f689dfc6e-2"
Content-Type: application/xml
Content-Length: 364
<CompleteMultipartUploadResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Location>http://s3.us.cloud-object-storage.appdomain.cloud/zopse/multipart-object-123</Location>
<Bucket>some-bucket</Bucket>
<Key>multipart-object-123</Key>
<ETag>"765ba3df36cf24e49f67fc6f689dfc6e-2"</ETag>
</CompleteMultipartUploadResult>
未完了マルチパート・アップロードの打ち切り
照会パラメーター DELETE
が指定された uploadId
要求がオブジェクトに対して発行されると、マルチパート・アップロードの終了していないパートがすべて削除されます。
Satellite 環境では、すべての操作がサポートされているわけではありません。 詳しくは、 サポートされる Satellite API を参照してください。
構文
DELETE https://{endpoint}/{bucket-name}/{object-name}?uploadId={uploadId}= # path style
DELETE https://{bucket-name}.{endpoint}/{object-name}?uploadId={uploadId}= # virtual host style
要求の例
DELETE /some-bucket/multipart-object-123?uploadId=0000015a-df89-51d0-2790-dee1ac994053 HTTP/1.1
Authorization: Bearer {token}
Host: s3.us.cloud-object-storage.appdomain.cloud
要求の例
DELETE /some-bucket/multipart-object-123?uploadId=0000015a-df89-51d0-2790-dee1ac994053 HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Host: s3.us.cloud-object-storage.appdomain.cloud
応答の例
HTTP/1.1 204 No Content
Date: Thu, 16 Mar 2017 22:07:48 GMT
X-Clv-Request-Id: 06d67542-6a3f-4616-be25-fc4dbdf242ad
Accept-Ranges: bytes
Server: Cleversafe/3.9.1.114
X-Clv-S3-Version: 2.5
アーカイブ済みオブジェクトの一時的なリストア
照会パラメーター POST
が指定された restore
要求がオブジェクトに対して発行されると、アーカイブ済みオブジェクトの一時的なリストアが要求されます。 ペイロードの保全性検査のために Content-MD5
ヘッダーが必須です。
オブジェクトをダウンロードまたは変更する前に、アーカイブ済みオブジェクトをリストアする必要があります。 オブジェクトの存続期間 (それを過ぎるとオブジェクトの一時コピーは削除されます) を指定する必要があります。
ライフサイクル・ポリシー遷移ストレージ・クラスが GLACIER
のバケットの場合、リストアされたコピーがアクセス可能になるまでに最大 12 時間の遅延が生じる可能性があります。 遷移ストレージ・クラスが ACCELERATED
に設定されている場合、リストアされたオブジェクトが使用可能になるまでに最大 2 時間の遅延が生じる可能性があります。 リストアされたコピーが使用可能かどうかを HEAD 要求で検査できます。
オブジェクトを永続的にリストアするには、アクティブなライフサイクル構成がないバケットにオブジェクトをコピーする必要があります。
Satellite 環境では、すべての操作がサポートされているわけではありません。 詳しくは、 サポートされる Satellite API を参照してください。
構文
POST https://{endpoint}/{bucket-name}/{object-name}?restore # path style
POST https://{bucket-name}.{endpoint}/{object-name}?restore # virtual host style
ペイロード要素
要求の本体には、以下のスキーマの XML ブロックが含まれている必要があります。
エレメント | タイプ | 子 | 上位 | 制約 |
---|---|---|---|---|
RestoreRequest | コンテナー | Days、GlacierJobParameters | なし | なし |
日数 | 整数 | なし | RestoreRequest | 一時的にリストアされたオブジェクトの存続期間を指定します。 オブジェクトの復元されたコピーを存在させることができる最小日数は 1 です。 復元期間が経過すると, オブジェクトの一時コピーが除去されます。 |
GlacierJobParameters | ストリング | Tier | RestoreRequest | なし |
Tier | ストリング | なし | GlacierJobParameters | オプション。ブランクのままにすると、デフォルトで、オブジェクトが書き込まれたときに設定されていたポリシーの Storage Tier に関連付けられている値になります。 この値をブランクのままにしない場合、バケットのライフサイクル・ポリシーの遷移ストレージ・クラスが GLACIER に設定されている場合は Bulk に設定する 必要 があり、遷移ストレージ・クラスが ACCELERATED に設定されている場合は Accelerated に設定する 必要 があります。 |
<RestoreRequest>
<Days>{integer}</Days>
<GlacierJobParameters>
<Tier>Bulk</Tier>
</GlacierJobParameters>
</RestoreRequest>
要求の例
POST /apiary/queenbee?restore HTTP/1.1
Authorization: {authorization-string}
Content-Type: text/plain
Content-MD5: rgRRGfd/OytcM7O5gIaQ==
Content-Length: 305
Host: s3.us.cloud-object-storage.appdomain.cloud
要求の例
POST /apiary/queenbee?restore HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Content-MD5: rgRRGfd/OytcM7O5gIaQ==
Content-Length: 305
Host: s3.us.cloud-object-storage.appdomain.cloud
<RestoreRequest>
<Days>3</Days>
<GlacierJobParameters>
<Tier>Bulk</Tier>
</GlacierJobParameters>
</RestoreRequest>
応答の例
HTTP/1.1 202 Accepted
Date: Thu, 16 Mar 2017 22:07:48 GMT
X-Clv-Request-Id: 06d67542-6a3f-4616-be25-fc4dbdf242ad
Accept-Ranges: bytes
Server: Cleversafe/3.9.1.114
X-Clv-S3-Version: 2.5
メタデータの更新
既存のオブジェクトのメタデータを更新する方法は、2 とおりあります。
- 新しいメタデータと元のオブジェクト・コンテンツが指定された
PUT
要求 - 元のオブジェクトをコピー・ソースとして指定し、新しいメタデータを使用する
COPY
要求の実行
すべてのメタデータ・キーには x-amz-meta-
接頭語を付ける必要があります。
Satellite 環境では、すべての操作がサポートされているわけではありません。 詳しくは、 サポートされる Satellite API を参照してください。
PUT を使用したメタデータの更新
コンテンツが上書きされるため、PUT
要求には既存のオブジェクトのコピーが必要です。
構文
PUT https://{endpoint}/{bucket-name}/{object-name} # path style
PUT https://{bucket-name}.{endpoint}/{object-name} # virtual host style
要求の例
PUT /apiary/queen-bee HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain; charset=utf-8
Host: s3.us.cloud-object-storage.appdomain.cloud
x-amz-meta-key1: value1
x-amz-meta-key2: value2
Content-Length: 533
The 'queen' bee is developed from larvae selected by worker bees and fed a
substance referred to as 'royal jelly' to accelerate sexual maturity. After a
short while the 'queen' is the mother of nearly every bee in the hive, and
the colony will fight fiercely to protect her.
要求の例
PUT /apiary/queen-bee HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain; charset=utf-8
Content-MD5: M625BaNwd/OytcM7O5gIaQ==
Host: s3.us.cloud-object-storage.appdomain.cloud
x-amz-meta-key1: value1
x-amz-meta-key2: value2
Content-Length: 533
The 'queen' bee is developed from larvae selected by worker bees and fed a
substance referred to as 'royal jelly' to accelerate sexual maturity. After a
short while the 'queen' is the mother of nearly every bee in the hive, and
the colony will fight fiercely to protect her.
応答の例
HTTP/1.1 200 OK
Date: Thu, 25 Aug 2016 18:30:02 GMT
X-Clv-Request-Id: 9f0ca49a-ae13-4d2d-925b-117b157cf5c3
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.121
X-Clv-S3-Version: 2.5
x-amz-request-id: 9f0ca49a-ae13-4d2d-925b-117b157cf5c3
ETag: "3ca744fa96cb95e92081708887f63de5"
Content-Length: 0
COPY を使用したメタデータの更新
COPY
要求の詳細については、 ここ を参照してください。
構文
PUT https://{endpoint}/{bucket-name}/{object-name} # path style
PUT https://{bucket-name}.{endpoint}/{object-name} # virtual host style
要求の例
PUT /apiary/queen-bee HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain; charset=utf-8
Host: s3.us.cloud-object-storage.appdomain.cloud
x-amz-copy-source: /apiary/queen-bee
x-amz-metadata-directive: REPLACE
x-amz-meta-key1: value1
x-amz-meta-key2: value2
要求の例
PUT /apiary/queen-bee HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
x-amz-copy-source: /apiary/queen-bee
x-amz-metadata-directive: REPLACE
x-amz-meta-key1: value1
x-amz-meta-key2: value2
応答の例
HTTP/1.1 200 OK
Date: Thu, 25 Aug 2016 18:30:02 GMT
X-Clv-Request-Id: 9f0ca49a-ae13-4d2d-925b-117b157cf5c3
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.121
X-Clv-S3-Version: 2.5
x-amz-request-id: 9f0ca49a-ae13-4d2d-925b-117b157cf5c3
ETag: "3ca744fa96cb95e92081708887f63de5"
Content-Length: 0
次のステップ
バケット操作について詳しくは、 資料 を参照してください。