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」電子メールで確認できます。
    ユーザーの資格証明およびアイデンティティ・ドメインの確認


  • 「New Account Information」電子メールがない場合は、Oracle Cloudユーザー名、パスワードおよびアイデンティティ・ドメインをアカウント管理者に問い合せてください。

  • サービス・インスタンスのレプリケーション・ポリシーの設定。「Oracle Storage Cloud Serviceのデータ・センターの選択」を参照してください。
  • サービス管理者ロールの取得。

    Oracle Cloudのユーザー・アカウントがサービス管理者ロールを持つかどうかわからない場合は、アカウント管理者に問い合せてください。

このチュートリアルの有効範囲

Oracle Storage Cloud Serviceを使用するための標準的なワークフローを次に示します。このチュートリアルの焦点は、3番目の手順(コンテナの作成)です。

  1. ユーザーの定義。
  2. ロールの定義、およびロールへのユーザーの割当て。
  3. コンテナの作成。
  4. コンテナ内のオブジェクトの格納および管理。

認証トークンのリクエスト

Oracle Storage Cloud Serviceでは、サービス・インスタンスに対する操作に認証が必要です。認証は、認証トークンを使用して実行されます。認証トークンは、サービスでユーザー資格証明を認証することでサービスからリクエストされます。すべてのプロビジョニングされた認証トークンは一時的なものであり、30分で失効します。Oracle Storage Cloud Serviceに対するすべてのリクエストに最新の認証トークンを含める必要があります。

  1. 次の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レスポンスが返されることに注意してください。

    認証トークンの取得

  2. 実行したコマンドの出力で、次をメモしておいてください。

    • 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-ReadX-Container-Writeのヘッダーは、それぞれ、コンテナの読取りと書込みのアクセス権を持つユーザー・ロールを指定するアクセス制御リスト(ACL)を表します。ACLを使用してコンテナへのアクセスを制御する方法の詳細は、REST APIを使用したコンテナへの読取りおよび書込みアクセスの制限のチュートリアルを参照してください。

まとめ

このチュートリアルでは、次の操作を学びました。

  1. Oracle Storage Cloud Serviceからの認証トークンの取得。
  2. コンテナの作成。
  3. コンテナが作成されたことの検証。

リソース

クレジット

  • カリキュラム開発者: Kumar Dhanagopal
  • 協力者: Rehan Iftikhar, Ben Gelernter

このOracle by Exampleチュートリアルを移動する際の留意点は次のとおりです。

トピック・リスト:
トピックをクリックするとその項に移動します。
すべてのトピックを開く:
このボタンをクリックすると各項の詳細が表示または非表示になります。デフォルトではすべてのトピックが縮小されます。
すべての画像を非表示:
このボタンをクリックするとスクリーンショットが表示または非表示になります。デフォルトではすべてのイメージが表示されます。
印刷:
このボタンをクリックするとコンテンツが印刷されます。現在、表示または非表示になっているコンテンツが印刷されます。

このチュートリアルで特定の項に移動する場合は、リストからトピックを選択します。