機械翻訳について

2 Object Storage Classicのコンテナの管理

このセクションでは、Oracle Cloud Infrastructure Object Storage Classicでのコンテナの管理に関するドキュメントを提供します。

トピック:

コンテナ管理の標準的なワークフロー

次の表をコンテナ管理のワークフローのガイドとして使用します。 まだサービスをサブスクライブしていない、または設定していない場合は、「Object Storage Classicをスタート・ガイドためのワークフロー」を参照してください。

タスク 説明 詳細情報

サービスへのアクセス

使用可能なインタフェースのいずれかを使用してサービスにアクセスします。

Oracle Cloud Infrastructure Object Storage Classicへのアクセス

認証トークンの生成

REST APIインタフェースを介してサービスにアクセスしている場合は、認証トークンを生成します。 Javaライブラリを介してサービスにアクセスしている場合、認証トークンは自動的に生成、適用されます。

REST API使用時のアクセスの認証

コンテナの作成

コンテナを作成してデータを整理します。

コンテナの作成

コンテナの削除

不要になった空のコンテナを削除します。

コンテナの削除

コンテナ・メタデータの更新

カスタム・メタデータまたは特殊なメタデータをコンテナに設定します。

コンテナ・メタデータの更新

コンテナの作成

コンテナは、Oracle Cloud Infrastructure Object Storage Classicに格納されたデータを整理する方法を提供する格納コンパートメントです。

サービス管理者ロールを持つすべてのユーザーは、コンテナを作成できます。 アカウント用に少なくとも1つのコンテナを作成する必要があります。 コンテナはディレクトリ構造に似ていますが、主要な区別があります: ディレクトリとは異なり、コンテナはネストできません。 デフォルトでは、すべてのコンテナは、standardストレージ・クラス(archiveストレージ・クラスとは対照的)になります。

注意:

最初のコンテナを作成する前に、アカウントのレプリケーション・ポリシー・セットを確認してください。 「Object Storage Classicインスタンスのレプリケーション・ポリシーについて」を参照してください。
コンテナを作成するには、次のインタフェースを使用できます。
インタフェース 資料

Webコンソール

(Oracle Cloud at Customerでは使用できません)
Webコンソールを使用したコンテナの作成を参照してください。

RESTful API

参照:

Javaライブラリ

Oracle Cloud Infrastructure Object Storage ClassicのJava APIリファレンス」createContainerを参照してください。

ファイル転送マネージャAPI

Oracle Cloud Infrastructure Object Storage Classic用のJava APIリファレンスFile Transfer Manager」createContainerを参照してください。

ファイル転送マネージャCLI

Oracle Cloud Infrastructure Object Storage Classicのコマンドライン・リファレンス」「コンテナの作成」を参照してください。

archiveコンテナを作成するには、X-Storage-ClassヘッダーをArchiveに設定する必要があります。 詳細は、「アーカイブ・コンテナの作成」を参照してください。 (Oracle Cloud at Customerでは使用できません)

Webコンソールを使用したコンテナの作成

(Oracle Cloud at Customerでは使用できません)
  1. Oracle Cloud Infrastructure Object Storage Classicコンソールにサインインします。
  2. 「Create Container」をクリックします。

    「コンテナの作成」ダイアログ・ボックスが表示されます。

  3. コンテナの名前を入力します。

    注意:

    コンテナ名が「文字の制限」で説明されている入力制限に準拠していることを確認してください。
  4. 「ストレージ・クラス」フィールドでStandardを選択します。
  5. コンテナのレプリケーション・ポリシーを設定するには、「Webコンソールを使用したコンテナ固有のポリシーの設定」を参照してください。

    注意:

    このオプションは、2018年3月以降に作成されたアカウントでのみ使用できます。
  6. 「作成」をクリックします。

    コンテナが作成され、コンソールに表示されます。

REST APIを使用したコンテナの作成

cURLコマンド構文

curl -v -X PUT \
     -H "X-Auth-Token: token" \
     accountURL/containerName

注意:

Oracle Cloud Infrastructure Object Storage ClassicにREST APIリクエストを送信すると、コンテナ名、オブジェクト名、メタデータ値の非ASCII文字はすべてURLエンコードされている必要があります。 たとえば、my containermy%20containerとしてエンコードする必要があります。%20はスペース文字のHTMLエンコードです。 同様に、my Über Containermy%20%C3%9Cber%20Containerとしてエンコードする必要があります。%20はスペース文字を表し、%C3%9CÜ文字です。

HTTPレスポンス・コード

cURLコマンド例

次の詳細を含むサンプル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が表示されます。
  • 「RESTエンドポイント」フィールドから取得したRESTエンドポイントURLを使用する方法:
    curl -v -X PUT \
         -H "X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b" \
         https://acme.storage.oraclecloud.com/v1/Storage-acme/FirstContainer
    

    次に、このコマンドの出力例を示します:

    > PUT /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_tkb4fdf39c92e9f62cca9b7c196f8b6e6b
    >
    < HTTP/1.1 201 Created
    < Date: Fri, 06 Mar 2015 10:34:20 GMT
    < Content-Length: 0
    < Content-Type: text/html; charset=UTF-8
    < X-Trans-Id: tx23a1084b8c674fdeae8d4-0054f982ac
    < 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" \
         https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365/FirstContainer
    

    次に、このコマンドの出力例を示します:

    > PUT /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_tkb4fdf39c92e9f62cca9b7c196f8b6e6b
    >
    < HTTP/1.1 201 Created
    < Date: Fri, 06 Mar 2015 10:34:20 GMT
    < Content-Length: 0
    < Content-Type: text/html; charset=UTF-8
    < X-Trans-Id: tx23a1084b8c674fdeae8d4-0054f982ac
    < Cache-Control: no-cache
    < Pragma: no-cache
    < Content-Language: en
    

コンテナ内のレプリケーション・ポリシーを設定するには、「REST APIを使用したコンテナ固有のポリシーの設定」を参照してください。

コンテナの詳細については、「コンテナ・メタデータの取得」を参照してください。

Archiveコンテナの作成

Oracle Cloud at CustomerではなくこのトピックはOracle Cloud at Customerには適用されません。

X-Storage-Classメタデータ・フィールドがArchiveに設定されているコンテナは、Archiveコンテナと呼ばれます。 Archiveコンテナを使用して、しばらくの間はアクセスされないデータや、めったにアクセスされないデータを格納できます。 サービス管理者ロールを持つすべてのユーザーがArchiveコンテナを作成できます。
Archiveコンテナを作成するには、次のインタフェースを使用します。
インタフェース 資料

Webコンソール

Webコンソールを使用したArchiveコンテナの作成を参照してください。

RESTful API

参照:

ファイル転送マネージャAPI

Oracle Cloud Infrastructure Object Storage Classic用のJava APIリファレンスFile Transfer Manager」createContainerを参照してください。

注意:

  • X-Storage-Classを設定できるのは、新しいコンテナを作成する場合のみです。 X-Storage-Classを設定した後に変更することはできません。
  • Java APIを使用してArchiveコンテナを作成することはできません。

Archiveコンテナでサポートされていない機能

次の機能は、Archiveコンテナではサポートされません
  • オブジェクトの一括作成
  • オブジェクトの一括削除
  • X-Delete-AtおよびX-Delete-Afterヘッダーを使用したオブジェクトの自動削除のスケジューリング
  • 地理レプリケーション
  • コンテナ固有のレプリケーション・ポリシーの設定

Webコンソールを使用したArchiveコンテナの作成

  1. Oracle Cloud Infrastructure Object Storage Classicコンソールにサインインします。
  2. 「Create Container」をクリックします。

    「Create Container」ダイアログが表示されます。

  3. コンテナの名前を入力します。

    注意:

    コンテナ名が「文字の制限」で説明されている入力制限に準拠していることを確認してください。
  4. 「Storage Class」フィールドで「Archive」を選択します。
  5. 「作成」をクリックします。

    コンテナが作成され、コンソールに表示されます。

REST APIを使用したArchiveコンテナの作成

cURLコマンド構文

curl -v -X PUT \
     -H "X-Auth-Token: token" \
     -H "X-Storage-Class: Archive" \
     accountURL/containerName

注意:

Oracle Cloud Infrastructure Object Storage ClassicにREST APIリクエストを送信すると、コンテナ名、オブジェクト名、メタデータ値の非ASCII文字はすべてURLエンコードされている必要があります。 たとえば、my containermy%20containerとしてエンコードする必要があります。%20はスペース文字のHTMLエンコードです。 同様に、my Über Containermy%20%C3%9Cber%20Containerとしてエンコードする必要があります。%20はスペース文字を表し、%C3%9CÜ文字です。

HTTPレスポンス・コード

cURLコマンド例

次の詳細を含むサンプル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が表示されます。
  • 「RESTエンドポイント」フィールドから取得したRESTエンドポイントURLを使用する方法:
    curl -v -X PUT \
         -H "X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b" \
         -H "X-Storage-Class: Archive" 
         https://acme.storage.oraclecloud.com/v1/Storage-acme/firstArchiveContainer
    

    次に、このコマンドの出力例を示します:

    > PUT /v1/Storage-acme/firstArchiveContainer HTTP/1.1
    > User-Agent: curl/7.29.0
    > Host: acme.storage.oraclecloud.com:443 
    > Accept: */*
    > X-Auth-Token: AUTH_tk1ff0554c1fefff9209696d63553722fd
    > X-Storage-Class: Archive
    >
    < HTTP/1.1 201 Created
    < X-Trans-Id: tx1d8e9739df4a47bb847e0-005582875bga
    < Date: Thu, 18 Jun 2015 08:54:51 GMT
    < Content-Type: text/html;charset=UTF-8
    < Content-Length: 0
    <
    
  • 「RESTエンドポイント(永続的)」フィールドから取得したサービス永続RESTエンドポイントURLの使用:

    注意:

    このcURLコマンドの例は、2017年11月以降に作成されたアカウントに適用されます。
    curl -v -X PUT \
         -H "X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b" \
         -H "X-Storage-Class: Archive" 
         https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365/firstArchiveContainer
    

    次に、このコマンドの出力例を示します:

    > PUT /v1/Storage-7b16fede61e1417ab83eb52e06f0e365/firstArchiveContainer HTTP/1.1
    > User-Agent: curl/7.29.0
    > Host: storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com:443 
    > Accept: */*
    > X-Auth-Token: AUTH_tk1ff0554c1fefff9209696d63553722fd
    > X-Storage-Class: Archive
    >
    < HTTP/1.1 201 Created
    < X-Trans-Id: tx1d8e9739df4a47bb847e0-005582875bga
    < Date: Thu, 18 Jun 2015 08:54:51 GMT
    < Content-Type: text/html;charset=UTF-8
    < Content-Length: 0
    <
    

Archiveコンテナの詳細の取得の詳細は、「コンテナ・メタデータの取得」を参照してください。

Archiveコンテナ内のオブジェクトの作成の詳細は、「オブジェクトの作成」を参照してください。

コンテナのリスト

アカウント内のすべてのコンテナをリストできます。

アイデンティティ・ドメイン内のすべてのユーザーがこのタスクを実行できます。

コンテナをリストするには、次のインタフェースを使用します。
インタフェース 資料

Webコンソール

(Oracle Cloud at Customerでは使用できません)
Webコンソールを使用したコンテナの一覧表示を参照してください。

RESTful API

参照:

Javaライブラリ

Oracle Cloud Infrastructure Object Storage ClassicのJava APIリファレンス」listContainerを参照してください

ファイル転送マネージャAPI

Oracle Cloud Infrastructure Object Storage Classic用のJava APIリファレンスFile Transfer Manager」listContainersを参照してください。

ファイル転送マネージャ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のみ)。

cURLコマンド構文

curl -v -X GET \
     -H "X-Auth-Token: token" \
     accountURL[?query_parameter=value]

注意:

Oracle Cloud Infrastructure Object Storage ClassicにREST APIリクエストを送信すると、コンテナ名、オブジェクト名、メタデータ値の非ASCII文字はすべてURLエンコードされている必要があります。 たとえば、my containermy%20containerとしてエンコードする必要があります。%20はスペース文字のHTMLエンコードです。 同様に、my Über Containermy%20%C3%9Cber%20Containerとしてエンコードする必要があります。%20はスペース文字を表し、%C3%9CÜ文字です。

HTTPレスポンス・コード

cURLコマンド例

次の詳細を含むサンプル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)が表示されます。
  • 「RESTエンドポイント」フィールドから取得したRESTエンドポイントURLを使用する方法:
    curl -v -X GET \
         -H "X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b" \
         https://acme.storage.oraclecloud.com/v1/Storage-acme?limit=15
    

    このコマンドは、最初の15のコンテナ(辞書順でソート)を、指定されたアカウントにリストします。

    次に、このコマンドの出力例を示します:

    > GET /v1/Storage-acme 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_tk6403794c218a709d1c6c5a76444d01f6
    >
    < HTTP/1.1 200 OK
    < Date: Fri, 06 Mar 2015 10:38:15 GMT
    < Content-Length: 109
    < X-Account-Container-Count: 3
    < Accept-Ranges: bytes
    < X-Account-Object-Count: 843
    < X-Account-Bytes-Used: 10304761355
    < X-Timestamp: 1412823447.62495
    < X-Account-Meta-Test5: test1
    < X-Account-Meta-Quota-Bytes: 107374182400
    < Content-Type: text/plain; charset=utf-8
    < X-Account-Meta-Test: test
    < X-Account-Meta-Test1: test1
    < X-Trans-Id: tx29052c64fe384fc690ccc-0054f98397
    < Cache-Control: no-cache
    < Pragma: no-cache
    < Content-Language: en
    <
    FirstContainer
    hello
    lab
    
  • 「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?limit=15
    

    このコマンドは、最初の15のコンテナ(辞書順でソート)を、指定されたアカウントにリストします。

    次に、このコマンドの出力例を示します:

    > GET /v1/Storage-7b16fede61e1417ab83eb52e06f0e365 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_tk6403794c218a709d1c6c5a76444d01f6
    >
    < HTTP/1.1 200 OK
    < Date: Fri, 06 Mar 2015 10:38:15 GMT
    < Content-Length: 109
    < X-Account-Container-Count: 3
    < Accept-Ranges: bytes
    < X-Account-Object-Count: 843
    < X-Account-Bytes-Used: 10304761355
    < X-Timestamp: 1412823447.62495
    < X-Account-Meta-Test5: test1
    < X-Account-Meta-Quota-Bytes: 107374182400
    < Content-Type: text/plain; charset=utf-8
    < X-Account-Meta-Test: test
    < X-Account-Meta-Test1: test1
    < X-Trans-Id: tx29052c64fe384fc690ccc-0054f98397
    < Cache-Control: no-cache
    < Pragma: no-cache
    < Content-Language: en
    <
    FirstContainer
    hello
    lab
    

コンテナ固有のポリシーの設定

Oracle Cloud at CustomerではなくこのトピックはOracle Cloud at Customerには適用されません。

アカウント・レベルのレプリケーション・ポリシー以外のコンテナごとに、異なるレプリケーション・ポリシーを指定できます。 コンテナ固有のポリシーを使用すると、地理的に離れたデータセンター(DC)に複製されるデータを、より詳細なレベルで制御できます。
次のインタフェースを使用して、コンテナ固有のレプリケーション・ポリシーを設定できます:
インタフェース 資料

Webコンソール

「Webコンソールを使用したコンテナ固有のポリシーの設定」を参照してください。

RESTful API

ファイル転送マネージャCLI

Oracle Cloud Infrastructure Object Storage Classicのコマンドライン・リファレンス」「コンテナ固有のレプリケーション・ポリシーの設定」を参照してください。

ファイル転送マネージャAPI

Oracle Cloud Infrastructure Object Storage Classic用のJava APIリファレンスFile Transfer Manager」ContainerReplicationPolicyを参照してください。

Webコンソールを使用したコンテナ固有のポリシーの設定

重要:

このトピックは、2018年3月以降に作成されたアカウントに適用されます。これらのアカウントでは、アカウント・レベルのレプリケーション・ポリシーがデフォルトでanyに設定されています。
  1. Oracle Cloud Infrastructure Object Storage Classicコンソールにサインインします。
  2. 「Create Container」をクリックします。

    「コンテナの作成」ダイアログ・ボックスが表示されます。

  3. コンテナの名前を入力します。

    注意:

    コンテナ名が「文字の制限」で説明されている入力制限に準拠していることを確認してください。
  4. 「ストレージ・クラス」フィールドでStandardを選択します。
  5. コンテナを作成する必要がある「データ・センター」フィールドでデータセンターを選択します。

    コンテナが作成されるデータセンターは、「ソース」データセンターです。

  6. 「上級」の下の「データセンターにレプリケート」を選択して、目的のデータセンターのコンテナを複製します。

    コンテナを複製するために選択されたデータセンターは、「ターゲット」データセンターです。 コンテナに複数のターゲットDCを選択できます。

  7. 「作成」をクリックします。

    コンテナはソース・データ・センターで作成され、Webコンソールに表示されます。

ターゲット・データ・センターでレプリケートされたコンテナの表示

  1. Oracle Cloud Infrastructure Object Storage Classicコンソールにサインインします。
  2. 「コンテナ」ペインでターゲット・データ・センターを選択します。

    あなたのアカウントで作成されたコンテナのリストが表示されます。

  3. ソース・データ・センターで作成したコンテナを識別します。
  4. コンテナを選択します。

    次のメッセージが表示されます:

    You are currently viewing a READ ONLY copy of this container. Switch to source environment to edit this container.

REST APIを使用したコンテナ固有のポリシーの設定

Oracle Cloud at CustomerではなくこのトピックはOracle Cloud at Customerには適用されません。

アカウント・レベルのポリシー以外のコンテナごとに異なるレプリケーション・ポリシーを指定できます。 コンテナ・レベルのポリシーは、アカウント・レベルのポリシーよりも優先されます。 これにより、地理的に離れたデータセンター(DC)に複製されるデータを、より詳細なレベルで制御できます。

このタスクは、サービス管理者ロールを持つすべてのユーザーが実行できます。

注意:

  • archiveコンテナのレプリケーション・ポリシーは設定できません。
  • コンテナを作成するとき、またはコンテナが空のときに、コンテナ・レベルのレプリケーション・ポリシーを設定できます。

REST APIを使用して同じリージョン内のデータセンターにコンテナ固有のポリシーを設定する

コンテナのソースDCとGeoreplication DCをサービス・インスタンスのサブセットに設定することができます。 たとえば、サービス・インスタンスのプライマリDCがus2でgeoreplication DCがus6uscom-central-1の場合、コンテナのプライマリDCはus6us2、またはuscom-central-1になります。 残りのDCの一方または両方をコンテナの複製DCとして選択することができます。 リクエスト本文のJSONファイルのsourceRegionおよびtargetRegionsパラメータにコンテナのプライマリDC URLと複製DC URLをそれぞれ指定します。

レプリケーション・ポリシーを設定したコンテナへの書き込みリクエストは、グローバル名前空間URLではなく、DC固有のRESTエンドポイントURLに送信する必要があります。

DC固有のRESTエンドポイントURLの形式は次のとおりです:

https://dataCenterCode.storage.oraclecloud.com/v1/Storage-identityDomainID

例 : https://us2.storage.oraclecloud.com/Storage-myDomain

REST APIを使用して異なるリージョンにコンテナ固有のポリシーを設定する

コンテナの複製ポリシーを指定するには、サービス・インスタンスのプライマリDCとジオコーピングDCが配置されているリージョン以外のデータセンターを選択します。 たとえば、サービス・インスタンスのプライマリDCとジオコーピングDCが米国リージョンのus2us6である場合、コンテナを複製する米国以外のリージョンにあるデータセンター、たとえばem2を選択できます。 リクエスト本文のJSONファイルのexternalTargetRegionsパラメータに外部コンテナのURLを指定して、コンテナのオブジェクトをレプリケートする必要がある外部コンテナを指定します。 コンテナに複数の外部複製DCを指定できます。

コンテナが外部コンテナからオブジェクトを複製する宛先である場合は、リクエスト本文JSONファイルのexternalSourceRegionsパラメータに外部コンテナのURLを指定します。 コンテナは、複数のソース・コンテナからのオブジェクトのレプリケーションの宛先にすることができます。

注意:

コンテナのレプリケーション・ポリシーを別のリージョンに設定する場合は、最初にexternalSourceRegionsパラメータを使用してターゲット・リージョンのレプリケーション・ポリシーを設定し、次にexternalTargetRegionsパラメータを使用してソース・リージョンのレプリケーションを設定します。

重要:

コンテナのレプリケーション・ポリシーを別のリージョンに設定するには、リクエスト本文JSONファイルで指定されたRESTエンドポイントURLがGUID形式であることを確認します。 例えば : https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365/myContainer

フレンドリ名形式は使用しないでください。 例えば : https://acme.storage.oraclecloud.com/v1/Storage-acme/myContainer フレンドリ名のREST Endpoint URLが変更され、無効なレプリケーション・ポリシーにつながる可能性があります。

リクエスト本文JSONファイルの作成

次のテンプレートを使用してリクエスト本文のJSONファイルを作成し、ホストに保存します。

{
  "sourceRegion": {
    "name": "primary_DC_code",
    "url": "primary_DC_url"},
  "targetRegions": [{
    "name": "replication_DC_code",
    "url": "replication_DC_url"}],
  "externalSourceRegions": [{
    "name": "external",
    "url": "external_source_url"}],
  "externalTargetRegions": [{
    "name": "external",
    "url": "external_target_url"}]
}
  • primary_DC_codeは、コンテナのプライマリDCのデータセンター・コードです。

  • primary_DC_urlは、コンテナの主DCにあるコンテナのURLです。 これはオプションのパラメータです。

  • replication_DC_codeは、コンテナのレプリケーションDCのデータセンター・コードです。

  • replication_DC_urlは、コンテナのレプリケーションDCにあるコンテナのレプリケーションのURLです。 これはオプションのパラメータです。

  • external_source_urlは、オブジェクトがコンテナに複製される外部リージョン内のコンテナのURLです。

  • external_target_urlは、コンテナ内のオブジェクトを複製する必要がある外部リージョン内のコンテナのURLです。

注意:

パラメータprimary_DC_urlreplication_DC_urlはオプションです。 データセンター・コードを提供するだけで、コマンドの通常の作業には十分です。
  • 次のシナリオでは、コンテナmyContainerのリクエスト 本文JSONファイルの例:
    • サービス・インスタンスにus2プライマリDCがあります。

    • あなたのサービス・インスタンスには、us6uscom-central-1複製DCがあります。

    • あなたのコンテナのプライマリDCはus6です。

    • コンテナの複製DCは、同じリージョン内のus2uscom-central-1です。

    この例では、GUIDベースのURLを使用してソース・リージョンとターゲット・リージョンを設定する方法を示しています。 コンテナのGUIDベースのURLがhttps://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365/myContainerの場合、<fooN>storage-7b16fede61e1417ab83eb52e06f0e365<barN>7b16fede61e1417ab83eb52e06f0e365です。
    {
      "sourceRegion": {
        "name": "us6",
        "url": "https://<foo1>.storage.oraclecloud.com/v1/Storage-<bar1>/myContainer"},
      "targetRegions": [{
        "name": "us2",
        "url": "https://<foo2>.storage.oraclecloud.com/v1/Storage-<bar2>/myContainer"}, {
        "name": "uscom-central-1",
        "url": "https://<foo3>.storage.oraclecloud.com/v1/Storage-<bar3>/myContainer"}],
      "externalSourceRegions": [],
      "externalTargetRegions": []
    }
  • 次のシナリオでは、コンテナmySecondContainerのリクエスト 本文JSONファイルの例:
    • サービス・インスタンスには、us2 primary DCとus6 replication DCがあります。

    • あなたのコンテナのプライマリDCはus2です。

    • コンテナのレプリケーションDCは、同じリージョン内のus6です。

    • コンテナは、異なるリージョンにあるコンテナexternalSourceContainer1externalSourceContainer2からの複製先です。

    • コンテナ内のオブジェクトは、別のリージョンのデータセンター内のコンテナexternalTargetContainerに複製されます。

    この例では、GUIDベースのURLを使用してソース・リージョンとターゲット・リージョンを設定する方法を示しています。 コンテナのGUIDベースのURLがhttps://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365/myContainerの場合、<fooN>storage-7b16fede61e1417ab83eb52e06f0e365<barN>7b16fede61e1417ab83eb52e06f0e365です。
    {
      "sourceRegion": {
        "name": "us2",
        "url": "https://<foo4>.storage.oraclecloud.com/v1/Storage-<bar4>/mySecondContainer"},
      "targetRegions": [{
        "name": "us6",
        "url": "https://<foo5>.storage.oraclecloud.com/v1/Storage-<bar5>/mySecondContainer"}],
      "externalSourceRegions": [{
        "name": "external",
        "url": "https://<foo6>.storage.oraclecloud.com/v1/Storage-<bar6>/externalSourceContainer1"}, {
        "name": "external",
        "url": "https://<foo7>.storage.oraclecloud.com/v1/Storage-<bar7>/externalSourceContainer2"}],
      "externalTargetRegions": [{
        "name": "external",
        "url": "https://<foo8>.storage.oraclecloud.com/v1/Storage-<bar8>/externalTargetContainer"}]
    }

cURLコマンド構文:コンテナのレプリケーション・ポリシーを指定する

  • 空のコンテナのレプリケーション・ポリシーを指定するには:
    curl -v -X POST \
         -H "X-Auth-Token: token" \
         -H "Content-Type: application/json" \
         -d "@file" \
         accountURL/containerName?repPolicy
    
  • コンテナの作成中にレプリケーション・ポリシーを指定するには:
    curl -v -X PUT \
         -H "X-Auth-Token: token" \
         -d "@file" \
         accountURL/containerName?repPolicy
    
  • コンテナのレプリケーション・ポリシーを読み取るには:
    curl -v -X GET \
         -H "X-Auth-Token: token" \
         accountURL/containerName?repPolicy
    

注意:

Oracle Cloud Infrastructure Object Storage ClassicにREST APIリクエストを送信すると、コンテナ名、オブジェクト名、メタデータ値の非ASCII文字はすべてURLエンコードされている必要があります。 たとえば、my containermy%20containerとしてエンコードする必要があります。%20はスペース文字のHTMLエンコードです。 同様に、my Über Containermy%20%C3%9Cber%20Containerとしてエンコードする必要があります。%20はスペース文字を表し、%C3%9CÜ文字です。

HTTPレスポンス・コード

  • 成功:
    • レプリケーション・ポリシーでコンテナを更新するとき: 204 No Content
    • コンテナを作成し、レプリケーション・ポリシーを指定するとき: 201 Created
    • コンテナのレプリケーション・ポリシーを読み込むとき: 200 OK
  • 失敗: 「Object Storage Classicのエラー・コード・リファレンス」を参照してください

cURLコマンド例

  1. このコマンドは、コンテナFirstContainerのレプリケーション・ポリシーを設定します。
    curl -v -X POST \
         -H "X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b" \
         -H "Content-Type: application/json" \
         -d "@requestbody.json" \
         https://acme.storage.oraclecloud.com/v1/Storage-acme/FirstContainer?repPolicy
    

    次に、このコマンドの出力例を示します:

    > POST /v1/Storage-acme/FirstContainer?repPolicy HTTP/1.1
    > User-Agent: curl/7.49.1
    > Host: acme.storage.oraclecloud.com
    > Accept: */*
    > Content-Type: application/json
    > Content-Length: 489
    > X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b
    >
    * upload completely sent off: 489 out of 489 bytes
    < HTTP/1.1 204 No Content
    < Date: Fri, 10 Nov 2017 06:32:55 GMT
    < Content-Type: text/html;charset=UTF-8
    < X-Trans-Id: txe8869b3edea348e5b49eb-0054f99743
    
  2. このコマンドは、コンテナSecondContainerを作成中にレプリケーション・ポリシーを指定します。
    curl -v -X PUT \
         -H "X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b" \
         -d "@requestbody.json" \
         https://acme.storage.oraclecloud.com/v1/Storage-acme/SecondContainer?repPolicy
    

    次に、このコマンドの出力例を示します:

    > PUT /v1/Storage-acme/SecondContainer?repPolicy HTTP/1.1
    > User-Agent: curl/7.49.1
    > Host: acme.storage.oraclecloud.com
    > Accept: */*
    > X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b
    >
    < HTTP/1.1 201 Created
    < Date: Thu, 09 Nov 2017 10:03:18 GMT
    < Content-Type: text/html; charset=UTF-8
    < X-Trans-Id: txe8869b3edea348e5b49eb-0054f99678
    < X-Last-Modified-Timestamp: 1510221797.90473
    < Cache-Control: no-cache
    < Pragma: no-cache
    < Content-Language: en
    
  3. このコマンドは、コンテナFirstContainerのレプリケーション・ポリシーを表示します:
    curl -v -X GET \
         -H "X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b" \
         https://acme.storage.oraclecloud.com/v1/Storage-acme/FirstContainer?repPolicy
    

    次に、このコマンドの出力例を示します:

    > GET /v1/Storage-acme/FirstContainer?repPolicy HTTP/1.1
    > User-Agent: curl/7.49.1
    > Host: acme.storage.oraclecloud.com
    > Accept: */*
    > X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b
    >
    < HTTP/1.1 200 OK
    < < Date: Fri, 10 Nov 2017 06:17:44 GMT
    < Content-Type: application/json;charset=UTF-8
    < X-Trans-Id: txe8869b3edea348e5b49eb-0054f99838
    {
      "mode": "ACTIVE_PASSIVE",
      "sourceRegion": {
        "name": "us2",
        "url": "https://<foo9>.storage.oraclecloud.com/v1/Storage-<bar9>/FirstContainer"
      },
      "targetRegions": [{
        "name": "us6",
        "url": "https://<foo10>.storage.oraclecloud.com/v1/Storage-<bar10>/FirstContainer"
      }],
      "externalSourceRegions": [{
        "name": "external",
        "url": "https://<foo11>.storage.oraclecloud.com/v1/Storage-<bar11>/ExternalSourceContainer"
      }],
      "externalTargetRegions": [{
        "name": "external",
        "url": "https://<foo12>.storage.oraclecloud.com/v1/Storage-<bar12>/ExternalTargetContainer"
      }]
    * STATE: PERFORM => DONE handle 0x600057870; line 1955 (connection #0)
    * multi_done
    * Connection #0 to host left intact
    }

    出力例には、ソース・リージョンとターゲット・リージョンの設定に使用されるGUIDベースのURLが表示されています。 コンテナのGUIDベースのURLがhttps://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365/myContainerの場合、<fooN>storage-7b16fede61e1417ab83eb52e06f0e365<barN>7b16fede61e1417ab83eb52e06f0e365です。

コンテナの削除

コンテナを削除する前に、コンテナの中のすべてのオブジェクトが先に削除されている必要があります。

このタスクは、サービス管理者ロールを持つすべてのユーザーが実行できます。

コンテナを削除するには、次のインタフェースを使用します。
インタフェース 資料

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リファレンスdeleteContainerを参照してください。

ファイル転送マネージャCLI

Oracle Cloud Infrastructure Object Storage Classicのコマンドライン・リファレンス」「コンテナの削除」を参照してください。

ファイル転送マネージャAPI

Oracle Cloud Infrastructure Object Storage Classic用のJava APIリファレンスFile Transfer Manager」deleteContainerを参照してください。

単一操作でのコンテナ内の複数のオブジェクトの削除の詳細は、「オブジェクトの一括削除」を参照してください。

Webコンソールを使用したコンテナの削除

(Oracle Cloud at Customerでは使用できません)
  1. Oracle Cloud Infrastructure Object Storage Classicコンソールにサインインします。

    コンテナのリストが表示されます。

  2. 削除するコンテナを特定します。
  3. コンテナ名の左側にある「delete」をクリックします。

    「delete」ボタンは空のコンテナにのみ表示されます。

    次のメッセージが表示されます。

    Are you sure want to delete this container?

  4. 「OK」をクリックします。

    コンテナが削除されます。

REST APIを使用したコンテナの削除

コンテナを削除する前に、コンテナの中のすべてのオブジェクトが先に削除されている必要があります。 コンテナにオブジェクトが含まれているかどうかを確認するには、HEADリクエストをコンテナURLに送信します。

cURLコマンド構文

curl -v -X DELETE \
     -H "X-Auth-Token: token" \
     accountURL/containerName

注意:

Oracle Cloud Infrastructure Object Storage ClassicにREST APIリクエストを送信すると、コンテナ名、オブジェクト名、メタデータ値の非ASCII文字はすべてURLエンコードされている必要があります。 たとえば、my containermy%20containerとしてエンコードする必要があります。%20はスペース文字のHTMLエンコードです。 同様に、my Über Containermy%20%C3%9Cber%20Containerとしてエンコードする必要があります。%20はスペース文字を表し、%C3%9CÜ文字です。

HTTPレスポンス・コード

cURLコマンド例

次の詳細を含むサンプル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)が表示されます。
  • 「RESTエンドポイント」フィールドから取得したRESTエンドポイントURLを使用する方法:
    curl -v -X DELETE \
         -H "X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b" \
         https://acme.storage.oraclecloud.com/v1/Storage-acme/FirstContainer
    
    次に、このコマンドの出力例を示します:
    > DELETE /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_tkb4fdf39c92e9f62cca9b7c196f8b6e6b
    >
    < HTTP/1.1 204 No Content
    < Date: Fri, 06 Mar 2015 10:43:38 GMT
    < Content-Length: 0
    < Content-Type: text/html; charset=UTF-8
    < X-Trans-Id: txc100a7408d564f82916fb-0054f984da
    < 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
    
    次に、このコマンドの出力例を示します:
    > DELETE /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_tkb4fdf39c92e9f62cca9b7c196f8b6e6b
    >
    < HTTP/1.1 204 No Content
    < Date: Fri, 06 Mar 2015 10:43:38 GMT
    < Content-Length: 0
    < Content-Type: text/html; charset=UTF-8
    < X-Trans-Id: txc100a7408d564f82916fb-0054f984da
    < Cache-Control: no-cache
    < Pragma: no-cache
    < Content-Language: en
    <
    

サーバー側暗号化の有効化

サーバー側の暗号化について

サービス・インスタンスのコンテナを構成して、暗号化された形式でアップロードされたすべてのデータを格納できます。 暗号化と復号化は、サーバーで完全に行われます。 そのようなコンテナからオブジェクトをダウンロードすると、オブジェクトはサーバーで復号化され、配信されます。 サーバー側の暗号化では、AES-256の暗号化アルゴリズムを使用します。

X-Server-Side-Encryptionメタデータ・ヘッダーを追加することで、コンテナの暗号化を有効化できます。 このヘッダーには、次の値のいずれかを指定できます:

  • BASE_ENCRYPTION: コンテナ内のデータを暗号化する必要があることを示します。
  • NONE: サーバー側暗号化がコンテナに対して有効でないことを示します。 これは、このヘッダーを完全に省略するのと同じです。

特定のコンテナに独自のBase64エンコードのAES-256マスター暗号化キーを指定します。 X-Server-Side-Encryptionメタデータ・ヘッダーに加えて、X-Server-Side-Encryption-Container-Keyメタデータ・ヘッダーを含め、マスター・キーを指定する必要があります。

X-Server-Side-Encryption-Container-Keyヘッダーを指定しない場合、コンテナは、Oracleによってランダムに生成されるマスター・キーを使用して暗号化されます。

注意:

サーバー側暗号化を有効化できるのは、コンテナの作成時のみです。

サーバー側の暗号化は、Oracleのすべてのデータ・リージョンで使用できるわけではありません。 Webコンソールの「コンテナを作成」ダイアログ・ボックスの「上級」の下に「暗号化の有効化」オプションが表示されない場合、この機能はデータ・リージョンで使用できません。

既存のコンテナに対してこの機能を有効または無効にすることはできません。 サーバー側の暗号化が設定されると、この機能は変更できません。

Webコンソールを使用したサーバー側暗号化の有効化

Oracle Cloud at CustomerではなくこのトピックはOracle Cloud at Customerには適用されません。

注意:

サーバー側の暗号化は、コンテナの作成中にのみ有効にでき、後では有効にできません。
  1. Oracle Cloud Infrastructure Object Storage Classicコンソールにサインインします。
  2. 「Create Container」をクリックします。

    「コンテナの作成」ダイアログ・ボックスが表示されます。

  3. コンテナの名前を入力します。

    コンテナ作成中の文字制限のリストについては、「文字の制限」を参照してください。

  4. コンテナのストレージ・クラスの選択に基づいて、「ストレージ・クラス」フィールドでStandardまたはArchiveを選択します。
  5. コンテナに格納されているデータのサーバー側の暗号化を有効化するには、「暗号化の有効化」を選択します。

    コンテナに格納されているすべてのデータは、Oracleで指定されるキーを使用して暗号化されます。

  6. マスター暗号化キーを使用してサーバー側暗号化を有効化するには、次のようにします:
    • OpenSSLツールキットを使用してAES 256暗号化キーを生成します。

      openssl enc -aes256 -k password -P

      例:

      openssl enc -aes256 -k mypassword -P

      出力:

      salt=ADCA338FB4594CC6
      key=08A8C5A2C81EB0508AAA1EAB7C81BC7AC9747E3E752E04FECAEE8D09E83A8C09
      iv=4586BFB397A9CE3FFB7F90D14BF6B506
    • Base64形式でキーをエンコードします。

      echo 'value_from_key_field' | xxd -r -p | base64

      例:

      echo "08A8C5A2C81EB0508AAA1EAB7C81BC7AC9747E3E752E04FECAEE8D09E83A8C09" | xxd -r -p | base64

      出力:

      CKjFosgesFCKqh6rfIG8esl0fj51LgT+yu6NCeg6jAk=

    • コンソールの「顧客マスター・キーありのサーバー側暗号化」フィールドに、Base64エンコードされたAES-256暗号化キーを入力します。
  7. 「作成」をクリックします。

    コンテナが作成され、コンソールに表示されます。

Oracleで提供されたキーを使用したサーバー側の暗号化の有効化

サーバー側暗号化を有効にするには、コンテナを作成して、X-Server-Side-Encryptionメタデータ・ヘッダーに割り当てます。 このヘッダーを持つコンテナに書き込まれたオブジェクトはすべて暗号化されます。
curl -v -X PUT \
     -H "X-Auth-Token: token" \
     -H "X-Server-Side-Encryption: BASE_ENCRYPTION" \
     accountURL/containerName

例:

コンテナMyEncryptedContを作成し、サーバー側暗号化メタデータ・ヘッダーを割り当てます。

curl -v -X PUT \
     -H "X-Auth-Token: AUTH_tk57dee23521d6e4d809deeffa6bd23cd6" 
     -H "X-Server-Side-Encryption: BASE_ENCRYPTION" 
     https://acme.storage.oraclecloud.com/v1/Storage-acme/MyEncryptedCont 

次に、このコマンドの出力例を示します:

PUT /v1/Storage-acme/MyEncryptedCont 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-Server-Side-Encryption: BASE_ENCRYPTION 
< HTTP/1.1 201 Created
< Date: Wed, 06 Dec 2016 10:34:20 GMT
< Content-Length: 0
< Content-Type: text/html; charset=UTF-8
< X-Trans-Id: tx23a1084b8c674fdeae8d4-0054f982ac
< Cache-Control: no-cache
< Pragma: no-cache
< Content-Language: en

顧客が提供したキーを使用したサーバー側の暗号化の有効化

マスター暗号化キーを使用してサーバー側の暗号化を有効化するには、Base64エンコードのAES-256暗号化キーを生成し、コンテナの作成時に次のヘッダーを割り当てます:
  • X-Server-Side-Encryption
  • X-Server-Side-Encryption-Container-Key
  1. AES 256暗号化キーを生成します。

    openssl enc -aes256 -k password -P

    例:

    openssl enc -aes256 -k mypassword -P

    出力:

    salt=ADCA338FB4594CC6
    key=08A8C5A2C81EB0508AAA1EAB7C81BC7AC9747E3E752E04FECAEE8D09E83A8C09
    iv=4586BFB397A9CE3FFB7F90D14BF6B506
  2. Base64形式でキーをエンコードします。

    echo 'value_from_key_field' | xxd -r -p | base64

    例:

    echo "08A8C5A2C81EB0508AAA1EAB7C81BC7AC9747E3E752E04FECAEE8D09E83A8C09" | xxd -r -p | base64

    出力:

    CKjFosgesFCKqh6rfIG8esl0fj51LgT+yu6NCeg6jAk=

  3. コンテナを作成し、サーバー側暗号化メタデータ・ヘッダーを割り当てます。
    curl -v -X PUT \
         -H "X-Auth-Token: token" \
         -H "X-Server-Side-Encryption: BASE_ENCRYPTION" \
         -H "X-Server-Side-Encryption-Container-Key: master_encryption_key"
         accountURL/containerName
    例:

    コンテナMyEncryptedContを作成し、サーバー側暗号化メタデータ・ヘッダーを割り当てます。

    curl -v -X PUT \
         -H "X-Auth-Token: AUTH_tk57dee23521d6e4d809deeffa6bd23cd6" 
         -H "X-Server-Side-Encryption: BASE_ENCRYPTION" 
         -H "X-Server-Side-Encryption-Container-Key: CKjFosgesFCKqh6rfIG8esl0fj51LgT+yu6NCeg6jAk="
         https://acme.storage.oraclecloud.com/v1/Storage-acme/MyEncryptedCont 

    注意:

    この例のアカウントのURLはhttps://acme.storage.oraclecloud.com/v1/Storage-acmeです。 このURLをアカウントのURLと置換してください。 アカウントURLを見つけるステップについては、「Oracle Cloud Infrastructure Object Storage ClassicリソースのREST URLについて」を参照してください。

    次に、このコマンドの出力例を示します:

    PUT /v1/Storage-acme/MyEncryptedCont 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-Server-Side-Encryption: BASE_ENCRYPTION 
    > X-Server-Side-Encryption-Container-Key: CKjFosgesFCKqh6rfIG8esl0fj51LgT+yu6NCeg6jAk=
    < HTTP/1.1 201 Created
    < Date: Wed, 07 Dec 2016 10:34:20 GMT
    < Content-Length: 0
    < Content-Type: text/html; charset=UTF-8
    < X-Trans-Id: tx23a1084b8c674fdeae8d4-0054f982ac
    < Cache-Control: no-cache
    < Pragma: no-cache
    < Content-Language: en

サーバー側の暗号化を確認しています

コンテナに対してサーバー側暗号化が有効になっているかどうかを確認するコンテナ・メタデータを確認します。

curl -v -X HEAD \
     -H "X-Auth-Token:token" \
     accountURL/containerName

例:

curl -v -X HEAD \
     -H "X-Auth-Token: AUTH_tk64e7143df33fcbf2f20047c3c37984db" \
      https://acme.storage.oraclecloud.com/v1/Storage-acme/MyEncryptedCont

次に、このコマンドの出力例を示します:

> HEAD /v1/Storage-acme/MyEncryptedCont HTTP/1.1
> User-Agent: curl/7.29.0
> Host: acme.storage.oraclecloud.com
> Accept: */*
> X-Auth-Token: AUTH_tk64e7143df33fcbf2f20047c3c37984db
< 
< HTTP/1.1 204 No Content
< Date: Wed, 7 Dec 2016 11:40:11 GMT
< X-Container-Object-Count: 0
< X-Container-Write: Storage-acme.Storage.Storage_ReadWriteGroup,Storage-acme.myCustomRole
< X-Container-Meta-Category: Books
< Accept-Ranges: bytes
< X-Container-Meta-Quota-Count: 100
< X-Timestamp: 1425639066.56315
< X-Container-Read: .r:*,.rlistings
< X-Server-Side-Encryption: BASE_ENCRYPTION
< X-Container-Bytes-Used: 0
< Content-Type: text/plain; charset=utf-8
< X-Container-Meta-Quota-Bytes: 10737418240
< X-Trans-Id: txb0b9882eceba45b287266-0054f9921b
< Cache-Control: no-cache
< Pragma: no-cache
< Content-Language: en

BASE_ENCRYPTIONの値を持つX-Server-Side-Encryptionメタデータ・ヘッダーが出力に表示され、サーバー側の暗号化がコンテナで有効になっていることを確認します。

コンテナ・メタデータの取得

サービス管理者ロールまたはコンテナのX-Container-Read ACLに指定されたロールを持つすべてのユーザーがこのタスクを実行できます。

HEADリクエストを送信して、コンテナのオブジェクトに関する情報を取得できます。次の情報が戻されます。

  • コンテナACL (X-Container-ReadおよびX-Container-Write)
  • コンテナ割当て制限: (X-Container-Meta-Quota-CountおよびX-Container-Meta-Quota-Bytes)
  • コンテナ内のオブジェクト数(X-Container-Object-Count)
  • コンテナですべてのオブジェクトによって使用されるストレージ容量(バイト: X-Container-Bytes-Used)
  • カスタム・メタデータ (X-Container-Meta-Name)
  • Archiveコンテナに対してのみ返されるコンテナのストレージ・クラス(X-Storage-Class)
コンテナ・メタデータを表示するには、次のインタフェースを使用します。
インタフェース 資料

Oracle Cloud Infrastructure Object Storage Classicコンソール

(Oracle Cloud at Customerでは使用できません)
Webコンソールを使用したコンテナ・メタデータの取得を参照してください。

RESTful API

「コンテナのメタデータを表示」in Oracle Cloud Infrastructure Object Storage Classicの標準ストレージ用のREST APIを参照してください。

ファイル転送マネージャAPI

Oracle Cloud Infrastructure Object Storage Classic用のJava APIリファレンスFile Transfer Manager」getContainerを参照してください。

ファイル転送マネージャCLI

Oracle Cloud Infrastructure Object Storage Classicのコマンドライン・リファレンス」「コンテナ・メタデータの取得」を参照してください。

Webコンソールを使用したコンテナ・メタデータの取得

(Oracle Cloud at Customerでは使用できません)
  1. Oracle Cloud Infrastructure Object Storage Classicコンソールにサインインします。
  2. リストからコンテナを選択します。 コンテナの「Container Information」ペインを展開します。

    コンテナの詳細が「Container Information」ペインに表示されます。

REST APIを使用したコンテナ・メタデータの取得

cURLコマンド構文

curl -v -X HEAD \
     -H "X-Auth-Token: token" \
     accountURL/containerName

注意:

Oracle Cloud Infrastructure Object Storage ClassicにREST APIリクエストを送信すると、コンテナ名、オブジェクト名、メタデータ値の非ASCII文字はすべてURLエンコードされている必要があります。 たとえば、my containermy%20containerとしてエンコードする必要があります。%20はスペース文字のHTMLエンコードです。 同様に、my Über Containermy%20%C3%9Cber%20Containerとしてエンコードする必要があります。%20はスペース文字を表し、%C3%9CÜ文字です。

HTTPレスポンス・コード

cURLコマンド例

次の詳細を含むサンプル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が表示されます。
  • 「RESTエンドポイント」フィールドから取得したRESTエンドポイントURLを使用する方法:
    curl -v -X HEAD \
         -H "X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b" \
         https://acme.storage.oraclecloud.com/v1/Storage-acme/FirstContainer
    

    次は、Standardコンテナに対するこのコマンドの出力の例です。

    > HEAD /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_tkb4fdf39c92e9f62cca9b7c196f8b6e6b
    >
    < HTTP/1.1 204 No Content
    < Date: Fri, 06 Mar 2015 11:40:11 GMT
    < X-Container-Object-Count: 0
    < X-Container-Write: Storage-acme.Storage.Storage_ReadWriteGroup,Storage-acme.myCustomRole
    < X-Container-Meta-Category: Books
    < Accept-Ranges: bytes
    < X-Container-Meta-Quota-Count: 100
    < X-Timestamp: 1425639066.56315
    < X-Container-Read: .r:*,.rlistings
    < X-Container-Bytes-Used: 0
    < Content-Type: text/plain; charset=utf-8
    < X-Container-Meta-Quota-Bytes: 10737418240
    < X-Trans-Id: txb0b9882eceba45b287266-0054f9921b
    < Cache-Control: no-cache
    < Pragma: no-cache
    < Content-Language: en
    

    Archiveコンテナの場合、メタデータのヘッダーX-Storage-Classに、値Archiveが表示されます。 次は、このコマンドの例です。

    > HEAD /v1/Storage-acme/firstArchiveContainer1 HTTP/1.1
    > User-Agent: curl/7.29.0
    > Host: acme.storage.oraclecloud.com:443
    > Accept: */*
    > X-Auth-Token: AUTH_tk32486a5bbed54ee74213a30d6d128f9d
    >
    < HTTP/1.1 204 No Content
    < X-Container-Object-Count: 0
    < X-Container-Write: cloudua001.Storage.Storage_ReadWriteGroup
    < Accept-Ranges: bytes
    < X-Timestamp: 1434733473.12286
    < X-Container-Read: cloudua001.Storage.Storage_ReadOnlyGroup,cloudua001.Storage.Storage_ReadWriteGroup
    < X-Container-Bytes-Used: 0
    < X-Trans-Id: txfcffc30b5a0c44cb91491-005584544ega
    < Date: Fri, 19 Jun 2015 17:41:34 GMT
    < X-Storage-Class: Archive
    < Content-Type: text/plain;charset=utf-8
    
  • 「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
    

    次は、Standardコンテナに対するこのコマンドの出力の例です。

    > HEAD /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_tkb4fdf39c92e9f62cca9b7c196f8b6e6b
    >
    < HTTP/1.1 204 No Content
    < Date: Fri, 06 Mar 2015 11:40:11 GMT
    < X-Container-Object-Count: 0
    < X-Container-Write: Storage-7b16fede61e1417ab83eb52e06f0e365.Storage.Storage_ReadWriteGroup,Storage-7b16fede61e1417ab83eb52e06f0e365.myCustomRole
    < X-Container-Meta-Category: Books
    < Accept-Ranges: bytes
    < X-Container-Meta-Quota-Count: 100
    < X-Timestamp: 1425639066.56315
    < X-Container-Read: .r:*,.rlistings
    < X-Container-Bytes-Used: 0
    < Content-Type: text/plain; charset=utf-8
    < X-Container-Meta-Quota-Bytes: 10737418240
    < X-Trans-Id: txb0b9882eceba45b287266-0054f9921b
    < Cache-Control: no-cache
    < Pragma: no-cache
    < Content-Language: en
    

    Archiveコンテナの場合、メタデータのヘッダーX-Storage-Classに、値Archiveが表示されます。 次は、このコマンドの例です。

    > HEAD /v1/Storage-7b16fede61e1417ab83eb52e06f0e365/firstArchiveContainer1 HTTP/1.1
    > User-Agent: curl/7.29.0
    > Host: storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com:443
    > Accept: */*
    > X-Auth-Token: AUTH_tk32486a5bbed54ee74213a30d6d128f9d
    >
    < HTTP/1.1 204 No Content
    < X-Container-Object-Count: 0
    < X-Container-Write: cloudua001.Storage.Storage_ReadWriteGroup
    < Accept-Ranges: bytes
    < X-Timestamp: 1434733473.12286
    < X-Container-Read: cloudua001.Storage.Storage_ReadOnlyGroup,cloudua001.Storage.Storage_ReadWriteGroup
    < X-Container-Bytes-Used: 0
    < X-Trans-Id: txfcffc30b5a0c44cb91491-005584544ega
    < Date: Fri, 19 Jun 2015 17:41:34 GMT
    < X-Storage-Class: Archive
    < Content-Type: text/plain;charset=utf-8
    

コンテナ・メタデータの削除

コンテナ・メタデータの削除には、次に示すインタフェースを使用できます。
インタフェース 資料

Oracle Cloud Infrastructure Object Storage Classicコンソール

(Oracle Cloud at Customerでは使用できません)
「Webコンソールを使用したコンテナ・メタデータの削除」を参照してください。

RESTful API

参照:

Javaライブラリ

「Oracle Cloud Infrastructure Object Storage ClassicのJava APIリファレンス」deleteContainerMetadataを参照してください。

Webコンソールを使用したコンテナ・メタデータの削除

(Oracle Cloud at Customerでは使用できません)
  1. Oracle Cloud Infrastructure Object Storage Classicコンソールにサインインします。
  2. メタデータを削除するコンテナを選択します。
  3. 「Container Information」を展開します。

    コンテナの詳細が表示されます。

  4. 「Edit」をクリックします。

    「Custom Metadata」フィールドを探します。

  5. 削除するメタデータの名前と値を特定します。
  6. メタデータ値の右側にある削除ボタンをクリックします。
  7. 「Save」をクリックします。

    メタデータの名前と値が削除されます。

REST APIを使用したコンテナ・メタデータの削除

cURLコマンド構文

curl -v -X POST \
     -H "X-Auth-Token: token" \
     -H "X-Remove-Container-Meta-Name: any_arbitrary_string" \
     accountURL/containerName

注意:

Oracle Cloud Infrastructure Object Storage ClassicにREST APIリクエストを送信すると、コンテナ名、オブジェクト名、メタデータ値の非ASCII文字はすべてURLエンコードされている必要があります。 たとえば、my containermy%20containerとしてエンコードする必要があります。%20はスペース文字のHTMLエンコードです。 同様に、my Über Containermy%20%C3%9Cber%20Containerとしてエンコードする必要があります。%20はスペース文字を表し、%C3%9CÜ文字です。

HTTPレスポンス・コード

cURLコマンド例

次の詳細を含むサンプル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が表示されます。
  • 「RESTエンドポイント」フィールドから取得したRESTエンドポイントURLを使用する方法:
    curl -v -X POST \
         -H "X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b" \
         -H "X-Remove-Container-Meta-Category: Books" \
         https://acme.storage.oraclecloud.com/v1/Storage-acme/FirstContainer
    

    次に、このコマンドの出力例を示します:

    > POST /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_tkb4fdf39c92e9f62cca9b7c196f8b6e6b
    > X-Remove-Container-Meta-Category: Books
    >
    < HTTP/1.1 204 No Content
    < X-Trans-Id: tx30d406ea72b340378476a-00585b78c7ga
    < Date: Thu, 22 Dec 2016 06:55:04 GMT
    < Connection: keep-alive
    < X-Last-Modified-Timestamp: 1482389703.89669
    < Content-Type: text/html;charset=UTF-8
    <
    
  • 「RESTエンドポイント(永続的)」フィールドから取得したサービス永続RESTエンドポイントURLの使用:

    注意:

    このcURLコマンドの例は、2017年11月以降に作成されたアカウントに適用されます。
    curl -v -X POST \
         -H "X-Auth-Token: AUTH_tkb4fdf39c92e9f62cca9b7c196f8b6e6b" \
         -H "X-Remove-Container-Meta-Category: Books" \
         https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365/FirstContainer
    

    次に、このコマンドの出力例を示します:

    > POST /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_tkb4fdf39c92e9f62cca9b7c196f8b6e6b
    > X-Remove-Container-Meta-Category: Books
    >
    < HTTP/1.1 204 No Content
    < X-Trans-Id: tx30d406ea72b340378476a-00585b78c7ga
    < Date: Thu, 22 Dec 2016 06:55:04 GMT
    < Connection: keep-alive
    < X-Last-Modified-Timestamp: 1482389703.89669
    < Content-Type: text/html;charset=UTF-8
    <