オブジェクトの内容およびメタデータの取得
/v1/{account}/{container}/{object}
リクエスト
- account: string
アカウントの一意の名前。 アカウントはプロジェクトまたはテナントとも呼ばれます。
- container: string
コンテナの一意の名前。 コンテナ名は1から256文字の長さにする必要があり、任意の文字から開始でき、任意のパターンを含むことができます。 文字セットはUTF-8である必要があります。 スラッシュ(
/)文字はコンテナとオブジェクト名を区切るため、コンテナ名に含めることはできません。 たとえば、/account/container/object。 - object: string
オブジェクトの一意の名前。
- multipart-manifest(optional): string
multipart-manifest=get問合せパラメータを含み、オブジェクトがラージ・オブジェクトである場合、オブジェクトの内容は返されません。 かわりに、マニフェストが動的ラージ・オブジェクトのX-Object-Manifestレスポンス・ヘッダーまたは静的ラージ・オブジェクトのレスポンス本文に返されます。 - temp_url_expires: integer(timestamp)
最小値:
0一時URLの署名の有効期限が切れるUNIX Epochタイムスタンプ形式での日付と時刻。たとえば、
1440619048はMon, Wed, 26 Aug 2015 19:57:28 GMTと同等です。 - temp_url_sig: string
一時URLとともに使用して、許可されるHTTPメソッド、有効期限日、オブジェクトへのフル・パス、および一時URLの秘密キーを定義するHMAC-SHA1暗号署名付きリクエストに署名します。
- If-Match(optional): string
使用方法の詳細は、RFC2616を参照してください。
- If-Modified-Since(optional): string(date)
使用方法の詳細は、RFC2616を参照してください。
- If-None-Match(optional): string
Expect: 100-Continueと組み合せて、If-None-Match: *ヘッダーを指定し、データを送信する前にサーバーにオブジェクトのコピーがすでにあるかどうかを問い合せます。 - If-Unmodified-Since: string(date)
使用方法の詳細は、RFC2616を参照してください。
- Range(optional): string
取得する内容の範囲。
Rangeヘッダーを使用し、1つ以上の範囲指定を使用してデータの一部を取得できます。 多くの範囲を指定するには、範囲指定をカンマで区切ります。範囲指定のタイプ:
- バイト範囲指定。 FIRST_BYTE_OFFSETを使用してデータ範囲の開始を指定し、LAST_BYTE_OFFSETを使用して終了を指定します。 LAST_BYTE_OFFSETは省略でき、その場合は、デフォルトでデータの最後のバイトのオフセットに値が設定されます。
- 接尾辞バイト範囲指定。 LENGTHバイトを使用して、データ範囲の長さを指定します。
Range: bytes=-5.最後の5バイト。Range: bytes=10-15.10-バイト・オフセットの後の5バイトのデータ。Range: bytes=10-15,-5.最後の5バイトと、10-バイト・オフセットの後の5バイトのデータを含むマルチパート・レスポンス。Content-Typeレスポンス・ヘッダーにはmultipart/byterangesが含まれます。Range: bytes=4-6.バイト4から6(両端を含む)。Range: bytes=2-2.バイト2、データの3番目のバイト。Range: bytes=6-.バイト6およびそれ以降。Range: bytes=1-3,2-5.バイト1から3(両端を含む)およびバイト2から5(両端を含む)を含むマルチパート・レスポンス。Content-Typeレスポンス・ヘッダーにはmultipart/byterangesが含まれます。
- X-Auth-Token(optional): string
認証トークン。
temp_url_sigおよびtemp_url_expiresが存在する場合は指定されません。 それ以外の場合は、このヘッダーを省略すると、アカウント所有者がアクセス制御リスト(ACL)を通じてアクセスを許可していない限り、リクエストは失敗します。 - X-Newest(optional): boolean
trueに設定した場合、Object Storageはすべてのレプリケーションに問い合せて最新のものを返します。 このヘッダーを省略した場合は、Object Storageは有効なレプリケーションを1つ見つけた後、早くレスポンスします。 このヘッダーをtrueに設定するとバックエンドにとっての費用が高くなるため、どうしても必要な場合のみ使用してください。
レスポンス
- application/json
200レスポンス
- Accept-Ranges: string
オブジェクトが受け入れる範囲のタイプ。
- Content-Disposition: string
(オプション)設定した場合、ブラウザの上書き動作を指定します。 たとえば、このヘッダーは、このファイルを表示する(デフォルト)のではなく、ブラウザがダウンロード・プログラムを使用してこのファイルを保存することを指定します。
設定していない場合、このヘッダーはこの操作で返されません。
- Content-Encoding: string
(オプション)設定した場合、
Content-Encodingメタデータの値。設定していない場合、操作はこのヘッダーを返しません。
- Content-Length: integer
最小値:
0レスポンス本文のオブジェクトの内容の長さ(バイト)。 - Content-Type: string
オブジェクトのMIMEタイプ。
- 日付: string(date-time)
トランザクションの日付と時刻。
日付と時刻のスタンプ形式はISO 8601です。
CCYY-MM-DDThh:mm:ss±hh:mm
たとえば、2015-08-27T09:49:58-05:00のようになります。±hh:mm値(含まれている場合)は、UTCからのオフセットとしてのタイム・ゾーンです。 前述の例では、オフセット値は-05:00です。null値はトークンの有効期限が切れないことを示します。 - ETag: string
5 GBより小さいオブジェクトの場合、この値はオブジェクトの内容のMD5チェックサムです。 値は引用符で囲まれません。
マニフェスト・オブジェクトの場合、この値は、マニフェスト内の各セグメントのMD5チェックサムとETagの連結文字列のMD5チェックサムであり、ダウンロードされた内容のMD5チェックサムではありません。 また、値は二重引用文字で囲まれます。
レスポンスを受信したときにレスポンス本文のMD5チェックサムを計算し、その値をETagヘッダー内の値と比較することをお薦めします。 それらが異なる場合は、内容が破損しているため操作を再試行してください。
- Last-Modified: string(date-time)
オブジェクトが作成された、またはそのメタデータが変更された日付と時刻。
日付と時刻のスタンプ形式はISO 8601です。
CCYY-MM-DDThh:mm:ss±hh:mm
たとえば、
2015-08-27T09:49:58-05:00のようになります。±hh:mm値(含まれている場合)は、UTCからのオフセットとしてのタイム・ゾーンです。 前述の例では、オフセット値は-05:00です - X-Delete-At: integer(timestamp)
最小値:
0(オプション)設定した場合、システムがオブジェクトを削除するUNIX Epochタイムスタンプ形式での日付と時刻。たとえば、
1440619048はMon, Wed, 26 Aug 2015 19:57:28 GMTと同等です。設定していない場合、この操作はこのヘッダーを返しません。
- X-Object-Manifest: string
(オプション)設定した場合、これは動的ラージ・オブジェクトのマニフェスト・オブジェクトです。 値は、形式
container/prefixのセグメント・オブジェクトのコンテナおよびオブジェクト名接頭辞です。 - X-Object-Meta-{name}: string
カスタム・オブジェクト・メタデータ・アイテムであり、
{name}はメタデータ・アイテムの名前です。1つの
X-Object-Meta-{name}レスポンス・ヘッダーが、各メタデータ{name}アイテムに対して表示されます。 - X-Static-Large-Object: boolean
このオブジェクトが静的ラージ・オブジェクトのマニフェスト・オブジェクトの場合、
Trueに設定します。 - X-Timestamp: string(timestamp)
アカウント、コンテナまたはオブジェクトが現在のバージョンとして最初に作成されたUNIX Epochタイムスタンプ形式での日付と時刻。
たとえば、
1440619048はMon, Wed, 26 Aug 2015 19:57:28 GMTと同等です。 - X-Trans-Id: string(uuid)
このリクエストの一意のトランザクションID。 サービス・プロバイダに問題を報告するときに、この値が必要な場合があります。
- X-Worm-Expiration-At: integer
最小値:
0(オプション)アップロードされたオブジェクトが削除可能になるまで存在する必要があるEpoch時間。 値は現在のEpoch時間より大きくなります。
206レスポンス
- Accept-Ranges: string
オブジェクトが受け入れる範囲のタイプ。
- Content-Disposition: string
(オプション)設定した場合、ブラウザの上書き動作を指定します。 たとえば、このヘッダーは、このファイルを表示する(デフォルト)のではなく、ブラウザがダウンロード・プログラムを使用してこのファイルを保存することを指定します。
設定していない場合、このヘッダーはこの操作で返されません。
- Content-Encoding: string
(オプション)設定した場合、
Content-Encodingメタデータの値。設定していない場合、操作はこのヘッダーを返しません。
- Content-Length: integer
最小値:
0レスポンス本文のオブジェクトの内容の長さ(バイト)。 - Content-Type: string
オブジェクトのMIMEタイプ。
- 日付: string(date-time)
トランザクションの日付と時刻。
日付と時刻のスタンプ形式はISO 8601です。
CCYY-MM-DDThh:mm:ss±hh:mm
たとえば、2015-08-27T09:49:58-05:00のようになります。±hh:mm値(含まれている場合)は、UTCからのオフセットとしてのタイム・ゾーンです。 前述の例では、オフセット値は-05:00です。null値はトークンの有効期限が切れないことを示します。 - ETag: string
5 GBより小さいオブジェクトの場合、この値はオブジェクトの内容のMD5チェックサムです。 値は引用符で囲まれません。
マニフェスト・オブジェクトの場合、この値は、マニフェスト内の各セグメントのMD5チェックサムとETagの連結文字列のMD5チェックサムであり、ダウンロードされた内容のMD5チェックサムではありません。 また、値は二重引用文字で囲まれます。
レスポンスを受信したときにレスポンス本文のMD5チェックサムを計算し、その値をETagヘッダー内の値と比較することをお薦めします。 それらが異なる場合は、内容が破損しているため操作を再試行してください。
- Last-Modified: string(date-time)
オブジェクトが作成された、またはそのメタデータが変更された日付と時刻。
日付と時刻のスタンプ形式はISO 8601です。
CCYY-MM-DDThh:mm:ss±hh:mm
たとえば、
2015-08-27T09:49:58-05:00のようになります。±hh:mm値(含まれている場合)は、UTCからのオフセットとしてのタイム・ゾーンです。 前述の例では、オフセット値は-05:00です - X-Delete-At: integer(timestamp)
最小値:
0(オプション)設定した場合、システムがオブジェクトを削除するUNIX Epochタイムスタンプ形式での日付と時刻。たとえば、
1440619048はMon, Wed, 26 Aug 2015 19:57:28 GMTと同等です。設定していない場合、この操作はこのヘッダーを返しません。
- X-Object-Manifest: string
(オプション)設定した場合、これは動的ラージ・オブジェクトのマニフェスト・オブジェクトです。 値は、形式
container/prefixのセグメント・オブジェクトのコンテナおよびオブジェクト名接頭辞です。 - X-Object-Meta-{name}: string
カスタム・オブジェクト・メタデータ・アイテムであり、
{name}はメタデータ・アイテムの名前です。1つの
X-Object-Meta-{name}レスポンス・ヘッダーが、各メタデータ{name}アイテムに対して表示されます。 - X-Static-Large-Object: boolean
このオブジェクトが静的ラージ・オブジェクトのマニフェスト・オブジェクトの場合、
Trueに設定します。 - X-Timestamp: string(timestamp)
アカウント、コンテナまたはオブジェクトが現在のバージョンとして最初に作成されたUNIX Epochタイムスタンプ形式での日付と時刻。
たとえば、
1440619048はMon, Wed, 26 Aug 2015 19:57:28 GMTと同等です。 - X-Trans-Id: string(uuid)
このリクエストの一意のトランザクションID。 サービス・プロバイダに問題を報告するときに、この値が必要な場合があります。
- X-Worm-Expiration-At: integer
最小値:
0(オプション)アップロードされたオブジェクトが削除可能になるまで存在する必要があるEpoch時間。 値は現在のEpoch時間より大きくなります。 - X-Worm-Expiration-Days: integer
最小値:
0最小値:> true(オプション)アップロードされたオブジェクトが削除可能になるまで存在する必要がある日数。
400レスポンス
- Content-Length: integer
最小値:
0レスポンス本文のエラー・テキストの長さ。 - Content-Type: string
レスポンス本文のエラー・テキストのMIMEタイプ。
401レスポンス
- Content-Length: integer
最小値:
0レスポンス本文のエラー・テキストの長さ。 - Content-Type: string
レスポンス本文のエラー・テキストのMIMEタイプ。
403レスポンス
- Oracle Cloud My Servicesでサービスにデータ・センターが選択されていません。
- リクエストが誤ったデータ・センターに送信されました。 たとえば、サービスのデータ・センターはChicago (us2)ですが、リクエストはAshburn (us6)データ・センターに対応するURLに送信されました。
- 指定されたコンテナに対して操作を実行するために必要な権限がありません。 たとえば、ユーザーに割り当てられたロールや、リクエストに指定されたコンテナのアクセス権定義が変更される場合があります。
- 指定した操作は、アーカイブ済オブジェクトまたはストレージ・クラスが
Archiveのコンテナに対して許可されていません - 期限切れになっていないオブジェクトをPUT、POSTまたはDELETEしようとするか、既存のコンテナ・レベルWORMポリシーを更新しようとして、コンテナまたはオブジェクト・レベルWORMポリシーに違反しています。
- Content-Length: integer
最小値:
0レスポンス本文のエラー・テキストの長さ。 - Content-Type: string
レスポンス本文のエラー・テキストのMIMEタイプ。
404レスポンス
- Content-Length: integer
最小値:
0レスポンス本文のエラー・テキストの長さ。 - Content-Type: string
レスポンス本文のエラー・テキストのMIMEタイプ。
416レスポンス
- 50の範囲
- 3つの重なる範囲
- 8つの非増加範囲
- Content-Length: integer
最小値:
0レスポンス本文のエラー・テキストの長さ。 - Content-Type: string
レスポンス本文のエラー・テキストのMIMEタイプ。
例
cURLコマンド
次の例は、cURLを使用してRESTリソースにGETリクエストを送信することによって、Oracle Cloud Infrastructure Object Storage Classic内のアカウントのコンテナからオブジェクトをダウンロードする方法を示しています。 cURLの詳細は、「cURLの使用」を参照してください。
curl -v -X GET \
-H "X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b" \
-o myFile.txt \
https://foo.storage.oraclecloud.com/v1/myservice-bar/FirstContainer/myObject
レスポンスのサンプル
次に、このコマンドのレスポンスのサンプルを示します。
HTTP/1.1 200 OK Date: Mon, 09 Mar 2015 11:34:33 GMT Content-Length: 23 Accept-Ranges: bytes Last-Modified: Mon, 09 Mar 2015 11:26:58 GMT Content-Type: application/octet-stream X-Trans-Id: tx23a1084b8c674fdeae8d4-0054f982ac Etag: 846fa9d298be05e5f598703f0c3d6f51 X-Timestamp: 1425900417.95553 Content-Language: en