Oracle Storage Cloud Service: REST APIを使用したコンテナの作成
概要
用途
このチュートリアルでは、cURLコマンドライン・ツールを使用して、REST APIインタフェースを介してOracle Storage Cloud Service内にコンテナを作成する方法を示します。
所要時間
約15分
はじめに
Oracle Storage Cloud Serviceにより、デジタル・コンテンツをクラウドに格納および管理し、ビジネスで利用できます。格納されているオブジェクトは、外部のクライアントから直接、またはOracle Cloud内で実行されるアプリケーションから取得できます。
コンテナは、Oracle Storage Cloud Serviceに格納されたデータを整理する方法を提供する、記憶域区分です。コンテナはディレクトリと似ていますが、ディレクトリとは異なり、コンテナはネストできないという大きな相違点があります。
サービス管理者ロールを持つすべてのユーザーがコンテナを作成できます。
REST APIや公式のJavaライブラリを介してStorage Cloud Serviceにアクセスできます。このチュートリアルでは、cURLコマンドライン・ツールを使用して、REST APIを介してコンテナを作成する方法を示します。
シナリオ
このチュートリアルでは、REST APIを介してOracle Storage Cloud Service内にコンテナを作成する方法を示します。まず、cURLがない場合は、それをインストールする必要があります。次に、Oracle Storage Cloud Serviceから認証トークンを取得します。この認証トークンを使用して、Oracle Storage Cloud Serviceにアクセスしてコンテナを作成します。
ソフトウェア要件
RESTインタフェースにアクセスするためのツールが必要です。このチュートリアルでは、様々なオペレーティング・システムで動作するフリーのオープン・ソフトウェアであるcURLを使用します。Windows 64ビット・マシンにcURLをインストールする手順は、「here」をクリックします。または、WindowsでCygwinにcURLをインストールする場合は、「here」をクリックします。
前提条件
このチュートリアルを始める前に次の用意をする必要があります。
- Oracle Cloud Storage Serviceの試用または有料のサブスクリプションの取得
- Oracle Cloudのユーザー名、パスワードおよびアイデンティティ・ドメインを知る。
これらの詳細は、自分のユーザー・アカウントが設定されたときにOracle Cloudから受け取った、次に示すような「New Account Information」電子メールで確認できます。
- サービス・インスタンスのレプリケーション・ポリシーの設定。「Oracle Storage Cloud Serviceのデータ・センターの選択」を参照してください。
「New Account Information」電子メールがない場合は、Oracle Cloudユーザー名、パスワードおよびアイデンティティ・ドメインをアカウント管理者に問い合せてください。
- サービス管理者ロールの取得。
Oracle Cloudのユーザー・アカウントがサービス管理者ロールを持つかどうかわからない場合は、アカウント管理者に問い合せてください。
このチュートリアルの有効範囲
Oracle Storage Cloud Serviceを使用するための標準的なワークフローを次に示します。このチュートリアルの焦点は、3番目の手順(コンテナの作成)です。
- ユーザーの定義。
- ロールの定義、およびロールへのユーザーの割当て。
- コンテナの作成。
- コンテナ内のオブジェクトの格納および管理。
認証トークンのリクエスト
Oracle Storage Cloud Serviceでは、サービス・インスタンスに対する操作に認証が必要です。認証は、認証トークンを使用して実行されます。認証トークンは、サービスでユーザー資格証明を認証することでサービスからリクエストされます。すべてのプロビジョニングされた認証トークンは一時的なものであり、30分で失効します。Oracle Storage Cloud Serviceに対するすべてのリクエストに最新の認証トークンを含める必要があります。
- 次のcURLコマンドを実行して認証トークンをリクエストします。
注意: この例のコマンドでは、一般化されたアイデンティティ・ドメインmyIdentityDomainのユーザーjack.jones@example.comの資格証明を使用します。この例をコピーして編集する場合は、Oracle Cloudユーザー名、パスワードおよびアイデンティティ・ドメインを自分のものに変更します。コマンドの例では、変更する必要のある値が太字で強調表示されています。
curl -v -s -X GET -H "X-Storage-User: Storage-myIdentityDomain:jack.jones@example.com" -H "X-Storage-Pass: ft7)Dvjo" https://myIdentityDomain.storage.oraclecloud.com/auth/v1.0
次に示すのは、キーとなる行を強調表示した、このコマンドの出力例です。リクエストに正しい資格証明が含まれている場合、
HTTP/1.1 200 OK
レスポンスが返されることに注意してください。 - 実行したコマンドの出力で、次をメモしておいてください。
X-Storage-Url
ヘッダーの値。この値は、サービスのRESTエンドポイントURLです。次の手順でコンテナを作成するためにこのURLを使用します。
出力例では、サービスのRESTエンドポイントは
https://storage.us2.oraclecloud.com/v1/Storage-<identity_domain>
です。注意: このチュートリアルでのcURLコマンドの例は、メーター制のOracle Storage Cloud Serviceサブスクリプションの場合のREST URLへのリクエストです。非メーター制のOracle Storage Cloud Serviceサブスクリプションのリクエストでは、REST URLの形式がメーター制のサブスクリプションとは異なります。詳細は、「Oracle Storage Cloud ServiceリソースのためのREST URLについて」を参照してください。
-
X-Auth-Token
ヘッダーの値。この値は、コンテナを作成する次の手順で使用する認証トークンです。認証トークンは30分後に期限切れとなり、その後は新規のトークンをリクエストする必要があることに注意してください。
出力例では、認証トークンは
AUTH_tk23be53ac28c3e443de38367f87643eb9
です。
最初のコンテナの作成
この項では、myFirstContainer という名前のコンテナを作成します。
次のcURLコマンドを実行します。
curl -v -s -X PUT -H "X-Auth-Token: AUTH_tk85388cfc91ece053145e3ff386e96552" https://storage.us2.oraclecloud.com/v1/Storage-myIdentityDomain/myFirstContainer
-
X-Auth-Token
ヘッダーの値を前に取得した認証トークンに置き換え、-
https://storage.us2.oraclecloud.com/v1/Storage-myIdentityDomain
を認証トークンを取得したときにメモしておいたX-Storage-Url
ヘッダーの値に変更し、-
myFirstContainer
を作成するコンテナの名前に変更します。
リクエストが正常に完了すると、次の出力例に示すように、HTTP/1.1 201 Created
のレスポンスが返されます。
コンテナが作成されたことの検証
この項では、前に作成したmyFirstContainer という名前のコンテナが存在することを検証します。
次のcURLコマンドを実行します。
curl -v -s -X GET -H "X-Auth-Token: AUTH_tk85388cfc91ece053145e3ff386e96552" https://storage.us2.oraclecloud.com/v1/Storage-myIdentityDomain/myFirstContainer
注意: このコマンドを実行する場合は、
- X-Auth-Token
ヘッダーの値を前に取得した認証トークンに置き換え、
- https://storage.us2.oraclecloud.com/v1/Storage-myIdentityDomain
を認証リクエストで返されたサービスのRESTエンドポイントURLに変更し、
- myFirstContainer
を検証するコンテナの名前に変更します。
リクエストが正常に完了すると、次の出力例に示すように、HTTP/1.1 204 No Content
のレスポンスが返されます。このレスポンスは、新しいコンテナにはまだオブジェクトがないことを示します。
この例のX-Container-Object-Count
およびX-Container-Bytes-Used
のヘッダーの値は、これもまたコンテナ内のオブジェクトがないことを示すゼロです。コンテナにデータをアップロードすると、オブジェクトが作成され、これらのヘッダーには0以外の値が表示されます。
X-Container-Read
とX-Container-Write
のヘッダーは、それぞれ、コンテナの読取りと書込みのアクセス権を持つユーザー・ロールを指定するアクセス制御リスト(ACL)を表します。ACLを使用してコンテナへのアクセスを制御する方法の詳細は、REST APIを使用したコンテナへの読取りおよび書込みアクセスの制限のチュートリアルを参照してください。
まとめ
このチュートリアルでは、次の操作を学びました。
- Oracle Storage Cloud Serviceからの認証トークンの取得。
- コンテナの作成。
- コンテナが作成されたことの検証。
リソース
- Oracle Storage Cloud Serviceの詳細は、https://cloud.oracle.com/storageを参照してください。
- その他のチュートリアルは、http://docs.oracle.com/cloud/latest/storagecs_common/storagecs_tutorials.htmを参照してください。
- Oracle Storage Cloud Serviceのドキュメントは、http://docs.oracle.com/cloud/latest/storagecs_common/index.htmlを参照してください。
クレジット
- カリキュラム開発者: Kumar Dhanagopal
- 協力者: Rehan Iftikhar, Ben Gelernter
このOracle by Exampleチュートリアルを移動する際の留意点は次のとおりです。
- トピック・リスト:
- トピックをクリックするとその項に移動します。
- すべてのトピックを開く:
- このボタンをクリックすると各項の詳細が表示または非表示になります。デフォルトではすべてのトピックが縮小されます。
- すべての画像を非表示:
- このボタンをクリックするとスクリーンショットが表示または非表示になります。デフォルトではすべてのイメージが表示されます。
- 印刷:
- このボタンをクリックするとコンテンツが印刷されます。現在、表示または非表示になっているコンテンツが印刷されます。
このチュートリアルで特定の項に移動する場合は、リストからトピックを選択します。