3.4. S3 オブジェクト操作


開発者は、Ceph Object Gateway 経由で Amazon S3 アプリケーションプログラミングインターフェイス (API) を使用してオブジェクト操作を行うことができます。

以下の表は、関数のサポートステータスとともに、オブジェクトの Amazon S3 の機能操作を示しています。

表3.3 オブジェクト操作
機能状態

Get Object

サポート対象

Head object

サポート対象

Put Object Lock

サポート対象

Get Object Lock

サポート対象

Put Object Legal Hold

サポート対象

Get Object Legal Hold

サポート対象

Put Object Retention

サポート対象

Get Object Retention

サポート対象

Put Object Tagging

サポート対象

Get Object Tagging

サポート対象

Delete Object Tagging

サポート対象

Put Object

サポート対象

Delete Object

サポート対象

Delete Multiple Objects

サポート対象

Get Object ACLs

サポート対象

Put Object ACLs

サポート対象

Copy Object

サポート対象

Post Object

サポート対象

Options Object

サポート対象

Initiate Multipart Upload

サポート対象

Add a Part to a Multipart Upload

サポート対象

List Parts of a Multipart Upload

サポート対象

Assemble Multipart Upload

サポート対象

Copy Multipart Upload

サポート対象

Abort Multipart Upload

サポート対象

マルチテナンシー

サポート対象

前提条件

  • 稼働中の Red Hat Ceph Storage クラスターがある。
  • RESTful クライアント。

3.4.1. S3 get an object from a bucket

バケットからオブジェクトを取得します。

構文

GET /BUCKET/OBJECT HTTP/1.1

versionId サブリソースを追加して、オブジェクトの特定のバージョンを取得します。

構文

GET /BUCKET/OBJECT?versionId=VERSION_ID HTTP/1.1

リクエストヘッダー

partNumber
説明
読み取られるオブジェクトのパーツ番号。これにより、指定した部分に対する範囲指定の GET リクエストが有効になります。このリクエストは、オブジェクトの一部だけをダウンロードする場合に便利です。
有効な値
1 から 10,000 までの正の整数。
必須
いいえ
range
説明

取得するオブジェクトの範囲。

注記

各 GET リクエストで複数のデータ範囲を指定することはサポートされていません。

有効な値
範囲: bytes=beginbyte-endbyte
必須
いいえ
if-modified-since
説明
タイムスタンプ以降に変更した場合にのみ取得します。
有効な値
Timestamp
必須
いいえ
if-unmodified-since
説明
タイムスタンプ以降変更されていない場合にのみ取得します。
有効な値
Timestamp
必須
いいえ
if-match
説明
オブジェクトの ETag が ETag と一致する場合にのみ取得します。
有効な値
エンティティータグ
必須
いいえ
if-none-match
説明
オブジェクトの ETag が ETag と一致しない場合にのみ取得します。
有効な値
エンティティータグ
必須
いいえ

リクエストヘッダーを含む構文

GET /BUCKET/OBJECT?partNumber=PARTNUMBER&versionId=VersionId HTTP/1.1
Host: Bucket.s3.amazonaws.com
If-Match: IfMatch
If-Modified-Since: IfModifiedSince
If-None-Match: IfNoneMatch
If-Unmodified-Since: IfUnmodifiedSince
Range: Range

レスポンスヘッダー

Content-Range
説明
データ範囲 (範囲ヘッダーフィールドがリクエストに指定された場合のみを返します)。
x-amz-version-id
説明
バージョン ID または Null を返します。
x-rgw-replicated-from
説明
Ceph マルチゾーン環境内のオブジェクトのレプリケーションパスに関係するソースゾーンと中間ゾーンを返します。このヘッダーは、GetObject および HeadObject 応答に含まれます。
x-rgw-replicated-at
説明
オブジェクトが現在のロケーションにレプリケートされた日時を示すタイムスタンプを返します。このヘッダーを Last-Modified ヘッダーと併用することで、レプリケーションが完了するまでの期間を計算できます。
注記

現在のところ、x-rgw-replicated-fromx-rgw-replicated-at は、レプリケートされたゾーンで s3cmd や curl verify などのクライアントツールによってサポートされています。これらのツールは、検証のために radosgw-admin コマンドに加えて使用できます。radosgw-admin オブジェクト stat には、ヘッダーキー x-rgw-replicated-from が欠落しているという既知の問題 BZ-2312552 があります。

3.4.2. S3 オブジェクト属性の取得

S3 GetObjectAttributes API を使用して、オブジェクトのデータを返さずにオブジェクトのメタデータを取得します。GetObjectAttributes API は、HeadObject と ListParts の機能を組み合わせます。これら 2 つの呼び出しによって返されるすべての情報を 1 つのリクエストで提供すると、プロセスが合理化され、必要な API 呼び出しの数が削減されます。

構文

GET /BUCKET/OBJECT?attributes&versionId=VersionId

GET /testbucket/testobject?attributes&versionId=testversionid
Host: Bucket.s3.amazonaws.com
x-amz-max-parts: MaxParts
x-amz-part-number-marker: PartNumberMarker
x-amz-server-side-encryption-customer-algorithm: SSECustomerAlgorithm
x-amz-server-side-encryption-customer-key: SSECustomerKey
x-amz-server-side-encryption-customer-key-MD5: SSECustomerKeyMD5
x-amz-request-payer: RequestPayer
x-amz-expected-bucket-owner: ExpectedBucketOwner
x-amz-object-attributes: ObjectAttributes

versionId サブリソースは、オブジェクトの特定のバージョンを取得します。

3.4.2.1. 要求エンティティー

GET /{Key+}?attributes&versionId=VersionId HTTP/1.1
Host: Bucket.s3.amazonaws.com
x-amz-max-parts: MaxParts
x-amz-part-number-marker: PartNumberMarker
x-amz-server-side-encryption-customer-algorithm: SSECustomerAlgorithm
x-amz-server-side-encryption-customer-key: SSECustomerKey
x-amz-server-side-encryption-customer-key-MD5: SSECustomerKeyMD5
x-amz-request-payer: RequestPayer
x-amz-expected-bucket-owner: ExpectedBucketOwner
x-amz-object-attributes: ObjectAttributes

3.4.2.2. リクエストヘッダーを取得する

名前

説明

タイプ/有効な値

必須/オプション

Bucket

オブジェクトを含むバケットの名前。

String

はい

Key

オブジェクトキー。

String

はい

versionId

オブジェクトの特定のバージョンを参照するのに使用されるバージョン ID。

String

いいえ

x-amz-max-parts

返されるパーツの最大数を設定します。

String

いいえ

x-amz-object-attributes

応答で返されるルートレベルのフィールドを指定します。指定しないフィールドは返されません。

ETag、Checksum、ObjectParts、StorageClass、ObjectSize

はい

x-amz-part-number-marker

リスト表示を開始する部分を指定します。部品番号が大きい部品のみがリストされます。

String

いいえ

3.4.2.3. 応答エンティティー

HTTP/1.1 200
x-amz-delete-marker: DeleteMarker
Last-Modified: LastModified
x-amz-version-id: VersionId
x-amz-request-charged: RequestCharged
<?xml version="1.0" encoding="UTF-8"?>
<GetObjectAttributesOutput>
   <ETag>string</ETag>
   <Checksum>
      <ChecksumCRC32>string</ChecksumCRC32>
      <ChecksumCRC32C>string</ChecksumCRC32C>
      <ChecksumSHA1>string</ChecksumSHA1>
      <ChecksumSHA256>string</ChecksumSHA256>
   </Checksum>
   <ObjectParts>
      <IsTruncated>boolean</IsTruncated>
      <MaxParts>integer</MaxParts>
      <NextPartNumberMarker>integer</NextPartNumberMarker>
      <PartNumberMarker>integer</PartNumberMarker>
      <Part>
         <ChecksumCRC32>string</ChecksumCRC32>
         <ChecksumCRC32C>string</ChecksumCRC32C>
         <ChecksumSHA1>string</ChecksumSHA1>
         <ChecksumSHA256>string</ChecksumSHA256>
         <PartNumber>integer</PartNumber>
         <Size>long</Size>
      </Part>
      ...
      <PartsCount>integer</PartsCount>
   </ObjectParts>
   <StorageClass>string</StorageClass>
   <ObjectSize>long</ObjectSize>
</GetObjectAttributesOutput>

3.4.2.4. レスポンスヘッダーを取得する

名前

説明

last modified

オブジェクトの作成日。

x-amz-delete-marker

取得されたオブジェクトが削除マーカーであったか (true)、そうでなかったか (false) を指定します。false の場合は、このレスポンスヘッダーがレスポンスに表示されません。

x-amz-request-charged

存在する場合は、リクエストに対してリクエストを行ったユーザーが正常に課金されたことを示します。

x-amz-version-id

オブジェクトのバージョン ID。

GetObjectAttributesOutput

GetObjectAttributesOutput パラメーターの TRoot レベルタグ。

Checksum

オブジェクトのチェックサムまたはダイジェスト。ChecksumCRC32 (文字列) オブジェクトの base64 エンコードされた 32 ビット CRC-32 チェックサム。これは、オブジェクトとともにアップロードされた場合にのみ存在します。マルチパートアップロードを使用してアップロードされたオブジェクトに対して API 操作を使用する場合、この値は完全なオブジェクトの直接のチェックサム値ではない可能性があります。代わりに、各部品のチェックサム値に基づいて計算されます。マルチパートアップロードでチェックサムを計算する方法の詳細は、Amazon S3 ユーザーガイドのオブジェクトの整合性のチェックを参照してください。ChecksumCRC32C (文字列)

オブジェクトの base64 エンコードされた 32 ビット CRC-32C チェックサム。これは、オブジェクトとともにアップロードされた場合にのみ存在します。マルチパートアップロードを使用してアップロードされたオブジェクトに対して API 操作を使用する場合、この値は完全なオブジェクトの直接のチェックサム値ではない可能性があります。代わりに、各部品のチェックサム値に基づいて計算されます。マルチパートアップロードでチェックサムを計算する方法の詳細は、Amazon S3 ユーザーガイドのオブジェクトの整合性のチェックを参照してください。

ChecksumSHA1 (文字列)

オブジェクトの base64 エンコードされた 160 ビット SHA-1 ダイジェスト。これは、オブジェクトとともにアップロードされた場合にのみ存在します。マルチパートアップロードを使用してアップロードされたオブジェクトに対して API 操作を使用する場合、この値は完全なオブジェクトの直接のチェックサム値ではない可能性があります。代わりに、各部品のチェックサム値に基づいて計算されます。マルチパートアップロードでチェックサムを計算する方法の詳細は、Amazon S3 ユーザーガイドのオブジェクトの整合性のチェックを参照してください。

ChecksumSHA256 (文字列)

オブジェクトの base64 エンコードされた 256 ビット SHA-256 ダイジェスト。これは、オブジェクトとともにアップロードされた場合にのみ存在します。マルチパートアップロードを使用してアップロードされたオブジェクトに対して API 操作を使用する場合、この値は完全なオブジェクトの直接のチェックサム値ではない可能性があります。代わりに、各部品のチェックサム値に基づいて計算されます。マルチパートアップロードでチェックサムを計算する方法の詳細は、Amazon S3 ユーザーガイドのオブジェクトの整合性のチェックを参照してください。

ObjectParts

オブジェクトの作成日。マルチパートアップロードに関連付けられたパーツのコレクション。ObjectParts (構造)

マルチパートアップロードに関連付けられたパーツのコレクション。

TotalPartsCount (整数)

部品の総数。

PartNumberMarker (整数)

現在のパーツのマーカー。

NextPartNumberMarker (整数)

リストが切り捨てられると、この要素はリストの最後の部分と、後続のリクエストの PartNumberMarker リクエストパラメーターに使用する値を指定します。

MaxParts (整数)

応答で許可されるパーツの最大数。

IsTruncated (ブール値)

返されるパーツのリストが切り捨てられるかどうかを示します。true の値は、リストが切り捨てられたことを示します。パーツの数が MaxParts 要素で返される制限を超える場合は、リストが切り捨てられることがあります。

Parts (リスト)

特定のパーツに関連する要素のコンテナー。応答には 0 個以上の Parts 要素を含めることができます。注記

汎用バケット - GetObjectAttributes の場合、リクエストで指定されたオブジェクトに追加のチェックサム (x-amz-checksum-crc32、x-amz-checksum-crc32c、x-amz-checksum-sha1、または x-amz-checksum-sha256 を含む) が適用されていないと、レスポンスが Part を返しません。ディレクトリーバケット - GetObjectAttributes の場合、リクエストで指定されたオブジェクトに追加のチェックサムが適用されているかどうかに関係なく、レスポンスは Part を返します。

(構造)

個々の部品に関連する要素のコンテナー。

PartNumber (整数)

部品を識別する部品番号。この値は 1 - 10,000 の正の整数です。

Size (Long)

アップロードされた部分のサイズ (バイト単位)。

ChecksumCRC32 (文字列)

このヘッダーは、受信したデータが最初に送信されたデータと同じであることを確認するためのデータ整合性チェックとして使用できます。このヘッダーは、オブジェクトの base64 エンコードされた 32 ビット CRC-32 チェックサムを指定します。詳細は、Amazon S3 ユーザーガイドのオブジェクトの整合性の確認を参照してください。

ChecksumCRC32C (文字列)

オブジェクトの base64 エンコードされた 32 ビット CRC-32C チェックサム。これは、オブジェクトとともにアップロードされた場合にのみ存在します。マルチパートアップロードを使用してアップロードされたオブジェクトに対して API 操作を使用する場合、この値は完全なオブジェクトの直接のチェックサム値ではない可能性があります。代わりに、各部品のチェックサム値に基づいて計算されます。マルチパートアップロードでチェックサムを計算する方法の詳細は、Amazon S3 ユーザーガイドのオブジェクトの整合性のチェックを参照してください。

ChecksumSHA1 (文字列)

オブジェクトの base64 エンコードされた 160 ビット SHA-1 ダイジェスト。これは、オブジェクトとともにアップロードされた場合にのみ存在します。マルチパートアップロードを使用してアップロードされたオブジェクトに対して API 操作を使用する場合、この値は完全なオブジェクトの直接のチェックサム値ではない可能性があります。代わりに、各部品のチェックサム値に基づいて計算されます。マルチパートアップロードでチェックサムを計算する方法の詳細は、Amazon S3 ユーザーガイドのオブジェクトの整合性のチェックを参照してください。

ChecksumSHA256 (文字列)

オブジェクトの base64 エンコードされた 256 ビット SHA-256 ダイジェスト。これは、オブジェクトとともにアップロードされた場合にのみ存在します。マルチパートアップロードを使用してアップロードされたオブジェクトに対して API 操作を使用する場合、この値は完全なオブジェクトの直接のチェックサム値ではない可能性があります。代わりに、各部品のチェックサム値に基づいて計算されます。マルチパートアップロードでチェックサムを計算する方法の詳細は、Amazon S3 ユーザーガイドのオブジェクトの整合性のチェックを参照してください。

ObjectSize

オブジェクトのサイズ (バイト単位)。

StorageClass

オブジェクトのストレージクラス情報を提供します。Amazon S3 は、S3 標準ストレージクラスのオブジェクトを除くすべてのオブジェクトに対してこのヘッダーを返します。

3.4.3. オブジェクトの同期レプリケーションヘッダーを取得する

オブジェクトに関する情報を返します。この要求は Get Object 要求と同じヘッダー情報を返しますが、オブジェクトデータペイロードではなくメタデータのみが含まれます。

オブジェクトの現行バージョンを取得します。

構文

HEAD /BUCKET/OBJECT HTTP/1.1

versionId サブリソースを追加して、特定バージョンの情報を取得します。

構文

HEAD /BUCKET/OBJECT?versionId=VERSION_ID HTTP/1.1

リクエストヘッダー

range
説明
取得するオブジェクトの範囲。
有効な値
範囲: bytes=beginbyte-endbyte
必須
いいえ
if-modified-since
説明
タイムスタンプ以降に変更した場合にのみ取得します。
有効な値
Timestamp
必須
いいえ
if-match
説明
オブジェクトの ETag が ETag と一致する場合にのみ取得します。
有効な値
エンティティータグ
必須
いいえ
if-none-match
説明
オブジェクトの ETag が ETag と一致する場合にのみ取得します。
有効な値
エンティティータグ
必須
いいえ

レスポンスヘッダー

x-amz-version-id
説明
バージョン ID または Null を返します。
x-rgw-replicated-from
説明
Ceph マルチゾーン環境内のオブジェクトのレプリケーションパスに関係するソースゾーンと中間ゾーンを返します。このヘッダーは、GetObject および HeadObject 応答に含まれます。
x-rgw-replicated-at
説明
オブジェクトが現在のロケーションにレプリケートされた日時を示すタイムスタンプを返します。このヘッダーを Last-Modified ヘッダーと併用することで、レプリケーションが完了するまでの期間を計算できます。
注記

現在のところ、x-rgw-replicated-fromx-rgw-replicated-at は、レプリケートされたゾーンで s3cmd や curl verify などのクライアントツールによってサポートされています。これらのツールは、検証のために radosgw-admin コマンドに加えて使用できます。radosgw-admin オブジェクト stat には、ヘッダーキー x-rgw-replicated-from が欠落しているという既知の問題 BZ-2312552 があります。

3.4.4. S3 put object lock

put object lock API は、選択したバケットにロック設定を配置します。オブジェクトロックを使用すると、Write-Once-Read-Many (WORM) モデルを使用してオブジェクトを格納できます。オブジェクトロックは、オブジェクトが一定期間または無期限に削除または上書きされないようにします。Object Lock 設定に指定されるルールは、デフォルトで選択されるバケットにあるすべての新規オブジェクトに適用されます。

重要

バケットを作成するときにオブジェクトロックを有効にします。有効にしないと、操作が失敗します。

構文

PUT /BUCKET?object-lock HTTP/1.1

PUT /testbucket?object-lock HTTP/1.1

リクエストエンティティー

ObjectLockConfiguration
説明
要求のコンテナー。
コンテナー
必須
はい
ObjectLockEnabled
説明
このバケットにオブジェクトロック設定が有効になっているかどうかを示します。
String
必須
はい
ルール
説明
指定されたバケットの位置にあるオブジェクトロックルール。
コンテナー
必須
いいえ
DefaultRetention
説明
指定されたバケットに設定される新規オブジェクトに適用されるデフォルトの保持期間。
コンテナー
必須
いいえ
方式
説明
デフォルトのオブジェクトのロック保持モード。有効な値は GOVERNANCE/COMPLIANCE です。
コンテナー
必須
はい
Days
説明
デフォルトの保持期間に指定される日数。
Integer
必須
いいえ
Years
説明
デフォルトの保持期間に指定されるの年数。
Integer
必須
いいえ

HTTP レスポンス

400
ステータスコード
MalformedXML
説明
XML は適していません。
409
ステータスコード
InvalidBucketState
説明
バケットオブジェクトのロックが有効になっていません。

関連情報

  • この API 呼び出しの詳細は、S3 API を参照してください。

3.4.5. S3 get object lock

get object lock API は、バケットのロック設定を取得します。

構文

GET /BUCKET?object-lock HTTP/1.1

GET /testbucket?object-lock HTTP/1.1

レスポンスエンティティー

ObjectLockConfiguration
説明
要求のコンテナー。
コンテナー
必須
はい
ObjectLockEnabled
説明
このバケットにオブジェクトロック設定が有効になっているかどうかを示します。
String
必須
はい
ルール
説明
指定されたバケットの位置に、オブジェクトロックルールがあります。
コンテナー
必須
いいえ
DefaultRetention
説明
指定されたバケットに設定される新規オブジェクトに適用されるデフォルトの保持期間。
コンテナー
必須
いいえ
方式
説明
デフォルトのオブジェクトのロック保持モード。有効な値は GOVERNANCE/COMPLIANCE です。
コンテナー
必須
はい
Days
説明
デフォルトの保持期間に指定される日数。
Integer
必須
いいえ
Years
説明
デフォルトの保持期間に指定されるの年数。
Integer
必須
いいえ

関連情報

  • この API 呼び出しの詳細は、S3 API を参照してください。

3.4.8. S3 put object retention

put object retention API は、オブジェクトの保持設定をオブジェクトに配置します。保持期間は、オブジェクトのバージョンを一定時間保護します。GOVERNANCE と COMPLIANCE の 2 つのモードがあります。これら 2 つの保持モードは、オブジェクトに対して異なる保護レベルを適用します。

注記

この期間中、オブジェクトは Write-Once-Read-Many 保護 (WORM 保護) され、上書きも削除もできません。

構文

PUT /BUCKET/OBJECT?retention&versionId= HTTP/1.1

PUT /testbucket/testobject?retention&versionId= HTTP/1.1

versionId サブリソースは、オブジェクトの特定のバージョンを取得します。

リクエストエンティティー

Retention
説明
要求のコンテナー。
コンテナー
必須
はい
方式
説明
指定されたオブジェクトの保持モード。有効な値は GOVERNANCE、COMPLIANCE です。
String
必須
はい
RetainUntilDate
説明
保持日。
形式
2020-01-05T00:00:00.000Z
Timestamp
必須
はい

関連情報

  • この API 呼び出しの詳細は、S3 API を参照してください。

3.4.9. S3 get object retention

get object retention API は、オブジェクト上でオブジェクトの保持設定を取得します。

構文

GET /BUCKET/OBJECT?retention&versionId= HTTP/1.1

GET /testbucket/testobject?retention&versionId= HTTP/1.1

versionId サブリソースは、オブジェクトの特定のバージョンを取得します。

レスポンスエンティティー

Retention
説明
要求のコンテナー。
コンテナー
必須
はい
方式
説明
指定されたオブジェクトの保持モード。有効な値は GOVERNANCE/COMPLIANCE です。
String
必須
はい
RetainUntilDate
説明
保持日。形式: 2020-01-05T00:00:00.000Z
Timestamp
必須
はい

関連情報

  • この API 呼び出しの詳細は、S3 API を参照してください。

3.4.10. S3 put object tagging

put object tagging API は、タグをオブジェクトに関連付けます。タグはキーと値のペアです。他のバージョンのタグを配置するには、versionId クエリーパラメーターを使用します。s3:PutObjectTagging アクションを実行するパーミッションが必要です。デフォルトでは、バケットの所有者はこのパーミッションを持ち、このパーミッションを他のユーザーに付与できます。

構文

PUT /BUCKET/OBJECT?tagging&versionId= HTTP/1.1

PUT /testbucket/testobject?tagging&versionId= HTTP/1.1

リクエストエンティティー

タグ付け
説明
要求のコンテナー。
コンテナー
必須
はい
TagSet
説明
タグのセットのコレクションです。
String
必須
はい

関連情報

  • この API 呼び出しの詳細は、S3 API を参照してください。

3.4.11. S3 get object tagging

get object tagging API は、オブジェクトのタグを返します。デフォルトでは、GET 操作はオブジェクトの現行バージョンの情報を返します。

注記

バージョン付けされたバケットの場合は、バケットに複数のバージョンのオブジェクトを使用できます。他のバージョンのタグを取得するには、要求に versionId クエリーパラメーターを追加します。

構文

GET /BUCKET/OBJECT?tagging&versionId= HTTP/1.1

GET /testbucket/testobject?tagging&versionId= HTTP/1.1

関連情報

  • この API 呼び出しの詳細は、S3 API を参照してください。

3.4.12. S3 delete object tagging

delete object tagging API は、指定されたオブジェクトから設定されたタグ全体を削除します。この操作を使用するには、s3:DeleteObjectTagging アクションを実行するパーミッションが必要です。

注記

特定のオブジェクトバージョンのタグを削除するには、リクエストに versionId クエリーパラメーターを追加します。

構文

DELETE /BUCKET/OBJECT?tagging&versionId= HTTP/1.1

DELETE /testbucket/testobject?tagging&versionId= HTTP/1.1

関連情報

  • この API 呼び出しの詳細は、S3 API を参照してください。

3.4.13. S3 add an object to a bucket

オブジェクトをバケットに追加します。この操作を実行するには、バケットに書き込みパーミッションが必要です。

構文

PUT /BUCKET/OBJECT HTTP/1.1

リクエストヘッダー

content-md5
説明
メッセージの base64 でエンコードされた MD-5 ハッシュ
有効な値
文字列。デフォルトや制約はありません。
必須
いいえ
content-type
説明
標準の MIME タイプ。
有効な値
MIME タイプ。デフォルト: binary/octet-stream
必須
いいえ
x-amz-meta-<…​>*
説明
ユーザーのメタデータ。オブジェクトとともに保存されます。
有効な値
8kb までの文字列。デフォルトはありません。
必須
いいえ
x-amz-acl
説明
固定 ACL。
有効な値
privatepublic-readpublic-read-writeauthenticated-read
必須
いいえ

レスポンスヘッダー

x-amz-version-id
説明
バージョン ID または Null を返します。

3.4.14. S3 delete an object

オブジェクトを削除します。含まれるバケットに WRITE パーミッションを設定する必要があります。

オブジェクトを削除します。オブジェクトのバージョン管理が有効なの場合、マーカーが作成されます。

構文

DELETE /BUCKET/OBJECT HTTP/1.1

バージョン管理が有効な場合にオブジェクトを削除するには、versionId サブリソースおよび削除するオブジェクトのバージョンを指定する必要があります。

DELETE /BUCKET/OBJECT?versionId=VERSION_ID HTTP/1.1

3.4.15. S3 delete multiple objects

この API 呼び出しは、バケットから複数のオブジェクトを削除します。

構文

POST /BUCKET/OBJECT?delete HTTP/1.1

3.4.16. S3 get an object's Access Control List (ACL)

オブジェクトの現行バージョンの ACL を返します。

構文

GET /BUCKET/OBJECT?acl HTTP/1.1

versionId サブリソースを追加して、特定バージョンの ACL を取得します。

構文

GET /BUCKET/OBJECT?versionId=VERSION_ID&acl HTTP/1.1

レスポンスヘッダー

x-amz-version-id
説明
バージョン ID または Null を返します。

レスポンスエンティティー

AccessControlPolicy
説明
応答のコンテナー。
コンテナー
AccessControlList
説明
ACL 情報用のコンテナー
コンテナー
Owner
説明
バケット所有者の ID および DisplayName のコンテナー。
コンテナー
ID
説明
バケット所有者の ID。
String
DisplayName
説明
バケットの所有者の表示名。
String
Grant
説明
Grantee および Permission のコンテナー。
コンテナー
Grantee
説明
パーミッションを付与されるユーザーの DisplayName および ID のコンテナー。
コンテナー
パーミッション
説明
Grantee バケットに指定されるパーミッション。
String

3.4.17. S3 set an object's Access Control List (ACL)

オブジェクトの現行バージョンのオブジェクト ACL を設定します。

構文

PUT /BUCKET/OBJECT?acl

リクエストエンティティー

AccessControlPolicy
説明
応答のコンテナー。
コンテナー
AccessControlList
説明
ACL 情報用のコンテナー
コンテナー
Owner
説明
バケット所有者の ID および DisplayName のコンテナー。
コンテナー
ID
説明
バケット所有者の ID。
String
DisplayName
説明
バケットの所有者の表示名。
String
Grant
説明
Grantee および Permission のコンテナー。
コンテナー
Grantee
説明
パーミッションを付与されるユーザーの DisplayName および ID のコンテナー。
コンテナー
パーミッション
説明
Grantee バケットに指定されるパーミッション。
String

3.4.18. S3 copy an object

オブジェクトをコピーするには、PUT を使用して宛先バケットとオブジェクト名を指定します。

構文

PUT /DEST_BUCKET/DEST_OBJECT HTTP/1.1
x-amz-copy-source: SOURCE_BUCKET/SOURCE_OBJECT

リクエストヘッダー

x-amz-copy-source
説明
ソースバケット名 + オブジェクト名。
有効な値
BUCKET/OBJECT
必須
はい
x-amz-acl
説明
固定 ACL。
有効な値
privatepublic-readpublic-read-writeauthenticated-read
必須
いいえ
x-amz-copy-if-modified-since
説明
タイムスタンプ以降に変更された場合のみコピーします。
有効な値
Timestamp
必須
いいえ
x-amz-copy-if-unmodified-since
説明
タイムスタンプ以降変更されていない場合にのみコピーします。
有効な値
Timestamp
必須
いいえ
x-amz-copy-if-match
説明
オブジェクトの ETag が ETag と一致する場合に限りコピーします。
有効な値
エンティティータグ
必須
いいえ
x-amz-copy-if-none-match
説明
オブジェクトの ETag が ETag と一致する場合に限りコピーします。
有効な値
エンティティータグ
必須
いいえ

レスポンスエンティティー

CopyObjectResult
説明
レスポンス要素のコンテナー。
コンテナー
LastModified
説明
ソースオブジェクトを最後に変更した日付。
日付
Etag
説明
新規オブジェクトの ETag。
String

3.4.19. S3 add an object to a bucket using HTML forms

HTML フォームを使用してオブジェクトをバケットに追加します。この操作を実行するには、バケットに書き込みパーミッションが必要です。

構文

POST /BUCKET/OBJECT HTTP/1.1

3.4.20. S3 determine options for a request

特定の送信元、HTTP メソッド、およびヘッダーを使用して実際のリクエストを送信できるかどうかを判断するための事前要求です。

構文

OPTIONS /OBJECT HTTP/1.1

3.4.21. S3 initiate a multipart upload

複数パートからなるアップロードプロセスを開始します。追加部分の追加、パーツのリスト表示、および複数パートアップロードの完了または破棄時に指定できる UploadId を返します。

構文

POST /BUCKET/OBJECT?uploads

リクエストヘッダー

content-md5
説明
メッセージの base64 でエンコードされた MD-5 ハッシュ
有効な値
文字列。デフォルトや制約はありません。
必須
いいえ
content-type
説明
標準の MIME タイプ。
有効な値
MIME タイプ。デフォルト: binary/octet-stream
必須
いいえ
x-amz-meta-<…​>
説明
ユーザーのメタデータ。オブジェクトとともに保存されます。
有効な値
8kb までの文字列。デフォルトはありません。
必須
いいえ
x-amz-acl
説明
固定 ACL。
有効な値
privatepublic-readpublic-read-writeauthenticated-read
必須
いいえ

レスポンスエンティティー

InitiatedMultipartUploadsResult
説明
結果のコンテナー
コンテナー
Bucket
説明
オブジェクトの内容を受け取るバケット。
String
Key
説明
key リクエストパラメーターで指定されるキー (存在する場合)。
String
UploadId
説明
upload-id 要求パラメーターで指定される ID で、マルチパートアップロードを特定します (存在する場合)。
String

3.4.22. S3 add a part to a multipart upload

マルチパートアップロードに部分を追加します。

複数パートのアップロードに部分を追加するために uploadId サブリソースとアップロード ID を指定します。

構文

PUT /BUCKET/OBJECT?partNumber=&uploadId=UPLOAD_ID HTTP/1.1

以下の HTTP レスポンスが返されます。

HTTP レスポンス

404
ステータスコード
NoSuchUpload
説明
指定した upload-id がこのオブジェクトで開始されたアップロードと一致しません。

3.4.23. S3 list the parts of a multipart upload

マルチパートアップロードの一部をリスト表示するために uploadId サブリソースとアップロード ID を指定します。

構文

GET /BUCKET/OBJECT?uploadId=UPLOAD_ID HTTP/1.1

レスポンスエンティティー

InitiatedMultipartUploadsResult
説明
結果のコンテナー
コンテナー
Bucket
説明
オブジェクトの内容を受け取るバケット。
String
Key
説明
key リクエストパラメーターで指定されるキー (存在する場合)。
String
UploadId
説明
upload-id 要求パラメーターで指定される ID で、マルチパートアップロードを特定します (存在する場合)。
String
イニシエーター
説明
アップロードを開始したユーザーの IDDisplayName が含まれます。
コンテナー
ID
説明
イニシエーターの ID。
String
DisplayName
説明
イニシエーターの表示名。
String
Owner
説明
アップロードしたオブジェクトを所有するユーザーの ID および DisplayName のコンテナー。
コンテナー
StorageClass
説明
作成されるオブジェクトを保存するために使用されるメソッド。STANDARD または REDUCED_REDUNDANCY
String
PartNumberMarker
説明
IsTruncatedtrue の場合に後続のリクエストで使用する部分マーカー。リストの先頭に指定します。
String
NextPartNumberMarker
説明
IsTruncatedtrue の場合は、後続のリクエストで使用する次の部分マーカー。リストの末尾。
String
IsTruncated
説明
true の場合は、オブジェクトのアップロードコンテンツのサブセットのみが返されます。
Boolean
部分
説明
KeyPartInitiatorOwnerStorageClass、および Initiated 要素のコンテナー。
コンテナー
PartNumber
説明
KeyPartInitiatorOwnerStorageClass、および Initiated 要素のコンテナー。
Integer
ETag
説明
コンポーネントのエンティティータグです。
String
Size
説明
アップロードした部分のサイズ。
Integer

3.4.24. S3 assemble the uploaded parts

アップロードした部分を組み立て、新規オブジェクトを作成します。これにより、複数パートのアップロードが実行されます。

複数パートからなるアップロードを完了するには、uploadId サブリソースとアップロード ID を指定します。

構文

POST /BUCKET/OBJECT?uploadId=UPLOAD_ID HTTP/1.1

リクエストエンティティー

CompleteMultipartUpload
説明
1 つ以上の部分で構成されるコンテナー。
コンテナー
必須
はい
部分
説明
PartNumber および ETag のコンテナー。
コンテナー
必須
はい
PartNumber
説明
部分の識別子。
Integer
必須
はい
ETag
説明
コンポーネントのエンティティータグです。
String
必須
はい

レスポンスエンティティー

CompleteMultipartUploadResult
説明
応答のコンテナー。
コンテナー
場所
説明
新規オブジェクトのリソース識別子 (パス)。
URI
bucket
説明
新規オブジェクトが含まれるバケットの名前。
String
Key
説明
オブジェクトのキー。
String
ETag
説明
新規オブジェクトのエンティティータグ。
String

3.4.25. S3 copy a multipart upload

既存のオブジェクトからデータをデータソースとしてコピーして、パーツをアップロードします。

複数パートからなるアップロードコピーを実行するには、uploadId サブリソースとアップロード ID を指定します。

構文

PUT /BUCKET/OBJECT?partNumber=PartNumber&uploadId=UPLOAD_ID HTTP/1.1
Host: cname.domain.com

Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET

リクエストヘッダー

x-amz-copy-source
説明
ソースバケット名およびオブジェクト名。
有効な値
BUCKET/OBJECT
必須
はい
x-amz-copy-source-range
説明
ソースオブジェクトからコピーするバイトの範囲。
有効な値
範囲: bytes=first-last (ここで、最初のおよび最後は、コピーするゼロベースのバイトオフセットです)たとえば、bytes=0-9 は、ソースの最初の 10 バイトをコピーすることを示しています。
必須
いいえ

レスポンスエンティティー

CopyPartResult
説明
すべてのレスポンス要素のコンテナー。
コンテナー
ETag
説明
新しい部分の ETag を返します。
String
LastModified
説明
最後に変更した日付を返します。
String

関連情報

3.4.26. S3 abort a multipart upload

複数パートアップロードを中止します。

マルチパートによるアップロードを中止するために uploadId サブリソースとアップロード ID を指定します。

構文

DELETE /BUCKET/OBJECT?uploadId=UPLOAD_ID HTTP/1.1

3.4.27. S3 Hadoop interoperability

HDFS (Hadoop Distributed File System) のアクセスを必要とするデータ解析アプリケーションは、Hadoop 用の Apache S3A コネクターを使用して Ceph Object Gateway にアクセスできます。S3A コネクターは、データが Ceph Object Gateway に保存される一方で、HDFS ファイルシステムがアプリケーションへのセマンティクスを読み取りおよび書き込みする S3 互換のオブジェクトストレージを HDFS ファイルシステムとして表示するオープンソースツールです。

Ceph Object Gateway は、Hadoop 2.7.3 に同梱される S3A コネクターと完全に互換性があります。

関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.