3 Object Storage Classicのオブジェクトの管理
このセクションでは、Object Storage Classic内のオブジェクトの管理に関するドキュメントを提供します。
トピック:
オブジェクトを管理するための典型的なワークフロー
次の表をオブジェクト管理のワークフローのガイドとして使用します。 まだサービスをサブスクライブしていない、または設定していない場合は、「Oracle Cloud Infrastructure Object Storage Classicスタート・ガイド・ワークフロー」を参照してください。
| タスク | 説明 | 詳細情報 |
|---|---|---|
|
サービスへのアクセス |
REST APIを介してサービスにアクセスします。 他のインタフェースを使用してサービスにアクセスする方法について詳しくは、「Object Storage Classicへのインタフェース」を参照してください。 |
|
|
認証トークンの生成 |
REST APIインタフェースを介してサービスにアクセスしている場合は、認証トークンを生成します。 Javaライブラリを介してサービスにアクセスしている場合、認証トークンは自動的に生成、適用されます。 | |
|
コンテナのリスト |
アカウント内のコンテナをリストします。 |
|
|
コンテナ内のオブジェクトのリスト |
指定したコンテナ内のオブジェクトをリストします。 |
|
|
オブジェクトの作成 |
単一オブジェクトの作成、オブジェクトの一括作成、5GBを超えるファイルのアップロードを行います。 |
|
|
オブジェクトのメタデータを取得 |
コンテナ内のオブジェクトに関する情報を取得します。 |
|
|
アーカイブされたオブジェクトをリストア |
アーカイブ済オブジェクトをダウンロードするには、最初にオブジェクトをリストアする必要があります。 |
|
|
オブジェクトのダウンロード |
オブジェクトのメタデータとデータをダウンロードします。 |
|
|
オブジェクトの削除 |
オブジェクトを削除および一括削除します。 |
|
|
オブジェクト・メタデータの更新 |
カスタム・メタデータおよび特殊なメタデータを更新します。 |
|
|
オブジェクトのコピー |
オブジェクトを別のオブジェクトにコピーします。 |
|
|
オブジェクトの暗号化 |
アップロードの前にオブジェクトをJavaライブラリで透過的に暗号化します。 |
Object Storage Classicのオブジェクトの管理に必要なロール
ストレージ管理者ロールを持つユーザーは、サービス・インスタンスのすべてのコンテナおよびオブジェクトを作成、読取り、更新および削除できます。
- コンテナおよびオブジェクトが変更される原因となるタスクでは、関連付けられたコンテナの
X-Container-Writeアクセス制御リスト(ACL)にStorage_ReadWriteGroupロールまたはカスタム・ロールが必要です。 - コンテナおよびオブジェクトが変更されないタスクには、
Storage_ReadOnlyGroupロールまたは関連コンテナのX-Container-ReadACLのカスタム・ロールが必要です。
ロールとACLの詳細については、「Oracle Cloud Infrastructure Object Storage Classicのロールとユーザーについて」を参照してください。
コンテナのオブジェクトのリスト
コンテナ内のすべてのオブジェクトをリストできます。
サービス管理者ロールまたはコンテナのX-Container-Read ACLに指定されたロールを持つすべてのユーザーがこのタスクを実行できます。
| インタフェース | 資料 |
|---|---|
|
Webコンソール (Oracle Cloud at Customerでは使用できません) |
Webコンソールを使用したコンテナ内のオブジェクトの一覧表示を参照してください。 |
|
RESTful API |
Oracle Cloud Infrastructure Object Storage Classicの標準ストレージ用のREST APIの「コンテナの詳細とリスト・オブジェクトを表示」を参照してください。 |
|
Javaライブラリ |
Oracle Cloud Infrastructure Object Storage ClassicのJava APIリファレンスの |
|
ファイル転送マネージャAPI |
「Oracle Cloud Infrastructure Object Storage Classic用のJava APIリファレンスFile Transfer Manager」の |
|
ファイル転送マネージャCLI |
「Oracle Cloud Infrastructure Object Storage Classicのコマンドライン・リファレンス」の「オブジェクトのリスト表示」を参照してください。 |
Webコンソールを使用したコンテナ内のオブジェクトの一覧表示
(Oracle Cloud at Customerでは使用できません)- Oracle Cloud Infrastructure Object Storage Classicコンソールにサインインします。
コンテナのリストが表示されます。
- オブジェクトをリストするコンテナを選択します。
コンテナ内のオブジェクトがリストされます。
REST APIを使用したコンテナ内のオブジェクトの一覧表示
オブジェクトは、memcmp()を使用して名前の辞書順にソートされます。 次のパラメータのいずれかを使用してリストをフィルタしないかぎり、すべてのオブジェクト(デフォルトでは、10000個まで)がリストに戻されます。
limit: リストされるオブジェクトの数を、指定値に限定します。 デフォルトおよび最大値は、10000です。marker: 指定された文字列より大きい名前のオブジェクトを返します。end_marker: 指定された文字列より小さい名前のオブジェクトを返します。format: 返される各オブジェクトに関する拡張情報をxmlまたはjson形式で返します(REST APIのみ)。prefix: 指定された文字列で始まる名前のオブジェクトを返します。delimiter: 指定された文字を名前に含むオブジェクトを返します。 指定された文字より前のオブジェクト名のサブ文字列のみ返されます。 一意のサブ文字列のみ返されます。prefixパラメータも使用した場合、指定されたデリミタ文字との一致は無視されます。- コンテナでディレクトリ構造をエミュレートするために使用されます(つまり、スラッシュ(
/)をデリミタとして使用します)。
cURLコマンド構文
curl -v -X GET \
-H "X-Auth-Token: token" \
accountURL/containerName[?query_parameter=value]
tokenは、以前にOracle Cloud Infrastructure Object Storage Classicから取得した認証トークンです。 「REST API使用時のアクセス認証」を参照してください。accountURLの構文については、「Oracle Cloud Infrastructure Object Storage ClassicリソースのREST URLについて」を参照してください。containerNameは、リストするオブジェクトが含まれるコンテナの名前です。query_parameter=valueは、オプションのフィルタリング・パラメータです。
注意:
Oracle Cloud Infrastructure Object Storage ClassicにREST APIリクエストを送信すると、コンテナ名、オブジェクト名、メタデータ値の非ASCII文字はすべてURLエンコードされている必要があります。 たとえば、my containerはmy%20containerとしてエンコードする必要があります。%20はスペース文字のHTMLエンコードです。 同様に、my Über Containerはmy%20%C3%9Cber%20Containerとしてエンコードする必要があります。%20はスペース文字を表し、%C3%9CはÜ文字です。
HTTPレスポンス・コード
- 成功:
200 OK注意:
オブジェクトがない場合のHTTPレスポンス・コードは、204 No Contentです。 - 失敗: 「Oracle Cloud Infrastructure Object Storage Classicのエラー・コード・リファレンス」を参照してください
cURLコマンド例
- アカウント名:
acme - RESTエンドポイントURL :
https://acme.storage.oraclecloud.com/v1/Storage-acme - RESTエンドポイント(永続)URL :
https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365注意:
2017年11月以降に作成されたアカウントのREST Endpoint (Permanent)URLが表示されます。
- 「RESTエンドポイント」フィールドから取得したRESTエンドポイントURLを使用する方法:
curl -v -X GET \ -H "X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b" \ https://acme.storage.oraclecloud.com/v1/Storage-acme/myContainer?limit=15注意:
この例のアカウントのURLはhttps://acme.storage.oraclecloud.com/v1/Storage-acmeです。 このURLをアカウントのURLと置換してください。 アカウントURLを見つけるステップについては、「Oracle Cloud Infrastructure Object Storage ClassicリソースのREST URLについて」を参照してください。次に、このコマンドの出力例を示します:
> GET /v1/Storage-acme/FirstContainer HTTP/1.1 > User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.14.0.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2 > Host: acme.storage.oraclecloud.com > Accept: */* > X-Auth-Token: AUTH_tk4af5123f84d2e3ffb9e77ba657ac8edf > < HTTP/1.1 200 OK < Date: Mon, 09 Mar 2015 11:15:50 GMT < Content-Length: 63 < X-Container-Object-Count: 4 < X-Container-Write: myIdentityDomainID.Storage.Storage_ReadWriteGroup < Accept-Ranges: bytes < X-Timestamp: 1425033529.95392 < X-Container-Read: myIdentityDomainID.Storage.Storage_ReadOnlyGroup,myIdentityDomainID.Storage.Storage_ReadWriteGroup < X-Container-Bytes-Used: 92095 < Content-Type: text/plain; charset=utf-8 < X-Trans-Id: tx23ba568df8864b45bc443-0054fd80e6 < Cache-Control: no-cache < Pragma: no-cache < Content-Language: en < Backup-2-0_24680 Backup-3-0_32872 MetadataLog-0_32872 test.key - 「RESTエンドポイント(永続的)」フィールドから取得したサービス永続RESTエンドポイントURLの使用:
注意:
このcURLコマンドの例は、2017年11月以降に作成されたアカウントに適用されます。curl -v -X GET \ -H "X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b" \ https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365/myContainer?limit=15注意:
この例のアカウントのURLはhttps://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365です。 このURLをアカウントのURLと置換してください。 アカウントURLを見つけるステップについては、「Oracle Cloud Infrastructure Object Storage ClassicリソースのREST URLについて」を参照してください。次に、このコマンドの出力例を示します:
> GET /v1/Storage-7b16fede61e1417ab83eb52e06f0e365/FirstContainer HTTP/1.1 > User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.14.0.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2 > Host: storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com > Accept: */* > X-Auth-Token: AUTH_tk4af5123f84d2e3ffb9e77ba657ac8edf > < HTTP/1.1 200 OK < Date: Mon, 09 Mar 2015 11:15:50 GMT < Content-Length: 63 < X-Container-Object-Count: 4 < X-Container-Write: myIdentityDomainID.Storage.Storage_ReadWriteGroup < Accept-Ranges: bytes < X-Timestamp: 1425033529.95392 < X-Container-Read: myIdentityDomainID.Storage.Storage_ReadOnlyGroup,myIdentityDomainID.Storage.Storage_ReadWriteGroup < X-Container-Bytes-Used: 92095 < Content-Type: text/plain; charset=utf-8 < X-Trans-Id: tx23ba568df8864b45bc443-0054fd80e6 < Cache-Control: no-cache < Pragma: no-cache < Content-Language: en < Backup-2-0_24680 Backup-3-0_32872 MetadataLog-0_32872 test.key
オブジェクトの作成
オブジェクトは1つのコンテナ内に作成する必要があります。 単一のオブジェクトを作成したり、複数のオブジェクトをコンテナにアップロードしたりすることができます。
単一オブジェクトの作成
オブジェクトは1つのコンテナ内に作成する必要があります。 オブジェクトは、ファイルのアップロードまたはメタデータの指定、あるいはその両方によって作成できます。
サービス管理者ロールまたはコンテナのX-Container-Write ACLに指定されたロールを持つすべてのユーザーがこのタスクを実行できます。 オブジェクトは、standardコンテナ内またはarchiveコンテナ内に作成できます。
| インタフェース | 資料 |
|---|---|
|
Webコンソール (Oracle Cloud at Customerでは使用できません) |
Webコンソールを使用した単一オブジェクトの作成を参照してください。 |
|
RESTful API |
参照先
|
|
Javaライブラリ |
「Oracle Cloud Infrastructure Object Storage ClassicのJava APIリファレンス」の |
|
ファイル転送マネージャAPI |
「Oracle Cloud Infrastructure Object Storage Classic用Java APIリファレンスFile Transfer Manager」の |
|
ファイル転送マネージャCLI |
「Oracle Cloud Infrastructure Object Storage Classicのコマンドライン・リファレンス」の「オブジェクトのアップロード」を参照してください。 |
単一の操作で複数のオブジェクトをアップロードするステップは、「単一操作での複数のオブジェクトのアップロード」を参照してください。
Webコンソールを使用した単一オブジェクトの作成
(Oracle Cloud at Customerでは使用できません)- Oracle Cloud Infrastructure Object Storage Classicコンソールにサインインします。
- オブジェクトをアップロードするコンテナを選択します。
- 「Container Information」ペインで「Enable Upload and Download」を選択します。
次のメッセージが表示されます。
In order to upload and download objects to the current container, this application must enable Cross-Origin Resource Sharing (CORS) for this domain domainName. You can disable this setting at anytime. Would you like to continue? - 「OK」をクリックして、CORS (Cross-Origin Resource Sharing)を有効にします。
「Upload Objects」ボタンが有効になります。
注意:
CORSはコンテナでいつでも無効にできます。 「Container Information」ペインで「Disable Upload and Download」を選択して、CORSを無効にします。 CORSが無効にされている場合は、コンテナにオブジェクトをアップロードできません。 - 「Upload Objects」をクリックして、アップロードするオブジェクトを選択します。
注意:
オブジェクト名が「文字の制限」に記載されている入力制限に準拠していることを確認してください。オブジェクトのアップロードの進捗状況およびステータスが表示されます。
オブジェクトがアップロードされると、オブジェクトの詳細(「Last Modified」および「Size」)が表示されます。
REST APIを使用した単一オブジェクトの作成
cURLコマンド構文
curl -v -X PUT \
-H "X-Auth-Token: token" \
-T file \
accountURL/containerName/objectName
tokenは、以前にOracle Cloud Infrastructure Object Storage Classicから取得した認証トークンです。 「REST API使用時のアクセス認証」を参照してください。fileはアップロードされるファイルのフル・パスと名前です。accountURLの構文については、「Oracle Cloud Infrastructure Object Storage ClassicリソースのREST URLについて」を参照してください。containerNameは、オブジェクトの作成先コンテナの名前です。objectNameは、作成されるオブジェクトの名前です。注意:
オブジェクト名が「文字の制限」に記載されている入力制限に準拠していることを確認してください。
注意:
Oracle Cloud Infrastructure Object Storage ClassicにREST APIリクエストを送信すると、コンテナ名、オブジェクト名、メタデータ値の非ASCII文字はすべてURLエンコードされている必要があります。 たとえば、my containerはmy%20containerとしてエンコードする必要があります。%20はスペース文字のHTMLエンコードです。 同様に、my Über Containerはmy%20%C3%9Cber%20Containerとしてエンコードする必要があります。%20はスペース文字を表し、%C3%9CはÜ文字です。
オブジェクトの自動削除をスケジューリングするには、X-Delete-AfterまたはX-Delete-Atヘッダーを含めます。 「オブジェクト自動削除のスケジューリング」を参照してください。
HTTPレスポンス・コード
- 成功:
201 Created - 失敗: 「Oracle Cloud Infrastructure Object Storage Classicのエラー・コード・リファレンス」を参照してください
cURLコマンド例
- アカウント名:
acme - RESTエンドポイントURL :
https://acme.storage.oraclecloud.com/v1/Storage-acme - RESTエンドポイント(永続)URL :
https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365注意:
2017年11月以降に作成されたアカウントのREST Endpoint (Permanent)URLが表示されます。
- 「RESTエンドポイント」フィールドから取得したRESTエンドポイントURLを使用する方法:
curl -v -X PUT \ -H "X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b" \ -T myFile.txt \ https://acme.storage.oraclecloud.com/v1/Storage-acme/FirstContainer/myObject次に、このコマンドの出力例を示します:
> PUT /v1/Storage-acme/FirstContainer/myObject HTTP/1.1 > User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.14.0.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2 > Host: acme.storage.oraclecloud.com > Accept: */* > X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b > Content-Length: 23 > Expect: 100-continue > * Done waiting for 100-continue < HTTP/1.1 201 Created < Date: Mon, 09 Mar 2015 11:26:57 GMT < Last-Modified: Mon, 09 Mar 2015 11:26:58 GMT < Content-Length: 0 < Etag: 846fa9d298be05e5f598703f0c3d6f51 < Content-Type: text/html; charset=UTF-8 < X-Trans-Id: tx2a97f34acb7048679ae3b-0054fd8381 < Cache-Control: no-cache < Pragma: no-cache < Content-Language: en - 「RESTエンドポイント(永続的)」フィールドから取得したサービス永続RESTエンドポイントURLの使用:
注意:
このcURLコマンドの例は、2017年11月以降に作成されたアカウントに適用されます。curl -v -X PUT \ -H "X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b" \ -T myFile.txt \ https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365/FirstContainer/myObject次に、このコマンドの出力例を示します:
> PUT /v1/Storage-7b16fede61e1417ab83eb52e06f0e365/FirstContainer/myObject HTTP/1.1 > User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.14.0.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2 > Host: storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com > Accept: */* > X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b > Content-Length: 23 > Expect: 100-continue > * Done waiting for 100-continue < HTTP/1.1 201 Created < Date: Mon, 09 Mar 2015 11:26:57 GMT < Last-Modified: Mon, 09 Mar 2015 11:26:58 GMT < Content-Length: 0 < Etag: 846fa9d298be05e5f598703f0c3d6f51 < Content-Type: text/html; charset=UTF-8 < X-Trans-Id: tx2a97f34acb7048679ae3b-0054fd8381 < Cache-Control: no-cache < Pragma: no-cache < Content-Language: en
単一操作での複数のオブジェクトのアップロード
複数のファイルおよびディレクトリを含むアーカイブ・ファイルをアップロードすることで、1回の操作で複数のオブジェクトを作成できます。
注意:
このトピック内のアーカイブという用語は、.tar、.tar.gzまたはtar.bz2形式のファイルを意味します。 Archiveストレージ・クラスを意味してはいません。 Archiveコンテナ内のオブジェクトの一括作成はサポートされていません。
サービス管理者ロールまたはコンテナのX-Container-Write ACLに指定されたロールを持つすべてのユーザーがこのタスクを実行できます。
オブジェクトを一括作成するには:
| インタフェース | 資料 |
|---|---|
|
RESTful API |
OpenStack Object Storage Service APIリファレンスの一括操作に関する項を参照してください。 |
|
ファイル転送マネージャAPI |
「Oracle Cloud Infrastructure Object Storage Classic用のJava APIリファレンスFile Transfer Manager」の |
|
ファイル転送マネージャCLI |
「Oracle Cloud Infrastructure Object Storage Classicのコマンドライン・リファレンス」の「オブジェクトのアップロード」を参照してください。 |
ラージ・オブジェクトのアップロード
注意:
ラージ・オブジェクトは、最大2048個のセグメントを持つことができます。 各セグメントは最大5GBになります。 したがって、Oracle Cloud Infrastructure Object Storage Classicにラージ・オブジェクトとしてアップロードできるファイルの最大サイズは10 TBです。サービス管理者ロールまたはコンテナのX-Container-Write ACLに指定されたロールを持つすべてのユーザーがこのタスクを実行できます。
| インタフェース | 資料 |
|---|---|
|
Webコンソール (Oracle Cloud at Customerでは使用できません) |
「Webコンソールを使用したラージ・オブジェクトのアップロード」を参照してください。 |
|
RESTful API |
|
|
ファイル転送マネージャAPI |
「Oracle Cloud Infrastructure Object Storage Classic用Java APIリファレンスFile Transfer Manager」の |
|
ファイル転送マネージャCLI |
「Oracle Cloud Infrastructure Object Storage Classicのコマンドライン・リファレンス」の「ファイルのアップロード」を参照してください。 |
Webコンソールを使用したラージ・オブジェクトのアップロード
(Oracle Cloud at Customerでは使用できません)- Oracle Cloud Infrastructure Object Storage Classicコンソールにサインインします。
- ラージ・オブジェクトをアップロードするコンテナを選択します。
- 「Container Information」ペインで「Enable Upload and Download」を選択します。
次のメッセージが表示されます。
In order to upload and download objects to the current container, this application must enable Cross-Origin Resource Sharing (CORS) for this domain domainName. You can disable this setting at anytime. Would you like to continue? - 「OK」をクリックして、CORS (Cross-Origin Resource Sharing)を有効にします。
「ラージ・オブジェクト・アップロード」ボタンが有効になっています。
注意:
CORSはコンテナでいつでも無効にできます。 「Container Information」ペインで「Disable Upload and Download」を選択して、CORSを無効にします。 CORSが無効にされている場合は、コンテナにオブジェクトをアップロードできません。 - 「ラージ・オブジェクト・アップロード」をクリックして、アップロードするラージ・オブジェクトを選択します。
すべてのセグメント・オブジェクトのアップロードの進行状況が表示されます。
アップロードが完了すると、マニフェスト・オブジェクトおよびセグメント・オブジェクトの詳細(「最終変更」および「サイズ」)が表示されます。
REST APIを使用したラージ・オブジェクトのアップロード
ラージ・オブジェクトをアップロードするには:
- ラージ・ファイルを、それぞれが5GB未満の複数の順次セグメント・ファイルにローカルにセグメント化します。
たとえば、Linuxでは、次のコマンドを使用できます。
split -b 10m file_name segment_name - すべてのセグメント・ファイルをリストします。
ls -al segment_name* - 各セグメント・ファイルからオブジェクトを作成します。 同じコンテナのすべてのオブジェクトをアップロードします。
curl -v -X PUT \ -H "X-Auth-Token:token" \ -T segmentName \ accountURL/containerName/objectNametokenは、以前にOracle Cloud Infrastructure Object Storage Classicから取得した認証トークンです。 「REST API使用時のアクセス認証」を参照してください。segmentNameは、アップロードするセグメント・ファイルのフル・パスと名前です。accountURLの構文については、「Oracle Cloud Infrastructure Object Storage ClassicリソースのREST URLについて」を参照してください。containerNameは、オブジェクトの作成先コンテナの名前です。objectNameは、作成されるオブジェクトの名前です。 対応するセグメント・ファイル名でオブジェクトに名前を付けたことを確認します。
- マニフェスト・ファイルをJSON形式で作成します。各要素には、次の属性が含まれます。
path: 次の形式のコンテナとオブジェクト名:containerName/segmentObjectNameetag: セグメント・オブジェクトのMD5チェックサム。セグメント・オブジェクトの
Etagヘッダーで値を確認できます。size_bytes: セグメント・オブジェクトのサイズ。セグメント・オブジェクトの
Content-Lengthヘッダーで値を確認できます。
マニフェスト・ファイルに、各セグメント・オブジェクトに関するこの3つの属性が含まれていることを確認します。
マニフェスト・ファイルのサンプル:
[ { "path": "FirstContainer/segment_aa", "etag": "f1c9645dbc14efddc7d8a322685f26eb", "size_bytes": 10485760 }, { "path": "FirstContainer/segment_ab", "etag": "f1c9645dbc14efddc7d8a322685f26eb", "size_bytes": 10485760 }, { "path": "FirstContainer/segment_ac", "etag": "f1c9645dbc14efddc7d8a322685f26eb", "size_bytes": 10485760 }, { "path": "FirstContainer/segment_ad", "etag": "f1c9645dbc14efddc7d8a322685f26eb", "size_bytes": 10485760 }, ... { "path": "FirstContainer/segment_aj", "etag": "f1c9645dbc14efddc7d8a322685f26eb", "size_bytes": 10485760 } ] - 作成したマニフェスト・ファイルをアップロードします。 URIに、問合せパラメータ
?multipart-manifest=putを含めます。curl -v -X PUT \ -H "X-Auth-Token:token" \ "accountURL/containerName/LargeFileName?multipart-manifest=put" \ -T ./fileName.jsonLargeFileNameは、ラージ・オブジェクトの名前です。fileName.jsonは、マニフェスト・ファイルの名前です?multipart-manifest=putは、マニフェスト・ファイルをアップロードするための問合せパラメータです
- ラージ・オブジェクトのサイズを確認します。
curl -v -X HEAD \ -H "X-Auth-Token:token" \ accountURL/containerName/LargeObjectNameラージ・オブジェクトのサイズは、すべてのセグメント・オブジェクトの合計サイズです。 ラージ・オブジェクトをダウンロードするには、「ラージ・オブジェクトのダウンロード」を参照してください。
例:
- アカウント名:
acme - RESTエンドポイントURL :
https://acme.storage.oraclecloud.com/v1/Storage-acme - RESTエンドポイント(永続)URL :
https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365注意:
2017年11月以降に作成されたアカウントのREST Endpoint (Permanent)URLが表示されます。
サンプルのCloudアカウントのRESTエンドポイントURLは、以下のステップで使用されます。 REST Endpoint (Permanent)URLを使用するには、https://acme.storage.oraclecloud.com/v1/Storage-acmeをhttps://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365に置き換えます。
- ラージ・ファイルを、それぞれが5GB未満の複数の順次セグメント・ファイルにローカルにセグメント化します。
split -b 10m myLargeFile.zip segment_ - すべてのセグメント・ファイルをリストします。
ls -al segment_*segment_aa segment_ab segment_ac segment_ad segment_ae segment_af segment_ag segment_ah segment_ai segment_aj
- セグメント・ファイル名を維持して、各セグメント・ファイル(
segment_aa、segment_ab...segment_aj)からオブジェクトを作成します。 同じコンテナFirstContainerのすべてのオブジェクトをアップロードします。 ここで、いずれかのセグメント・ファイルの例を示します。curl -v -X PUT \ -H "X-Auth-Token: AUTH_tk5a58b7a8c34bb7b662523a59a5272650" \ -T segment_aa https://acme.storage.oraclecloud.com/v1/Storage-acme/FirstContainer/segment_aa次に、このコマンドの出力を示します。
> User-Agent: curl/7.29.0 > Host: acme.storage.oraclecloud.com > Accept: */* > X-Auth-Token: AUTH_tkc9305a46ebaa0585c4c7ae063c844f0b > Content-Length: 10485760 > Expect: 100-continue > < HTTP/1.1 100 Continue * We are completely uploaded and fine < HTTP/1.1 201 Created < Date: Tue, 15 Dec 2015 10:18:26 GMT < Last-Modified: Tue, 15 Dec 2015 10:17:21 GMT < X-Trans-Id: tx85da332ec5ae4852b7d8c-00566fe8b0ga < Etag: f1c9645dbc14efddc7d8a322685f26eb < Connection: keep-alive < X-Last-Modified-Timestamp: 1450174640.10123 < Content-Type: text/html;charset=UTF-8 < Content-Length: 0 < - マニフェスト・ファイルをJSON形式で作成します。
マニフェスト・ファイルのサンプル:
[ { "path": "FirstContainer/segment_aa", "etag": "f1c9645dbc14efddc7d8a322685f26eb", "size_bytes": 10485760 }, { "path": "FirstContainer/segment_ab", "etag": "f1c9645dbc14efddc7d8a322685f26eb", "size_bytes": 10485760 }, { "path": "FirstContainer/segment_ac", "etag": "f1c9645dbc14efddc7d8a322685f26eb", "size_bytes": 10485760 }, { "path": "FirstContainer/segment_ad", "etag": "f1c9645dbc14efddc7d8a322685f26eb", "size_bytes": 10485760 }, ... { "path": "FirstContainer/segment_aj", "etag": "f1c9645dbc14efddc7d8a322685f26eb", "size_bytes": 10485760 } ] - マニフェスト・ファイルをアップロードします。 問合せパラメータ
?multipart-manifest=putを追加して、マニフェスト・ファイルをアップロードします。curl -v -X PUT \ -H "X-Auth-Token: AUTH_tk5a58b7a8c34bb7b662523a59a5272650" "https://acme.storage.oraclecloud.com/v1/Storage-acme/FirstContainer/myLargeFile.manifest?multipart-manifest=put" \ -T ./manifest.json GETリクエストを送信して、ラージ・オブジェクトをダウンロードします。 すべてのセグメント・オブジェクトが連結され、1つのラージ・オブジェクトとしてダウンロードされます。curl -v -X GET \ -H "X-Auth-Token: AUTH_tk5a58b7a8c34bb7b662523a59a5272650" https://acme.storage.oraclecloud.com/v1/Storage-acme/FirstContainer/myLargeFile.manifest \ -o ./myLargeFileGETリクエストを送信してマニフェスト・オブジェクトをダウンロードし、問合せパラメータ?multipart-manifest=getを追加します。curl -v -X GET \ -H "X-Auth-Token: AUTH_tk5a58b7a8c34bb7b662523a59a5272650" "https://acme.storage.oraclecloud.com/v1/Storage-acme/FirstContainer/myLargeFile.manifest?multipart-manifest=get" \ -o ./manifestFileHEADリクエストを実行して、作成したラージ・オブジェクト(myLargeFile)のサイズを表示します。curl -v -X HEAD \ -H "X-Auth-Token: AUTH_tkbaebb60dfa5b80d84e62b0d5d07031e5" https://acme.storage.oraclecloud.com/v1/Storage-acme/FirstContainer/myLargeFile次に、このコマンドの出力を示します。
> HEAD /v1/Storage-acme/FirstContainer/myLargeFile HTTP/1.1 > User-Agent: curl/7.29.0 > Host: acme.storage.oraclecloud.com > Accept: */* > X-Auth-Token: AUTH_tkc9305a46ebaa0585c4c7ae063c844f0b < Etag: "e6da53c20abee5c471fe8bf796abb1a4" < Accept-Ranges: bytes < Last-Modified: Tue, 15 Dec 2015 10:07:53 GMT < X-Timestamp: 1455012472.56679 < X-Trans-Id: txcab964b91ba8474ca9193-0056b9bb6fga < Date: Tue, 15 Dec 2015 10:12:00 GMT < Connection: keep-alive < X-Last-Modified-Timestamp: 1455012472.56679 < Content-Type: application/octet-stream;charset=UTF-8 < Content-Length: 104857600 curl: (18) transfer closed with 52428800 bytes remaining to read
ラージ・オブジェクトのサイズは、ヘッダー
Content-Lengthで確認できます。 ラージ・オブジェクトのサイズは、セグメント・オブジェクトを合計したサイズです。 ラージ・オブジェクトをダウンロードするには、「ラージ・オブジェクトのダウンロード」を参照してください。
オブジェクトを不変にする
WORM (Write-Once-Read-Many)ポリシーをコンテナにアップロードするときにオブジェクトを変更したり、指定した期間削除したりしないようにすることで、オブジェクトを不変にすることができます。
オブジェクトのWORMポリシーを設定したら、それを変更することはできません。 WORMポリシーが期限切れになると、オブジェクトを削除できますが、オブジェクトを変更することはできません。また、メタデータです。 オブジェクトをアップロードするコンテナにWORMポリシーがある場合、オブジェクトレベルのWORMポリシーの期間は、コンテナ・レベルのポリシーの期間以上でなければなりません。 コンテナのWORMポリシーの設定の詳細については、「コンテナ内のオブジェクトを変更できないようにする」を参照してください。
Service AdministratorロールまたはコンテナのX-Container-Write ACLで指定されたロールを持つすべてのユーザーは、オブジェクトのWORMポリシー・ヘッダーX-Worm-Expiration-DaysおよびX-Worm-Expiration-Atを設定できます。
REST APIを使用してオブジェクトのメタデータを設定する方法については、Oracle Cloud Infrastructure Object Storage Classicの標準ストレージ用のREST APIの「オブジェクトの作成または置換」を参照してください。
cURLコマンド構文
ポリシーの有効期間を指定してオブジェクトのWORMポリシーを設定するには:
curl -v -X PUT \
-H "X-Auth-Token: token" \
-H "X-Worm-Expiration-Days: period" \
-H "Content-Length: length"
accountURL/containerName/objectName
有効期限を設定してオブジェクトのWORMポリシーを設定するには:
curl -v -X PUT \
-H "X-Auth-Token: token" \
-H "X-Worm-Expiration-At: time" \
-H "Content-Length: length"
accountURL/containerName/objectName
tokenは、以前にOracle Cloud Infrastructure Object Storage Classicから取得した認証トークンです。 「REST API使用時のアクセス認証」を参照してください。periodは、WORMポリシーがコンテナに設定されている期間(日数)です。timeは、WORMポリシーの有効期限が切れる日時を表すUNIXエポック・タイムスタンプです。 たとえば、1481364600は2016年12月10日10:10:00 GMTを表します。 http://epochconverter.comを参照してください。この値は現在のエポック時間より長くなければなりません。
lengthはオブジェクトのサイズです。accountURLの構文については、「Oracle Cloud Infrastructure Object Storage ClassicリソースのREST URLについて」を参照してください。containerNameは、オブジェクトをアップロードする必要があるコンテナの名前です。objectNameは、WORMポリシーを設定する必要があるオブジェクトの名前です。
注意:
Oracle Cloud Infrastructure Object Storage ClassicにREST APIリクエストを送信すると、コンテナ名、オブジェクト名、メタデータ値の非ASCII文字はすべてURLエンコードされている必要があります。 たとえば、my containerはmy%20containerとしてエンコードする必要があります。%20はスペース文字のHTMLエンコードです。 同様に、my Über Containerはmy%20%C3%9Cber%20Containerとしてエンコードする必要があります。%20はスペース文字を表し、%C3%9CはÜ文字です。
HTTPレスポンス・コード
- 成功:
201 Created - 失敗: 「Object Storage Classicのエラー・コード・リファレンス」を参照してください
オブジェクト・メタデータを取得する方法については、「オブジェクト・メタデータの取得」を参照してください。
cURLコマンド例
- アカウント名:
acme - RESTエンドポイントURL :
https://acme.storage.oraclecloud.com/v1/Storage-acme - RESTエンドポイント(永続)URL :
https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365注意:
2017年11月以降に作成されたアカウントのREST Endpoint (Permanent)URLが表示されます。
サンプルのCloudアカウントのRESTエンドポイントURLは、このセクションのすべてのcURLコマンドの例で使用されています。 REST Endpoint (Permanent)URLを使用するには、https://acme.storage.oraclecloud.com/v1/Storage-acmeをhttps://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365に置き換えます。
-
このコマンドは、コンテナ
FirstContainerにアップロードされたオブジェクトFirstObjectの4日のWORMポリシーを設定します。curl -v -X PUT \ -H "X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b" \ -H "X-Worm-Expiration-Days: 4" \ -H "Content-Length: 0" https://acme.storage.oraclecloud.com/v1/Storage-acme/FirstContainer/FirstObject次に、このコマンドの出力例を示します:
> PUT /v1/Storage-acme/FirstContainer/FirstObject HTTP/1.1 > User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.14.0.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2 > Host: acme.storage.oraclecloud.com > Accept: */* > X-Worm-Expiration-Days: 4 > X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b > Content-Length: 0 < HTTP/1.1 201 Created < Date: Fri, 06 Dec 2016 11:41:20 GMT < Content-Type: text/html; charset=UTF-8 < X-Trans-Id: txe8869b3edea348e5b49eb-0054f99088 < Cache-Control: no-cache < Pragma: no-cache < Content-Language: en
-
このコマンドは、コンテナ
FirstContainerにアップロードされたオブジェクトSecondObjectのエポック・タイムスタンプ1481234400で表されるThu, 08 Dec 2016 22:00:00 GMTで期限切れになるWORMポリシーを設定します。curl -v -X PUT \ -H "X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b" \ -H "X-Worm-Expiration-At: 1481234400" \ -H "Content-Length: 12" https://acme.storage.oraclecloud.com/v1/Storage-acme/FirstContainer/SecondObject次に、このコマンドの出力例を示します:
> PUT /v1/Storage-acme/FirstContainer/SecondObject HTTP/1.1 > User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.14.0.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2 > Host: acme.storage.oraclecloud.com > Accept: */* > X-Worm-Expiration-At: 1481234400 > X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b > Content-Length: 12 < HTTP/1.1 201 Created < Date: Fri, 06 Dec 2016 11:43:50 GMT < Content-Type: text/html; charset=UTF-8 < X-Trans-Id: txe8869b3edea348e5b49eb-0054f99095 < Cache-Control: no-cache < Pragma: no-cache < Content-Language: en
オブジェクト・メタデータの取得
サービス管理者ロールまたはコンテナのX-Container-Read ACLに指定されたロールを持つすべてのユーザーがこのタスクを実行できます。
HEADリクエストを送信して、コンテナのオブジェクトに関する情報を取得できます。次の情報が戻されます。
- オブジェクト・タイプ(
Content-Type) - オブジェクト・サイズ(
Content-Length) - MD5チェックサム値(
Etag)
| インタフェース | 資料 |
|---|---|
|
RESTful API |
「オブジェクト・メタデータを表示」in 「Oracle Cloud Infrastructure Object Storage Classicの標準ストレージ用のREST API」を参照してください。 |
|
ファイル転送マネージャAPI |
「Oracle Cloud Infrastructure Object Storage Classic用のJava APIリファレンスFile Transfer Manager」のclass: ObjectMetadataを参照してください。 |
|
ファイル転送マネージャCLI |
「Oracle Cloud Infrastructure Object Storage Classicのコマンドライン・リファレンス」のsetQuotaBytes()を参照してください。 |
cURLコマンド構文
curl -v -X HEAD \
-H "X-Auth-Token: token" \
accountURL/containerName/objectName
tokenは、以前にOracle Cloud Infrastructure Object Storage Classicから取得した認証トークンです。 「REST API使用時のアクセス認証」を参照してください。accountURLの構文については、「Oracle Cloud Infrastructure Object Storage ClassicリソースのREST URLについて」を参照してください。containerNameはコンテナの名前です。objectNameは、メタデータが取得されるオブジェクトの名前です。
注意:
Oracle Cloud Infrastructure Object Storage ClassicにREST APIリクエストを送信すると、コンテナ名、オブジェクト名、メタデータ値の非ASCII文字はすべてURLエンコードされている必要があります。 たとえば、my containerはmy%20containerとしてエンコードする必要があります。%20はスペース文字のHTMLエンコードです。 同様に、my Über Containerはmy%20%C3%9Cber%20Containerとしてエンコードする必要があります。%20はスペース文字を表し、%C3%9CはÜ文字です。
HTTPレスポンス・コード
- 成功:
200 OK - 失敗: 「Oracle Cloud Infrastructure Object Storage Classicのエラー・コード・リファレンス」を参照してください
cURLコマンド例
- アカウント名:
acme - RESTエンドポイントURL :
https://acme.storage.oraclecloud.com/v1/Storage-acme - RESTエンドポイント(永続)URL :
https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365注意:
2017年11月以降に作成されたアカウントのREST Endpoint (Permanent)URLが表示されます。
- 「RESTエンドポイント」フィールドから取得したRESTエンドポイントURLを使用する方法:
curl -v -X HEAD \ -H "X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b" \ https://acme.storage.oraclecloud.com/v1/Storage-acme/FirstContainer/myObject次に、このコマンドの出力例を示します:
> HEAD /v1/acme.storage.oraclecloud.com/v1/Storage-acme/FirstContainer/myObject HTTP/1.1 > User-Agent: curl/7.29.0 > Host: acme.storage.oraclecloud.com > Accept: */* > X-Auth-Token: AUTH_tk4863bdbfb5eee0d6d452eed5348d21ed > < HTTP/1.1 200 OK < Accept-Ranges: bytes < Last-Modified: Wed, 16 Dec 2015 08:14:17 GMT < Etag: f1c9645dbc14efddc7d8a322685f26eb < X-Timestamp: 1450253656.45313 < X-Trans-Id: txb3d80329b3ec4915971c0-0056a9d7c0ga < Date: Thu, 28 Jan 2016 08:56:32 GMT < Connection: keep-alive < X-Last-Modified-Timestamp: 1450253656.45313 < Content-Type: application/octet-stream;charset=UTF-8 < Content-Length: 10485760 - 「RESTエンドポイント(永続的)」フィールドから取得したサービス永続RESTエンドポイントURLの使用:
このcURLコマンドの例は、2017年11月以降に作成されたアカウントに適用されます。
curl -v -X HEAD \ -H "X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b" \ https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365/FirstContainer/myObject次に、このコマンドの出力例を示します:
> HEAD v1/storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365/FirstContainer/myObject HTTP/1.1 > User-Agent: curl/7.29.0 > Host: storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com > Accept: */* > X-Auth-Token: AUTH_tk4863bdbfb5eee0d6d452eed5348d21ed > < HTTP/1.1 200 OK < Accept-Ranges: bytes < Last-Modified: Wed, 16 Dec 2015 08:14:17 GMT < Etag: f1c9645dbc14efddc7d8a322685f26eb < X-Timestamp: 1450253656.45313 < X-Trans-Id: txb3d80329b3ec4915971c0-0056a9d7c0ga < Date: Thu, 28 Jan 2016 08:56:32 GMT < Connection: keep-alive < X-Last-Modified-Timestamp: 1450253656.45313 < Content-Type: application/octet-stream;charset=UTF-8 < Content-Length: 10485760
ラージ・オブジェクトのオブジェクト・メタデータの取得
サービス管理者ロールまたはコンテナのX-Container-Read ACLに指定されたロールを持つすべてのユーザーがこのタスクを実行できます。
HEADリクエストを送信して、コンテナのラージ・オブジェクトに関する情報を取得できます。次の情報が戻されます。
- オブジェクト・タイプ(
Content-Type) - オブジェクト・サイズ(
Content-Length) - MD5チェックサム値(
Etag)
REST APIを使用したラージ・オブジェクト・メタデータの取得の詳細は、OpenStack Object Storage Service APIリファレンスのオブジェクト・メタデータの取得に関する項を参照してください。 Javaライブラリでは、このタスクはサポートされていません。
cURLコマンド構文
curl -v -X HEAD \
-H "X-Auth-Token: token" \
accountURL/containerName/manifestObjectName
tokenは、以前にOracle Cloud Infrastructure Object Storage Classicから取得した認証トークンです。 「REST API使用時のアクセス認証」を参照してください。accountURLの構文については、「Oracle Cloud Infrastructure Object Storage ClassicリソースのREST URLについて」を参照してください。containerNameはコンテナの名前です。manifestObjectNameは、メタデータが取得されるラージ・オブジェクトの名前です。
HTTPレスポンス・コード
- 成功:
200 OK - 失敗: 「Oracle Cloud Infrastructure Object Storage Classicのエラー・コード・リファレンス」を参照してください
cURLコマンド例
- アカウント名:
acme - RESTエンドポイントURL :
https://acme.storage.oraclecloud.com/v1/Storage-acme - RESTエンドポイント(永続)URL :
https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365注意:
2017年11月以降に作成されたアカウントのREST Endpoint (Permanent)URLが表示されます。
- 「RESTエンドポイント」フィールドから取得したRESTエンドポイントURLを使用する方法:
curl -v -X HEAD \ -H "X-Auth-Token: AUTH_tka6b18380f0e22c57d721b9101d425759" \ https://acme.storage.oraclecloud.com/v1/Storage-acme/FirstContainer/LargeFile.manifest次に、このコマンドの出力例を示します:
> HEAD /v1/acme.storage.oraclecloud.com/v1/Storage-acme/FirstContainer/LargeFile.manifest HTTP/1.1 > User-Agent: curl/7.29.0 > Host: acme.storage.oraclecloud.com > Accept: */* > X-Auth-Token: AUTH_tka6b18380f0e22c57d721b9101d425759 > < HTTP/1.1 200 OK < Etag: "6e9647a0cd268b9299e647d28f7027f7" < Accept-Ranges: bytes < Last-Modified: Mon, 25 Jan 2016 18:48:22 GMT < X-Object-Manifest: FirstContainer/segment_ < X-Timestamp: 1453747701.91311 < X-Trans-Id: txbfb035e9ddf24d96bf602-0056ab5bf2ga < Date: Fri, 29 Jan 2016 12:32:50 GMT < Connection: keep-alive < X-Last-Modified-Timestamp: 1453747701.91311 < Content-Type: application/zip;charset=UTF-8 < Content-Length: 52428800
- 「RESTエンドポイント(永続的)」フィールドから取得したサービス永続RESTエンドポイントURLの使用:
このcURLコマンドの例は、2017年11月以降に作成されたアカウントに適用されます。
curl -v -X HEAD \ -H "X-Auth-Token: AUTH_tka6b18380f0e22c57d721b9101d425759" \ https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365/FirstContainer/LargeFile.manifest次に、このコマンドの出力例を示します:
> HEAD /v1/storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365/FirstContainer/LargeFile.manifest HTTP/1.1 > User-Agent: curl/7.29.0 > Host: storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com > Accept: */* > X-Auth-Token: AUTH_tka6b18380f0e22c57d721b9101d425759 > < HTTP/1.1 200 OK < Etag: "6e9647a0cd268b9299e647d28f7027f7" < Accept-Ranges: bytes < Last-Modified: Mon, 25 Jan 2016 18:48:22 GMT < X-Object-Manifest: FirstContainer/segment_ < X-Timestamp: 1453747701.91311 < X-Trans-Id: txbfb035e9ddf24d96bf602-0056ab5bf2ga < Date: Fri, 29 Jan 2016 12:32:50 GMT < Connection: keep-alive < X-Last-Modified-Timestamp: 1453747701.91311 < Content-Type: application/zip;charset=UTF-8 < Content-Length: 52428800
Archiveコンテナ内のオブジェクトのステータスの確認
このトピックはOracle Cloud at Customerには適用されません。
X-Container-Read ACLに指定されたロールを持つユーザーはすべて、Archiveコンテナ内のオブジェクトのステータスを確認できます。
Webコンソールを使用したオブジェクトのステータスの確認
- Oracle Cloud Infrastructure Object Storage Classicコンソールにサインインします。
- ステータスを確認するオブジェクトが含まれている
Archiveコンテナを選択します。コンテナ内のオブジェクトがリストされます。
- ステータスを確認するオブジェクトを特定します。
- 「Check Status」を選択します。
-
オブジェクトがアーカイブされている場合は、「Checking current status of archive object」ダイアログ・ボックスが表示され、次のメッセージが示されます。
Currently the object is archived.オブジェクトをリストアする場合は、「Restore」を選択します。 「アーカイブ済オブジェクトのリストア」を参照してください。
それ以外の場合は、「Cancel」をクリックします。
-
アーカイブ済オブジェクトのリストア中には、「Checking current status of archive object」ダイアログ・ボックスが表示され、次のメッセージが示されます。
Restoration job is in progress.
-
- 「OK」をクリックします。
REST APIを使用したオブジェクトのステータスの確認
Archiveコンテナ内のオブジェクトを作成またはリストアした後、オブジェクトのステータスをヘッダーX-Archive-Restore-Statusから確認できます。このステータスは、次の値のいずれかを持つ場合があります。
archived: オブジェクトがアーカイブされていることを示しますrestored: オブジェクトがリストアされていることを示しますinprogress: オブジェクトのリストアが進行中であることを示します
cURLコマンド構文
curl -v -X HEAD \
-H "X-Auth-Token: token" \
accountURL/containerName/objectName
tokenは、以前にOracle Cloud Infrastructure Object Storage Classicから取得した認証トークンです。 「REST API使用時のアクセス認証」を参照してください。accountURLの構文については、「Oracle Cloud Infrastructure Object Storage ClassicリソースのREST URLについて」を参照してください。containerNameは、アーカイブ・ステータスまたはリストア・ステータスを識別する必要があるオブジェクトが含まれるコンテナの名前です。objectNameは、リストア・ステータスを確認するオブジェクトの名前です。
注意:
Oracle Cloud Infrastructure Object Storage ClassicにREST APIリクエストを送信すると、コンテナ名、オブジェクト名、メタデータ値の非ASCII文字はすべてURLエンコードされている必要があります。 たとえば、my containerはmy%20containerとしてエンコードする必要があります。%20はスペース文字のHTMLエンコードです。 同様に、my Über Containerはmy%20%C3%9Cber%20Containerとしてエンコードする必要があります。%20はスペース文字を表し、%C3%9CはÜ文字です。
HTTPレスポンス・コード
- 成功:
200 OK - 失敗: 「Oracle Cloud Infrastructure Object Storage Classicのエラー・コード・リファレンス」を参照してください
cURLコマンド例
- アカウント名:
acme - RESTエンドポイントURL :
https://acme.storage.oraclecloud.com/v1/Storage-acme - RESTエンドポイント(永続)URL :
https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365注意:
2017年11月以降に作成されたアカウントのREST Endpoint (Permanent)URLが表示されます。
- 「RESTエンドポイント」フィールドから取得したRESTエンドポイントURLを使用する方法:
curl -v -X HEAD \ -H "X-Auth-Token: AUTH_tkb237a55e17b772a7579f433d8b4f6e05" \ https://acme.storage.oraclecloud.com/v1/Storage-acme/firstArchiveContainer/obj1.txt次は、オブジェクト・ステータスが
archivedである場合のこのコマンドの出力の例です。> HEAD /v1/Storage-acme/firstArchiveContainer/obj1.txt HTTP/1.1 > User-Agent: curl/7.29.0 > Host: acme.storage.oraclecloud.com:443 > Accept: */* > X-Auth-Token: AUTH_tkb237a55e17b772a7579f433d8b4f6e05 > < HTTP/1.1 200 OK < X-Archive-Restore-Status: archived < Accept-Ranges: bytes < Last-Modified: Thu, 18 Jun 2015 19:45:26 GMT < Etag: 3db2050fcf84bb631dcae417d3db518c < X-Timestamp: 1434656725.77022 < X-Trans-Id: tx37fb896a0a8144f3860da-0055832016ga < Date: Thu, 18 Jun 2015 19:46:30 GMT < Content-Type: text/plain;charset=UTF-8 < Content-Length: 12 <
- 「RESTエンドポイント(永続的)」フィールドから取得したサービス永続RESTエンドポイントURLの使用:
注意:
このcURLコマンドの例は、2017年11月以降に作成されたアカウントに適用されます。curl -v -X HEAD \ -H "X-Auth-Token: AUTH_tkb237a55e17b772a7579f433d8b4f6e05" \ https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365/firstArchiveContainer/obj1.txt次は、オブジェクト・ステータスが
archivedである場合のこのコマンドの出力の例です。> HEAD /v1/Storage-7b16fede61e1417ab83eb52e06f0e365/firstArchiveContainer/obj1.txt HTTP/1.1 > User-Agent: curl/7.29.0 > Host: storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com:443 > Accept: */* > X-Auth-Token: AUTH_tkb237a55e17b772a7579f433d8b4f6e05 > < HTTP/1.1 200 OK < X-Archive-Restore-Status: archived < Accept-Ranges: bytes < Last-Modified: Thu, 18 Jun 2015 19:45:26 GMT < Etag: 3db2050fcf84bb631dcae417d3db518c < X-Timestamp: 1434656725.77022 < X-Trans-Id: tx37fb896a0a8144f3860da-0055832016ga < Date: Thu, 18 Jun 2015 19:46:30 GMT < Content-Type: text/plain;charset=UTF-8 < Content-Length: 12 <
アーカイブ済オブジェクトのリストア
このトピックはOracle Cloud at Customerには適用されません。
X-Container-Read ACLに指定されたロールを持つすべてのユーザーがこのタスクを実行できます。
アーカイブ済オブジェクトをダウンロードするには、最初にオブジェクトをリストアする必要があります。 アーカイブ済オブジェクトのリストアは、非同期的な操作です。 オブジェクトをリストアするには最大4時間かかる場合があります。 オブジェクトをリストアすることをリクエストすると、ジョブIDと追跡URLが返されます。 この情報を使用して、オブジェクトのリストア進行状況を監視できます。
| インタフェース | 資料 |
|---|---|
|
Webコンソール |
「Webコンソールを使用したアーカイブ済オブジェクトのリストア」を参照してください。 |
|
RESTful API |
「アーカイブされたオブジェクトの取得をトリガー」in Oracle Cloud Infrastructure Object Storage Classicのアーカイブ・ストレージ用REST APIを参照してください。 |
|
ファイル転送マネージャCLI |
「Oracle Cloud Infrastructure Object Storage Classicのコマンドライン・リファレンス」の「オブジェクトのリストア」を参照してください。 |
|
ファイル転送マネージャAPI |
「Oracle Cloud Infrastructure Object Storage Classic用Java APIリファレンスFile Transfer Manager」の |
Webコンソールを使用したアーカイブ済オブジェクトのリストア
- Oracle Cloud Infrastructure Object Storage Classicコンソールにサインインします。
- リストアするオブジェクトが含まれている
Archiveコンテナを選択します。コンテナ内のオブジェクトがリストされます。
- リストアするアーカイブ済オブジェクトを特定します。
- 「Check Status」を選択します。
「Checking current status of archive object」ダイアログ・ボックスが表示され、次のメッセージが示されます。
Currently the object is archived. - 「Restore」を選択して、アーカイブ済オブジェクトをリストアします。
次のメッセージが表示されます。
Are you sure you want to restore the object objectName? - 「OK」をクリックします。
次のメッセージが表示されます。
Restore job for objectName initiated successfully. You can check the Restore Status by clicking the Check Status button.デフォルトで、オブジェクトは1日はリストアされたままですが、その後ダウンロードするにはもう一度リストアする必要があります。
- 「OK」をクリックします。
REST APIを使用したアーカイブ済オブジェクトのリストア
cURLコマンド構文
curl -v -X POST \
-H "X-Auth-Token: token" \
"accountURL/containerName/objectName?restore"tokenは、以前にOracle Cloud Infrastructure Object Storage Classicから取得した認証トークンです。 「REST API使用時のアクセス認証」を参照してください。accountURLの構文については、「Oracle Cloud Infrastructure Object Storage ClassicリソースのREST URLについて」を参照してください。 REST API URLでv0を使用します。containerNameは、オブジェクトのリストア先コンテナの名前です。objectNameは、リストアするオブジェクトの名前です。restoreは、オブジェクトをリストアするための問合せパラメータです。
注意:
Oracle Cloud Infrastructure Object Storage ClassicにREST APIリクエストを送信すると、コンテナ名、オブジェクト名、メタデータ値の非ASCII文字はすべてURLエンコードされている必要があります。 たとえば、my containerはmy%20containerとしてエンコードする必要があります。%20はスペース文字のHTMLエンコードです。 同様に、my Über Containerはmy%20%C3%9Cber%20Containerとしてエンコードする必要があります。%20はスペース文字を表し、%C3%9CはÜ文字です。
HTTPレスポンス・コード
- 成功:
202 Accepted - 失敗: 「Oracle Cloud Infrastructure Object Storage Classicのエラー・コード・リファレンス」を参照してください
cURLコマンド例
- アカウント名:
acme - RESTエンドポイントURL :
https://acme.storage.oraclecloud.com/v1/Storage-acme - RESTエンドポイント(永続)URL :
https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365注意:
2017年11月以降に作成されたアカウントのREST Endpoint (Permanent)URLが表示されます。
- 「RESTエンドポイント」フィールドから取得したRESTエンドポイントURLを使用する方法:
curl -v -X POST \ -H "X-Auth-Token: AUTH_tk1ff0554c1fefff9209696d63553722fd" \ "https://acme.storage.oraclecloud.com/v0/Storage-acme/firstArchiveContainer/file.txt?restore"次に、このコマンドの出力例を示します:
> HEAD /v1/Storage-acme/firstArchiveContainer/file.txt HTTP/1.1 > User-Agent: curl/7.29.0 > Host: acme.storage.oraclecloud.com:443 > Accept: */* > X-Auth-Token: AUTH_tk1ff0554c1fefff9209696d63553722fd > > POST /v0/Storage-acme/firstArchiveContainer/file.txt?restore HTTP/1.1 > User-Agent: curl/7.29.0 > Host: acme.storage.oraclecloud.com:443 > Accept: */* > X-Auth-Token: AUTH_tk1ff0554c1fefff9209696d63553722fd < HTTP/1.1 202 Accepted < Location: acme.storage.oraclecloud.com:443/v0/Storage-acme/firstArchiveContainer?jobs&jobid=a75c8bbf53224a88738e68d6628acd83a4b300e4 < X-Archive-Restore-Tracking: http://acme.storage.oraclecloud.com:443/v0/Storage-acme/TestArch?jobs&jobid=a75c8bbf53224a88738e68d6628acd83a4b300e4 < X-Archive-Restore-JobId: a75c8bbf53224a88738e68d6628acd83a4b300e4 < Content-Length: 0 < Date: Thu, 18 Jun 2015 17:53:41 GMT <
注意:
デフォルトで、オブジェクトは1日はリストアされたままですが、その後ダウンロードするにはもう一度リストアする必要があります。 次の例に示すように、
X-Archive-Restore-Expirationヘッダーに期間を指定することによって、オブジェクトがリストアされたまま保持される期間(日数)を変更できます。curl -v -X POST \ -H "X-Auth-Token: AUTH_tk1ff0554c1fefff9209696d63553722fd" \ -H "X-Archive-Restore-Expiration: 3" \ "https://acme.storage.oraclecloud.com/v0/Storage-acme/firstArchiveContainer/file.txt?restore - 「RESTエンドポイント(永続的)」フィールドから取得したサービス永続RESTエンドポイントURLの使用:
このcURLコマンドの例は、2017年11月以降に作成されたアカウントに適用されます。
curl -v -X POST \ -H "X-Auth-Token: AUTH_tk1ff0554c1fefff9209696d63553722fd" \ "https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365/firstArchiveContainer/file.txt?restore"次に、このコマンドの出力例を示します:
> HEAD /v1/Storage-7b16fede61e1417ab83eb52e06f0e365/firstArchiveContainer/file.txt HTTP/1.1 > User-Agent: curl/7.29.0 > Host: storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com:443 > Accept: */* > X-Auth-Token: AUTH_tk1ff0554c1fefff9209696d63553722fd > > POST /v0/Storage-7b16fede61e1417ab83eb52e06f0e365/firstArchiveContainer/file.txt?restore HTTP/1.1 > User-Agent: curl/7.29.0 > Host: storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com:443 > Accept: */* > X-Auth-Token: AUTH_tk1ff0554c1fefff9209696d63553722fd < HTTP/1.1 202 Accepted < Location: https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365/firstArchiveContainer?jobs&jobid=a75c8bbf53224a88738e68d6628acd83a4b300e4 < X-Archive-Restore-Tracking: http://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com:443/v0/Storage-7b16fede61e1417ab83eb52e06f0e365/TestArch?jobs&jobid=a75c8bbf53224a88738e68d6628acd83a4b300e4 < X-Archive-Restore-JobId: a75c8bbf53224a88738e68d6628acd83a4b300e4 < Content-Length: 0 < Date: Thu, 18 Jun 2015 17:53:41 GMT <
注意:
デフォルトで、オブジェクトは1日はリストアされたままですが、その後ダウンロードするにはもう一度リストアする必要があります。 次の例に示すように、
X-Archive-Restore-Expirationヘッダーに期間を指定することによって、オブジェクトがリストアされたまま保持される期間(日数)を変更できます。curl -v -X POST \ -H "X-Auth-Token: AUTH_tk1ff0554c1fefff9209696d63553722fd" \ -H "X-Archive-Restore-Expiration: 3" \ "https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v0/Storage-7b16fede61e1417ab83eb52e06f0e365/firstArchiveContainer/file.txt?restore
次のステップ
これで、Archiveコンテナ内のオブジェクトのリストア進行状況を追跡できます。 オブジェクトのリストア進行状況を追跡するには、オブジェクトのリストア時にヘッダーX-Archive-Restore-Tracking内のURLおよびヘッダーX-Archive-Restore-JobId内のジョブIDをメモします。 詳細は、「Archiveコンテナ内のオブジェクトのリストアの追跡」を参照してください。
Archiveコンテナ内のオブジェクトのリストアの追跡
このトピックはOracle Cloud at Customerには適用されません。
X-Container-Read ACLに指定されたロールを持つユーザーはすべて、Archiveコンテナ内のオブジェクトのリストアを追跡できます。
オブジェクトがリストアされてアクセス可能になるまで最大4時間かかる場合があります。
オブジェクトのリストアの進行状況は、オブジェクト・メタデータのX-Archive-Restore-Trackingステータス・ヘッダーのURLから追跡できます。
- リストア開始時間
- リストア終了時間(リストアが完了している場合)
- リストア進行状況
- リストアの完了率
- ジョブ詳細
- オブジェクト・サイズ
- オブジェクトEtag
- リストア済オブジェクトの有効期限
- オブジェクトのゾーン済バージョンへのリンク
- ジョブ・タイプ
- ジョブID
REST APIを使用してarchiveコンテナ内のオブジェクトのリストアをトラッキングする方法の詳細は、Oracle Cloud Infrastructure Object Storage Classicのアーカイブ・ストレージ用REST APIの「リストア・ジョブのステータスを返す」を参照してください。
cURLコマンド構文
curl -v -X GET \
-H "X-Auth-Token: token" \
"accountURL/containerName?jobs&jobID"
tokenは、以前にOracle Cloud Infrastructure Object Storage Classicから取得した認証トークンです。 「REST API使用時のアクセス認証」を参照してください。accountURLの構文については、「Oracle Cloud Infrastructure Object Storage ClassicリソースのREST URLについて」を参照してください。 REST API URLでv0を使用します。containerNameは、オブジェクトのリストア先コンテナの名前です。jobIDは、オブジェクトをリストアするときにヘッダーX-Archive-Restore-JobIdで返されるジョブIDです。 「アーカイブ済オブジェクトのリストア」を参照してください。
注意:
Oracle Cloud Infrastructure Object Storage ClassicにREST APIリクエストを送信すると、コンテナ名、オブジェクト名、メタデータ値の非ASCII文字はすべてURLエンコードされている必要があります。 たとえば、my containerはmy%20containerとしてエンコードする必要があります。%20はスペース文字のHTMLエンコードです。 同様に、my Über Containerはmy%20%C3%9Cber%20Containerとしてエンコードする必要があります。%20はスペース文字を表し、%C3%9CはÜ文字です。
HTTPレスポンス・コード
- 成功:
200 OK - 失敗: 「Oracle Cloud Infrastructure Object Storage Classicのエラー・コード・リファレンス」を参照してください
cURLコマンド例
- アカウント名:
acme - RESTエンドポイントURL :
https://acme.storage.oraclecloud.com/v1/Storage-acme - RESTエンドポイント(永続)URL :
https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365注意:
2017年11月以降に作成されたアカウントのREST Endpoint (Permanent)URLが表示されます。
- 「RESTエンドポイント」フィールドから取得したRESTエンドポイントURLを使用する方法:
curl -v -X GET \ -H "X-Auth-Token: AUTH_tk1ff0554c1fefff9209696d63553722fd" "https://acme.storage.oraclecloud.com/v0/Storage-acme/firstArchiveContainer?jobs&jobid=a75c8bbf53224a88738e68d6628acd83a4b300e4"次に、このコマンドの出力例を示します:
> GET /v0/Storage-acme/firstArchiveContainer?jobs&jobid=a75c8bbf53224a88738e68d6628acd83a4b300e4 HTTP/1.1 > User-Agent: curl/7.29.0 > Host: acme.storage.oraclecloud.com:443 > Accept: */* > X-Auth-Token: AUTH_tk1ff0554c1fefff9209696d63553722fd > < HTTP/1.1 200 OK < Transfer-Encoding: chunked < Date: Thu, 18 Jun 2015 17:56:14 GMT < * Connection #0 to host acme.storage.oraclecloud.com left intact { "endTime":"2015-06-18,17:54", "progress":"success","completedPercentage":100, "intervalToPoll":10, "jobDetails":{ "objectSizeInBytes":"20", "objectEtag":"4221d002ceb5d3c9e9137e495ceaa647", "objectExpiration":"1434736481424" }, "links": [ {"rel":"self", "href":"http://acme.storage.oraclecloud.com:443/v0/Storage-acme/TestArch?jobs&jobid=a75c8bbf53224a88738e68d6628acd83a4b300e4"}, {"rel":"original","href":"http://acme.storage.oraclecloud.com:443/v1/Storage-acme/TestArch/file.txt"}, {"rel":"canonical","href":"http://acme.storage.oraclecloud.com:443/v1/Storage-acme/TestArch/file.txt"} ], "startTime":"2015-06-18,17:53", "completed":true, "jobType":"RestoreArchivedObjectJob", "jobId":"a75c8bbf53224a88738e68d6628acd83a4b300e4" }レスポンス本文内の
objectExpirationフィールドには、リストアされたオブジェクトの有効期限が切れる日時を表すUNIXエポックのタイムスタンプが表示されます。 たとえば、1434736481424は2015年6月19日17:54:41 GMTを表します。 http://www.epochconverter.com/を参照してください。 標準の有効期限は24時間です。 - 「RESTエンドポイント(永続的)」フィールドから取得したサービス永続RESTエンドポイントURLの使用:
このcURLコマンドの例は、2017年11月以降に作成されたアカウントに適用されます。
curl -v -X GET \ -H "X-Auth-Token: AUTH_tk1ff0554c1fefff9209696d63553722fd" "https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v0/Storage-7b16fede61e1417ab83eb52e06f0e365/firstArchiveContainer?jobs&jobid=a75c8bbf53224a88738e68d6628acd83a4b300e4"次に、このコマンドの出力例を示します:
> GET /v0/Storage-7b16fede61e1417ab83eb52e06f0e365/firstArchiveContainer?jobs&jobid=a75c8bbf53224a88738e68d6628acd83a4b300e4 HTTP/1.1 > User-Agent: curl/7.29.0 > Host: storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com:443 > Accept: */* > X-Auth-Token: AUTH_tk1ff0554c1fefff9209696d63553722fd > < HTTP/1.1 200 OK < Transfer-Encoding: chunked < Date: Thu, 18 Jun 2015 17:56:14 GMT < * Connection #0 to host storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com left intact { "endTime":"2015-06-18,17:54", "progress":"success","completedPercentage":100, "intervalToPoll":10, "jobDetails":{ "objectSizeInBytes":"20", "objectEtag":"4221d002ceb5d3c9e9137e495ceaa647", "objectExpiration":"1434736481424" }, "links": [ {"rel":"self", "href":"http://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com:443/v0/Storage-7b16fede61e1417ab83eb52e06f0e365/TestArch?jobs&jobid=a75c8bbf53224a88738e68d6628acd83a4b300e4"}, {"rel":"original","href":"http://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com:443/v1/Storage-7b16fede61e1417ab83eb52e06f0e365/TestArch/file.txt"}, {"rel":"canonical","href":"http://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com:443/v1/Storage-7b16fede61e1417ab83eb52e06f0e365/TestArch/file.txt"} ], "startTime":"2015-06-18,17:53", "completed":true, "jobType":"RestoreArchivedObjectJob", "jobId":"a75c8bbf53224a88738e68d6628acd83a4b300e4" }レスポンス本文内の
objectExpirationフィールドには、リストアされたオブジェクトの有効期限が切れる日時を表すUNIXエポックのタイムスタンプが表示されます。 たとえば、1434736481424は2015年6月19日17:54:41 GMTを表します。 http://www.epochconverter.com/を参照してください。 標準の有効期限は24時間です。
オブジェクトのダウンロード
オブジェクトをダウンロードすると、オブジェクトのメタデータおよびデータがダウンロードされます。 単一のオブジェクトまたはラージ・オブジェクトをダウンロードできます。
オブジェクトのダウンロード
オブジェクトをダウンロードすると、オブジェクトのメタデータおよびデータがダウンロードされます。
サービス管理者ロールまたはコンテナのX-Container-Read ACLに指定されたロールを持つすべてのユーザーがこのタスクを実行できます。
| インタフェース | 資料 |
|---|---|
|
Webコンソール (Oracle Cloud at Customerでは使用できません) |
Webコンソールを使用したオブジェクトのダウンロードを参照してください。 |
|
RESTful API |
「Oracle Cloud Infrastructure Object Storage Classicの標準ストレージ用のREST API」の「オブジェクトのコンテンツとメタデータを取得」を参照してください。 |
|
Javaライブラリ |
「Oracle Cloud Infrastructure Object Storage ClassicのJava APIリファレンス」の |
|
ファイル転送マネージャAPI |
「Oracle Cloud Infrastructure Object Storage Classic用のJava APIリファレンスFile Transfer Manager」の |
|
ファイル転送マネージャCLI |
「Oracle Cloud Infrastructure Object Storage Classicのコマンドライン・リファレンス」の「オブジェクトのダウンロード」を参照してください。 |
Webコンソールを使用したオブジェクトのダウンロード
(Oracle Cloud at Customerでは使用できません)- Oracle Cloud Infrastructure Object Storage Classicコンソールにサインインします。
- オブジェクトをダウンロードする必要があるコンテナを選択します。
コンテナ内のオブジェクトがリストされます。
- 「Container Information」ペインに「Enable Upload and Download」ボタンが表示されている場合は、オブジェクトをダウンロードできません。
-
「Enable Upload and Download」をクリックします。
次のメッセージが表示されます。
In order to upload and download objects to the current container, this application must enable Cross-Origin Resource Sharing (CORS) for this domain domainName. You can disable this setting at anytime. Would you like to continue? - 「OK」をクリックして、CORS (Cross-Origin Resource Sharing)を有効にします。
注意:
CORSはコンテナでいつでも無効にできます。 「Container Information」ペインで「Disable Upload and Download」を選択して、CORSを無効にします。
-
- ダウンロードするオブジェクトを特定します。
注意:
10 MBより大きいオブジェクトは、Webコンソールを使用してダウンロードできません。 そのようなオブジェクトをダウンロードするには、CLIまたはREST APIを使用します。 - ダウンロードするオブジェクトの「Actions」ドロップダウン・リストから、「Download」を選択します。
オブジェクトが目的の場所にダウンロードされます。
REST APIを使用したオブジェクトのダウンロード
cURLコマンド構文
curl -v -X GET \
-H "X-Auth-Token: token" \
-o file \
accountURL/containerName/objectName
tokenは、以前にOracle Cloud Infrastructure Object Storage Classicから取得した認証トークンです。 「REST API使用時のアクセス認証」を参照してください。fileは、オブジェクトのダウンロード先ファイルのフル・パスと名前です。accountURLの構文については、「Oracle Cloud Infrastructure Object Storage ClassicリソースのREST URLについて」を参照してください。containerNameは、ダウンロードされるオブジェクトが含まれるコンテナの名前です。objectNameは、ダウンロードされるオブジェクトの名前です。
注意:
Oracle Cloud Infrastructure Object Storage ClassicにREST APIリクエストを送信すると、コンテナ名、オブジェクト名、メタデータ値の非ASCII文字はすべてURLエンコードされている必要があります。 たとえば、my containerはmy%20containerとしてエンコードする必要があります。%20はスペース文字のHTMLエンコードです。 同様に、my Über Containerはmy%20%C3%9Cber%20Containerとしてエンコードする必要があります。%20はスペース文字を表し、%C3%9CはÜ文字です。
HTTPレスポンス・コード
- 成功:
200 OK - 失敗: 「Oracle Cloud Infrastructure Object Storage Classicのエラー・コード・リファレンス」を参照してください
cURLコマンド例
- アカウント名:
acme - RESTエンドポイントURL :
https://acme.storage.oraclecloud.com/v1/Storage-acme - RESTエンドポイント(永続)URL :
https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365注意:
2017年11月以降に作成されたアカウントのREST Endpoint (Permanent)URLが表示されます。
- 「RESTエンドポイント」フィールドから取得したRESTエンドポイントURLを使用する方法:
curl -v -X GET \ -H "X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b" \ -o myFile.txt \ https://acme.storage.oraclecloud.com/v1/Storage-acme/myContainer/myObject次に、このコマンドの出力例を示します:
> GET /v1/Storage-acme/FirstContainer/myObject HTTP/1.1 > User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.14.0.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2 > Host: acme.storage.oraclecloud.com > Accept: */* > X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b > % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 < < 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 < Etag: 846fa9d298be05e5f598703f0c3d6f51 < X-Timestamp: 1425900417.95553 < Content-Type: application/octet-stream < X-Trans-Id: txf0b592c7e49b4475944f8-0054fd8549 < Cache-Control: no-cache < Pragma: no-cache < Content-Language: en < { [data not shown] 0 23 0 23 0 0 53 0 --:--:-- --:--:-- --:--:-- 234* Connection #0 to host acme.storage.oraclecloud.com left intact - 「RESTエンドポイント(永続的)」フィールドから取得したサービス永続RESTエンドポイントURLの使用:
注意:
このcURLコマンドの例は、2017年11月以降に作成されたアカウントに適用されます。curl -v -X GET \ -H "X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b" \ -o myFile.txt \ https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365/myContainer/myObject次に、このコマンドの出力例を示します:
> GET /v1/Storage-7b16fede61e1417ab83eb52e06f0e365/FirstContainer/myObject HTTP/1.1 > User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.14.0.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2 > Host: storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com > Accept: */* > X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b > % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 < < 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 < Etag: 846fa9d298be05e5f598703f0c3d6f51 < X-Timestamp: 1425900417.95553 < Content-Type: application/octet-stream < X-Trans-Id: txf0b592c7e49b4475944f8-0054fd8549 < Cache-Control: no-cache < Pragma: no-cache < Content-Language: en < { [data not shown] 0 23 0 23 0 0 53 0 --:--:-- --:--:-- --:--:-- 234* Connection #0 to host storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com left intact
ラージ・オブジェクトのダウンロード
ラージ・オブジェクトには、5GBを超えるデータが含まれます。 ラージ・オブジェクトをダウンロードするには、単一のラージ・オブジェクトとして連結されたすべてのセグメントを戻すマニフェスト・オブジェクトをダウンロードする必要があります。
| インタフェース | 資料 |
|---|---|
|
ファイル転送マネージャCLI |
「Oracle Cloud Infrastructure Object Storage Classicのコマンドライン・リファレンス」の「オブジェクトのダウンロード」を参照してください。 |
cURLコマンド構文
静的ラージ・オブジェクトをダウンロードするには:
curl -v -X GET \
-H "X-Auth-Token: token" \
-o largeObject \
accountURL/containerName/manifestFile \
tokenは、以前にOracle Cloud Infrastructure Object Storage Classicから取得した認証トークンです。 「REST API使用時のアクセス認証」を参照してください。largeObjectは、オブジェクトのダウンロード先ファイルのフル・パスと名前です。accountURLの構文については、「Oracle Cloud Infrastructure Object Storage ClassicリソースのREST URLについて」を参照してください。containerNameは、ダウンロードするセグメント・オブジェクト(ラージ・オブジェクトを形成する)が含まれるコンテナの名前です。manifestFileは、マニフェスト・ファイルの名前です。
注意:
Oracle Cloud Infrastructure Object Storage ClassicにREST APIリクエストを送信すると、コンテナ名、オブジェクト名、メタデータ値の非ASCII文字はすべてURLエンコードされている必要があります。 たとえば、my containerはmy%20containerとしてエンコードする必要があります。%20はスペース文字のHTMLエンコードです。 同様に、my Über Containerはmy%20%C3%9Cber%20Containerとしてエンコードする必要があります。%20はスペース文字を表し、%C3%9CはÜ文字です。
マニフェスト・オブジェクト(ラージ・オブジェクト全体ではなく)だけをダウンロードするには、?multipart-manifest=get問合せパラメータをGETリクエストに追加します:
curl -v -X GET \
-H "X-Auth-Token: token" \
-o manifestFile \
accountURL/containerName/manifestObjectName?multipart-manifest=get \
cURLコマンド例
- アカウント名:
acme - RESTエンドポイントURL :
https://acme.storage.oraclecloud.com/v1/Storage-acme - RESTエンドポイント(永続)URL :
https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365注意:
2017年11月以降に作成されたアカウントのREST Endpoint (Permanent)URLが表示されます。
- 「RESTエンドポイント」フィールドから取得したRESTエンドポイントURLを使用する方法:
curl -v -X GET \ -H "X-Auth-Token: AUTH_tk5a58b7a8c34bb7b662523a59a5272650" \ -o myLargeObject \ https://acme.storage.oraclecloud.com/v1/Storage-acme/FirstContainer/myLargeFile.manifest \次に、このコマンドの出力例を示します:
> GET /v1/Storage-acme/myLargeFile.manifest HTTP/1.1 > User-Agent: curl/7.29.0 > Host: acme.storage.oraclecloud.com > Accept: */* > X-Auth-Token: AUTH_tk5a58b7a8c34bb7b662523a59a5272650 > < HTTP/1.1 200 OK < Etag: "6e9647a0cd268b9299e647d28f7027f7" < Accept-Ranges: bytes < Last-Modified: Mon, 20 Jan 2016 18:48:22 GMT < X-Object-Manifest: FirstContainer/segment_ < X-Timestamp: 1453747701.91311 < X-Trans-Id: tx9f77e1e8b7b74de18dc53-0056a8a3f5ga < Date: Wed, 20 Jan 2016 11:03:18 GMT < Connection: keep-alive < X-Last-Modified-Timestamp: 1453747701.91311 < Content-Type: application/zip;charset=UTF-8 < Content-Length: 52428800
- 「RESTエンドポイント(永続的)」フィールドから取得したサービス永続RESTエンドポイントURLの使用:
注意:
このcURLコマンドの例は、2017年11月以降に作成されたアカウントに適用されます。curl -v -X GET \ -H "X-Auth-Token: AUTH_tk5a58b7a8c34bb7b662523a59a5272650" \ -o myLargeObject \ https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365/FirstContainer/myLargeFile.manifest \次に、このコマンドの出力例を示します:
> GET /v1/Storage-7b16fede61e1417ab83eb52e06f0e365/myLargeFile.manifest HTTP/1.1 > User-Agent: curl/7.29.0 > Host: storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com > Accept: */* > X-Auth-Token: AUTH_tk5a58b7a8c34bb7b662523a59a5272650 > < HTTP/1.1 200 OK < Etag: "6e9647a0cd268b9299e647d28f7027f7" < Accept-Ranges: bytes < Last-Modified: Mon, 20 Jan 2016 18:48:22 GMT < X-Object-Manifest: FirstContainer/segment_ < X-Timestamp: 1453747701.91311 < X-Trans-Id: tx9f77e1e8b7b74de18dc53-0056a8a3f5ga < Date: Wed, 20 Jan 2016 11:03:18 GMT < Connection: keep-alive < X-Last-Modified-Timestamp: 1453747701.91311 < Content-Type: application/zip;charset=UTF-8 < Content-Length: 52428800
一時URLを使用したオブジェクトのダウンロード
期間限定の一時URLを作成して、Oracle Cloud Infrastructure Object Storage Classicからオブジェクトをダウンロードするための一時的な安全なアクセスを提供することができます。
- アカウント・レベルのキーを使用して、Oracle Cloud Infrastructure Object Storage Classicインスタンス内の任意のコンテナからオブジェクトをダウンロードできます。
- コンテナレベルのキーを使用すると、そのコンテナからオブジェクトをダウンロードできます。
始める前に
一時URLを生成するには、OpenStack Swift CLIを使用するか、プログラミング言語で記述されたスクリプトを使用します。 このドキュメントには、OpenStack Swift CLIを使用した例とPythonスクリプトを使用した例があります。
- Python 2.7
- OpenStack Swift CLIクライアント(インストール手順については、https://docs.openstack.org/pike/user/を参照)
プロシージャ
-
キーを設定して一時URLを保護します。 アカウント・レベルおよび特定のコンテナにキーを設定し、それらのキーのいずれかを使用して一時URLを生成できます。
-
アカウントにキーを設定するには、次の
cURLコマンドを実行します。curl -X POST \ -H 'X-Auth-Token: token' \ -H 'X-Account-Meta-Temp-URL-Key: key' \ accountURLtokenは、Oracle Cloud Infrastructure Object Storage Classicから取得した認証トークンです。accountURLは、サービス・インスタンスのRESTエンドポイントURLです。keyは任意に選択した文字列です。
例:curl -X POST \ -H 'X-Auth-Token: AUTH_tk6b7d5b0d94e653217ee0898d43613a07' \ -H 'X-Account-Meta-Temp-URL-Key: tempkey' \ https://acme.storage.oraclecloud.com/v1/Storage-acme - コンテナにキーを設定するには、次の
cURLコマンドを実行します。curl -X POST \ -H 'X-Auth-Token: token' \ -H 'X-Container-Meta-Temp-URL-Key: key' \ accountURL/containerNametokenは、Oracle Cloud Infrastructure Object Storage Classicから取得した認証トークンです。accountURLは、サービス・インスタンスのRESTエンドポイントURLです。keyは任意に選択した文字列です。containerNameは、オブジェクトをダウンロードするコンテナの名前です。
例:curl -X POST \ -H 'X-Auth-Token: AUTH_tk6b7d5b0d94e653217ee0898d43613a07' \ -H 'X-Container-Meta-Temp-URL-Key: tempkey1' \ https://acme.storage.oraclecloud.com/v1/Storage-acme/myFirstContainer
-
-
一時URLを生成するには、OpenStack Swift CLIを使用するか、プログラミング言語で記述されたスクリプトを使用します。
OpenStack Swift CLIを使用して一時URLを生成するには、次のステップを実行します。
-
次のコマンドを実行します。
swift tempurl GET seconds /v1/Storage-identityDomainName/containerName/objectName key
secondsは、一時URLの生成後、一時URLが有効である時間(秒単位)です。identityDomainNameは、Oracle Cloud Infrastructure Object Storage Classicアカウントのアイデンティティ・ドメイン名です。containerNameはコンテナの名前です。objectNameは、一時URLを使用してダウンロードする必要があるオブジェクトの名前です。keyは、前の手順でX-Account-Meta-Temp-URL-KeyヘッダーまたはX-Container-Meta-Temp-URL-Keyヘッダーに割り当てた値です。
例:swift tempurl GET 300 /v1/Storage-acme/FirstContainer/tempobject tempkey
出力:
/v1/Storage-acme/FirstContainer/tempobject?temp_url_sig=555417815bf1288b46c6c2ae9fc2f90a437a3110&temp_url_expires=1467281788出力には、オブジェクトのパス(/v1/Storage-acme/FirstContainer/tempobject)と次の追加問合せパラメータが含まれます:temp_url_sig: URLの暗号署名temp_url_expires: URLが期限切れになる日付と時間(UNIX Epoch形式)。
-
(オプション) コンテナで終わるパスの一時URLを生成した場合、生成されるURLにはオブジェクト名は含められません。 次の例に示すように、URLのコンテナ名と
?の間に必要なオブジェクトの名前を挿入する必要があります。/v1/containerName/objectName?temp_url_sig=value&temp_url_expires=value -
OpenStack Swift CLIによって生成される一時URLは、完全なURLではありません。 完全なURLを作成するには、生成されたパスの前にアカウントURLを次のように付加します。
https://acme.storage.oraclecloud.com/v1/Storage-acme/containerName/objectName?temp_url_sig=value&temp_url_expires=value例:https://acme.storage.oraclecloud.com/v1/Storage-acme/FirstContainer/tempobject?temp_url_sig=555417815bf1288b46c6c2ae9fc2f90a437a3110&temp_url_expires=1467281788
-
-
または(OpenStack Swift CLIを使用するかわりに)、Pythonまたはその他のプログラミング言語を使用して作成したHMAC-SHA1署名を使用して、オブジェクトの一時URLを生成できます。
HMAC-SHA1署名には、次のものを含める必要があります。- GETメソッド
- URLが期限切れになる日付と時間
- キー: 前の手順で
X-Account-Meta-Temp-URL-KeyヘッダーまたはX-Container-Meta-Temp-URL-Keyヘッダーに割り当てた値。 - 一時URLを使用してダウンロードする必要があるオブジェクトのパス。
/v1/Storage-identityDomainName/containerName/objectNameオブジェクト名を指定せずに、パスをコンテナで終わらせることができます。 生成された一時URLは、指定したコンテナ内の任意のオブジェクトをダウンロードするために使用できます。 コンテナで終わるパスの構文は、
/v1/Storage-identityDomainName/containerNameのようになります。
例:
次の詳細を含むサンプルCloudアカウント:- アカウント名:
acme - RESTエンドポイントURL :
https://acme.storage.oraclecloud.com/v1/Storage-acme - RESTエンドポイント(永続)URL :
https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365注意:
2017年11月以降に作成されたアカウントのREST Endpoint (Permanent)URLが表示されます。
このセクションの例では、サンプルのCloudアカウントのRESTエンドポイントURLが使用されています。 REST Endpoint (Permanent)URLを使用するには、
https://acme.storage.oraclecloud.com/v1/Storage-acmeをhttps://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365に置き換えます。次のPythonコード・スニペットの例は、指定した入力を使用して一時URLを生成します。
# USER INPUT: Specify the following parameters: serviceInstanceName = 'Storage' # Leave as is unless your service instance has a different name identityDomainName = 'acme' # Name of your identity domain container = 'myContainer' # Container that has the objects you need the tempURL for key = 'mykey' # X-Container-Meta-Temp-Url-Key or X-Account-Meta-Temp-Url-Key value object = 'myObject' # Object name that you need the tempURL for. This is optional if a container-level key is used. urlDuration = 300 # Seconds for which the temp URL should work serviceRestEndpoint = 'https://acme.storage.oraclecloud.com/v1/Storage-acme' # REST endpoint URL of your service instance # CODE TO GENERATE THE TEMPORARY URL: Don't change anything in this section import hmac from hashlib import sha1 from time import time path = '/v1/' + serviceInstanceName + '-' + identityDomainName + '/' + container + '/' + object expires = int(time() + urlDuration) hmac_body = '%s\n%s\n%s' % ('GET', expires, path) sig = hmac.new(key, hmac_body, sha1).hexdigest() url = serviceRestEndpoint + '/' + container + '/' + object +'?temp_url_sig=' + sig + '&temp_url_expires=' + str(expires) print(url)- このPythonコードのスニペットをプレーン・テキスト・ファイルにコピーします。
- コードの
USER INPUTセクションで、コード内のコメントの説明に従って、すべてのパラメータに適切な値を入力します。 - ファイルを保存してファイル名をメモします(たとえば、
tempURL.py)。 - Pythonスクリプトを実行します。
python tempURL.py指定したオブジェクトまたはコンテナの一時URLが、スクリプトによって生成および表示されます。
例:
- オブジェクトの一時URL :
https://acme.storage.oraclecloud.com/v1/Storage-acme/containerName/objectName?temp_url_sig=value&temp_url_expires=value - コンテナの一時URL :
https://acme.storage.oraclecloud.com/v1/containerName?temp_url_sig=value&temp_url_expires=value注意:
コンテナで終わる一時URLを使用してオブジェクトをダウンロードするには、次の例に示すようにURLのコンテナ名と?の間にオブジェクト名を挿入する必要があります。https://acme.storage.oraclecloud.com/v1/Storage-acme/containerName/objectName?temp_url_sig=value&temp_url_expires=value
- オブジェクトの一時URL :
- オブジェクトをダウンロードする必要があるユーザーにこの一時URLを渡します。
オブジェクトの削除
オブジェクトが削除されると、そのオブジェクトとそのメタデータが永久に削除されます。
単一オブジェクトの削除
サービス管理者ロールまたはコンテナのX-Container-Write ACLに指定されたロールを持つすべてのユーザーがこのタスクを実行できます。
| インタフェース | 資料 |
|---|---|
|
Webコンソール (Oracle Cloud at Customerでは使用できません) |
Webコンソールを使用した単一オブジェクトの削除を参照してください。 |
|
RESTful API |
「Oracle Cloud Infrastructure Object Storage Classicの標準ストレージ用のREST API」の「オブジェクトの削除」を参照してください。 |
|
Javaライブラリ |
「Oracle Cloud Infrastructure Object Storage ClassicのJava APIリファレンス」の |
|
ファイル転送マネージャAPI |
「Oracle Cloud Infrastructure Object Storage Classic用Java APIリファレンスFile Transfer Manager」の |
|
ファイル転送マネージャCLI |
「Oracle Cloud Infrastructure Object Storage Classicのコマンドライン・リファレンス」の「オブジェクトを削除しています」を参照してください。 |
注意:
X-Delete-AtまたはX-Delete-Afterヘッダーを使用すると、それぞれ未来の指定された時刻、または指定された期間の経過後にオブジェクトを削除するようスケジュールできます。 「オブジェクト自動削除のスケジューリング」を参照してください。
Webコンソールを使用した単一オブジェクトの削除
(Oracle Cloud at Customerでは使用できません)- Oracle Cloud Infrastructure Object Storage Classicコンソールにサインインします。
- 削除するオブジェクトがあるコンテナを選択します。
コンテナ内のオブジェクトが表示されます。
- 削除するオブジェクトを特定します。
- オブジェクトの「Actions」ドロップダウン・リストから、「Delete」を選択します。
次のメッセージが表示されます。
Are you sure want to delete this object?
- 「OK」をクリックします。
オブジェクトがコンテナから削除されます。
REST APIを使用した単一オブジェクトの削除
cURLコマンド構文
curl -v -X DELETE \
-H "X-Auth-Token: token" \
accountURL/containerName/objectName
tokenは、以前にOracle Cloud Infrastructure Object Storage Classicから取得した認証トークンです。 「REST API使用時のアクセス認証」を参照してください。accountURLの構文については、「Oracle Cloud Infrastructure Object Storage ClassicリソースのREST URLについて」を参照してください。containerNameは、削除するオブジェクトが含まれるコンテナの名前です。objectNameは、削除するオブジェクトの名前です。
注意:
Oracle Cloud Infrastructure Object Storage ClassicにREST APIリクエストを送信すると、コンテナ名、オブジェクト名、メタデータ値の非ASCII文字はすべてURLエンコードされている必要があります。 たとえば、my containerはmy%20containerとしてエンコードする必要があります。%20はスペース文字のHTMLエンコードです。 同様に、my Über Containerはmy%20%C3%9Cber%20Containerとしてエンコードする必要があります。%20はスペース文字を表し、%C3%9CはÜ文字です。
HTTPレスポンス・コード
- 成功:
204 No Content - 失敗: 「Oracle Cloud Infrastructure Object Storage Classicのエラー・コード・リファレンス」を参照してください
cURLコマンド例
- アカウント名:
acme - RESTエンドポイントURL :
https://acme.storage.oraclecloud.com/v1/Storage-acme - RESTエンドポイント(永続)URL :
https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365注意:
2017年11月以降に作成されたアカウントのREST Endpoint (Permanent)URLが表示されます。
- 「RESTエンドポイント」フィールドから取得したRESTエンドポイントURLを使用する方法:
curl -v -X DELETE \ -H "X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b" \ https://acme.storage.oraclecloud.com/v1/Storage-acme/FirstContainer/myObject2次に、このコマンドの出力例を示します:
> DELETE /v1/Storage-acme/FirstContainer/myObject2 HTTP/1.1 > User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.14.0.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2 > Host: acme.storage.oraclecloud.com > Accept: */* > X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b > < HTTP/1.1 204 No Content < Date: Mon, 09 Mar 2015 11:40:23 GMT < Content-Length: 0 < Content-Type: text/html; charset=UTF-8 < X-Trans-Id: tx47aef42f16c44bd9a72cb-0054fd86a7 < Cache-Control: no-cache < Pragma: no-cache < Content-Language: en - 「RESTエンドポイント(永続的)」フィールドから取得したサービス永続RESTエンドポイントURLの使用:
注意:
このcURLコマンドの例は、2017年11月以降に作成されたアカウントに適用されます。curl -v -X DELETE \ -H "X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b" \ https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365/FirstContainer/myObject2次に、このコマンドの出力例を示します:
> DELETE /v1/Storage-7b16fede61e1417ab83eb52e06f0e365/FirstContainer/myObject2 HTTP/1.1 > User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.14.0.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2 > Host: storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com > Accept: */* > X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b > < HTTP/1.1 204 No Content < Date: Mon, 09 Mar 2015 11:40:23 GMT < Content-Length: 0 < Content-Type: text/html; charset=UTF-8 < X-Trans-Id: tx47aef42f16c44bd9a72cb-0054fd86a7 < Cache-Control: no-cache < Pragma: no-cache < Content-Language: en
ラージ・オブジェクトの削除
ラージ・オブジェクトには、5GBを超えるデータが含まれます。
cURLコマンド構文
DELETEリクエストを送信し、問合せパラメータ?multipart-manifest=deleteを追加して、マニフェスト・オブジェクトとすべてのセグメント・ファイルを削除します。
注意:
Archiveコンテナから静的ラージ・オブジェクトを削除するには、各セグメント・ファイルおよびマニフェスト・オブジェクトを個別に削除します。 (Oracle Cloud at Customerでは使用できません) curl -v -X DELETE \
-H "X-Auth-Token: token" \
accountURL/containerName/manifestFile?multipart-manifest=delete \
tokenは、以前にOracle Cloud Infrastructure Object Storage Classicから取得した認証トークンです。 「REST API使用時のアクセス認証」を参照してください。accountURLの構文については、「Oracle Cloud Infrastructure Object Storage ClassicリソースのREST URLについて」を参照してください。containerNameは、削除するマニフェスト・ファイルが含まれるコンテナの名前です。manifestFileは、マニフェスト・ファイルの名前です。?multipart-manifest=deleteは、静的ラージ・オブジェクトを削除するための問合せパラメータです。
注意:
Oracle Cloud Infrastructure Object Storage ClassicにREST APIリクエストを送信すると、コンテナ名、オブジェクト名、メタデータ値の非ASCII文字はすべてURLエンコードされている必要があります。 たとえば、my containerはmy%20containerとしてエンコードする必要があります。%20はスペース文字のHTMLエンコードです。 同様に、my Über Containerはmy%20%C3%9Cber%20Containerとしてエンコードする必要があります。%20はスペース文字を表し、%C3%9CはÜ文字です。
cURLコマンド例
静的ラージ・オブジェクトを削除するには、cURLコマンドの例を次に示します。
- アカウント名:
acme - RESTエンドポイントURL :
https://acme.storage.oraclecloud.com/v1/Storage-acme - RESTエンドポイント(永続)URL :
https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365注意:
2017年11月以降に作成されたアカウントのREST Endpoint (Permanent)URLが表示されます。
- 「RESTエンドポイント」フィールドから取得したRESTエンドポイントURLを使用する方法:
curl -v -X DELETE \ -H "X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b" \ https://acme.storage.oraclecloud.com/v1/Storage-acme/FirstContainer/myLargeFile.manifest?multipart-manifest=delete \次に、このコマンドの出力例を示します:
> DELETE /v1/Storage-acme/myLargeFile.manifest?multipart-manifest=delete > User-Agent: curl/7.29.0 > Host: acme.storage.oraclecloud.com > Accept: */* > X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b > < HTTP/1.1 204 No Content < X-Trans-Id: txa590ad2c5ce54317bd02e-0056a8a5d5ga < Date: Wed, 20 Jan 2016 11:11:17 GMT < Connection: keep-alive < X-Last-Modified-Timestamp: 1453893077.47202 < Content-Type: text/html;charset=UTF-8 < - 「RESTエンドポイント(永続的)」フィールドから取得したサービス永続RESTエンドポイントURLの使用:
注意:
このcURLコマンドの例は、2017年11月以降に作成されたアカウントに適用されます。curl -v -X DELETE \ -H "X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b" \ https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365/FirstContainer/myLargeFile.manifest?multipart-manifest=delete \次に、このコマンドの出力例を示します:
> DELETE /v1/Storage-7b16fede61e1417ab83eb52e06f0e365/myLargeFile.manifest?multipart-manifest=delete > User-Agent: curl/7.29.0 > Host: storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com > Accept: */* > X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b > < HTTP/1.1 204 No Content < X-Trans-Id: txa590ad2c5ce54317bd02e-0056a8a5d5ga < Date: Wed, 20 Jan 2016 11:11:17 GMT < Connection: keep-alive < X-Last-Modified-Timestamp: 1453893077.47202 < Content-Type: text/html;charset=UTF-8 <
単一操作での複数のオブジェクトの削除
複数のオブジェクトを単一の操作で削除できます。
注意:
-
この機能は、
Archiveコンテナではサポートされません。 -
単一の操作で最大10,000個のオブジェクトを削除できます。
X-Container-Write ACLに指定されたロールを持つすべてのユーザーがこのタスクを実行できます。
オブジェクトを一括削除するには:
- アカウント名:
acme - RESTエンドポイントURL :
https://acme.storage.oraclecloud.com/v1/Storage-acme - RESTエンドポイント(永続)URL :
https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365注意:
2017年11月以降に作成されたアカウントのREST Endpoint (Permanent)URLが表示されます。
サンプルのCloudアカウントのRESTエンドポイントURLは、以下のステップで使用されます。 REST Endpoint (Permanent)URLを使用するには、https://acme.storage.oraclecloud.com/v1/Storage-acmeをhttps://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365に置き換えます。
| インタフェース | 資料 |
|---|---|
|
RESTful API |
OpenStack Object Storage Service APIリファレンスの一括操作に関する項を参照してください。 |
|
ファイル転送マネージャAPI |
「Oracle Cloud Infrastructure Object Storage Classic用Java APIリファレンスFile Transfer Manager」の |
オブジェクトのコピー
オブジェクトは、同じまたは別のコンテナ内の別のオブジェクトにコピーできます。 オブジェクトをダウンロードして、再度アップロードする必要はありません。サーバー上で、コピー操作が完全に実行されます。
- サービス管理者ロール
- ソース・コンテナの
X-Container-ReadACLおよびターゲット・コンテナのX-Container-WriteACLに指定されたロール
次の制限が適用されます。
- 静的ラージ・オブジェクトは、コンテナ間でコピーできます。 セグメントは直接コピーできますが、マニフェストは再作成する必要があります。 既存のマニフェストは、削除されている可能性のある古いセグメントを示すため、使用できません。
- オブジェクトは他のアカウントにコピーできません。
| インタフェース | 資料 |
|---|---|
|
RESTful API |
「OpenStackオブジェクト・ストレージ・サービスAPIリファレンス」の「オブジェクトのコピー」を参照してください |
|
ファイル転送マネージャCLI |
n 「Oracle Cloud Infrastructure Object Storage Classicのコマンドライン・リファレンス」の「オブジェクトのコピー」を参照してください。 |
|
ファイル転送マネージャAPI |
「Oracle Cloud Infrastructure Object Storage Classic用のJava APIリファレンスFile Transfer Manager」の |
cURLコマンド構文
curl -v -X PUT \
-H "X-Auth-Token: token" \
-H "X-Copy-From: /srcContainer/srcObject" \
-H "Content-Length: 0" \
accountURL/dstContainer/dstObject
または
curl -v -X COPY \
-H "X-Auth-Token: token" \
-H "Destination: /dstContainer/dstObject" \
accountURL/srcContainer/srcObject
tokenは、以前にOracle Cloud Infrastructure Object Storage Classicから取得した認証トークンです。 「REST API使用時のアクセス認証」を参照してください。srcContainerは、コピーされるオブジェクトが含まれるコンテナの名前です。srcObjectは、コピーされるオブジェクトの名前です。accountURLの構文については、「Oracle Cloud Infrastructure Object Storage ClassicリソースのREST URLについて」を参照してください。dstContainerは、オブジェクトのコピー先コンテナの名前です。 これは、既存のコンテナである必要があります。 つまり、COPY操作では、コピー先にコンテナが作成されません。dstObjectは、COPY操作の結果として作成されるオブジェクトの名前です。
HTTPレスポンス・コード
- 成功:
201 Created - 失敗: 「Oracle Cloud Infrastructure Object Storage Classicのエラー・コード・リファレンス」を参照してください
cURLコマンド例
次のコマンドは、/container1/object1を/container2/object1にコピーします。
- アカウント名:
acme - RESTエンドポイントURL :
https://acme.storage.oraclecloud.com/v1/Storage-acme - RESTエンドポイントURL (永続)URL :
https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365注意:
2017年11月以降に作成されたアカウントのREST Endpoint URL (Permanent)URLが表示されます。
- 「RESTエンドポイント」フィールドから取得したRESTエンドポイントURLを使用する方法:
curl -v -X PUT \ -H "X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b" \ -H "X-Copy-From: /container1/object1" \ -H "Content-Length: 0" https://acme.storage.oraclecloud.com/v1/Storage-acme/container2/object1または
curl -v -X COPY \ -H "X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b" \ -H "Destination: /container2/object1" \ https://acme.storage.oraclecloud.com/v1/Storage-acme/container1/object1次に、このコマンドの出力例を示します:
> PUT /v1/Storage-acme/Container2/object1 HTTP/1.1 > User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.14.0.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2 > Host: acme.storage.oraclecloud.com > Accept: */* > X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b > X-Copy-From: /Container1/object1 > Content-Length: 0 > < HTTP/1.1 201 Created < Date: Mon, 09 Mar 2015 11:58:23 GMT < Content-Length: 0 < X-Object-Meta-Language: english < X-Copied-From-Last-Modified: Mon, 09 Mar 2015 11:46:34 GMT < X-Copied-From: Container1/object1 < Last-Modified: Mon, 09 Mar 2015 11:58:24 GMT < Etag: 846fa9d298be05e5f598703f0c3d6f51 < Content-Type: text/html; charset=UTF-8 < X-Trans-Id: txecc0da22db8542c099ed0-0054fd8ade < Cache-Control: no-cache < Pragma: no-cache < Content-Language: en - 「RESTエンドポイント(永続的)」フィールドから取得したサービス永続RESTエンドポイントURLの使用:
注意:
このcURLコマンドの例は、2017年11月以降に作成されたアカウントに適用されます。curl -v -X PUT \ -H "X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b" \ -H "X-Copy-From: /container1/object1" \ -H "Content-Length: 0" https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365/container2/object1または
curl -v -X COPY \ -H "X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b" \ -H "Destination: /container2/object1" \ https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365/container1/object1次に、このコマンドの出力例を示します:
> PUT /v1/Storage-7b16fede61e1417ab83eb52e06f0e365/Container2/object1 HTTP/1.1 > User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.14.0.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2 > Host: storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com > Accept: */* > X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b > X-Copy-From: /Container1/object1 > Content-Length: 0 > < HTTP/1.1 201 Created < Date: Mon, 09 Mar 2015 11:58:23 GMT < Content-Length: 0 < X-Object-Meta-Language: english < X-Copied-From-Last-Modified: Mon, 09 Mar 2015 11:46:34 GMT < X-Copied-From: Container1/object1 < Last-Modified: Mon, 09 Mar 2015 11:58:24 GMT < Etag: 846fa9d298be05e5f598703f0c3d6f51 < Content-Type: text/html; charset=UTF-8 < X-Trans-Id: txecc0da22db8542c099ed0-0054fd8ade < Cache-Control: no-cache < Pragma: no-cache < Content-Language: en
オブジェクトの暗号化
| インタフェース | 資料 |
|---|---|
|
Javaライブラリ |
参照:
|
|
ファイル転送マネージャAPI |
「Oracle Cloud Infrastructure Object Storage Classic用のJava APIリファレンスFile Transfer Manager」の |
|
ファイル転送マネージャCLI |
参照:
|
Javaライブラリの使用
Javaライブラリは、Oracle Cloud Infrastructure Object Storage Classicに格納されているオブジェクトを暗号化できます。 すべての暗号化はJavaライブラリ内で行われます。暗号化はサービス内では行われません。 REST APIではこれはサポートされません。
サービス管理者ロールまたはコンテナのX-Container-Write ACLに指定されたロールを持つすべてのユーザーがこのタスクを実行できます。
Oracle Cloud Infrastructure Object Storage Classicで作成するすべてのオブジェクトに対して、Javaライブラリのクライアント側暗号化機能を使用すると、一意の対称キーが生成されます。 Javaライブラリでは、データを格納する前に対称キーを使用して暗号化します。 また、非対称キー・ペアも指定および管理する必要があります。 データを暗号化した後、Javaライブラリでは、非対称キー・ペアを使用して対称キーをエンベロープとして暗号化します。 各オブジェクトをダウンロードおよび再暗号化しなくても、新しいキーに、以前に使用したキー・ペアを再利用できます。 エンベロープ・キーは、メタデータとしてオブジェクト・データとともに格納されます。
Javaライブラリを使用してこのような暗号オブジェクトにアクセスする場合、指定した非対称キー・ペアを使用してエンベロープ・キーが最初に取得されて復号化されます。 次に、生成された対称キーを使用してオブジェクト・データが復号化されます。
クライアント側の暗号オブジェクトへのアクセスは制限できます。 たとえば、コンテナに対する書込みアクセス権は持つが非対称キー・ペアに対するアクセス権は持たない場合、エンベロープ・キー・メタデータをオブジェクトから削除できます。 このため、非対称キー・ペアに対するアクセス権を持つ場合でも、オブジェクト・データはリカバリ不可能になります。
Javaライブラリの暗号化機能を使用する場合は、次の点に注意してください。
- 2048ビットのRSAキー・ペアのみサポートされます。
- オブジェクト・データのみ暗号化され、オブジェクト・メタデータは暗号化されません。
- セグメント化されたオブジェクトは暗号化できません。
- 暗号化機能の使用中に、暗号化されていないオブジェクトをダウンロードできません。
詳細については、「Oracle Cloud Infrastructure Object Storage ClassicのJava APIリファレンス」のEncryptedCloudStorageを参照してください。
FTM CLIの使用
FTM CLIを使用すると、Oracle Cloud Infrastructure Object Storage Classicに格納するデータのクライアント側の暗号化が可能になります。 クライアント上のFTM CLIは、クラウド・サービスに転送される前にファイルを暗号化します。 ファイルはクラウドに転送されるとき、およびクラウド上に安静時に暗号化されます。 FTM CLIを使用すると、静的ラージ・オブジェクト(SLO)をクライアント側で暗号化および復号化できますが、ダイナミック・ラージ・オブジェクト(DLO)は暗号化および復号化できません。 「Oracle Cloud Infrastructure Object Storage Classicのコマンドライン・リファレンス」の「クライアント側のファイル暗号化について」を参照してください。
- マスター・キーを生成するには、「マスター・キーの生成」を参照してください。
- マスター・キーを回転するには、「回転マスター・キー」を参照してください。
- ファイルを暗号化するには、「ファイルのアップロード」を参照してください。
- オブジェクトを復号化するには、「オブジェクトのダウンロード」を参照してください。