2020年2月27日木曜日

APEXからOCIオブジェクト・ストレージを操作する(5) - RESTデータ・ソースの作成

これから2つのRESTデータ・ソースを作成します。ひとつはlist_bucketsとして、特定のコンパートメントに含まれるバケットの一覧を取得するためのもの、もうひとつは、list_objects_in_bucketとして、指定したバケットに含まれるオブジェクトの一覧を取得するためのものです。


RESTデータ・ソースの作成



今回の実装では、list_bucketsの対象はコンパートメントAPEX、list_objects_in_bucketの対象はコンパートメントAPEXに含まれるバケットapex_file_storageになります。RESTデータ・ソースを登録するにあたり、あらかじめ取得しておくべき情報が3つあります。

APIエンドポイントを取得します


オブジェクト・ストレージのAPIエンドポイントはこちらに定義されています。使用しているリージョン毎に異なります。北米アッシュバーン・リージョンのAPIエンドポイントを確認するとhttps://objectstorage.us-ashburn-1.oraclecloud.comになっていました。

オブジェクト・ストレージ・ネームスペースを取得します


ハンバーガー・アイコンをクリックし、ガバナンスと管理からテナンシ詳細を開きます。


オブジェクト・ストレージ・ネームスペースの文字列をメモしておきます。
 


コンパートメントIDを取得します


ハンバーガー・アイコンをクリックし、アイデンティティとセキュリティからコンパートメントを開きます。ポインタをOCID上に合わせるとツールチップとしてOCIDが表示されます。そこにあるコピーをクリックして、クリップボードに保存します。
 


RESTデータ・ソースlist_bucketsの作成



共有コンポーネントのRESTデータ・ソースを開きます。
 

作成をクリックします。
 

RESTデータ・ソースの作成メソッドとして、最初からを選びます。

次へ進みます。
 

RESTデータ・ソース・タイプはOracle Cloud Infrastructure (OCI)を選び、名前はlist_bucketsを入力します。URLエンドポイントは次のような形式です。
https://objectstorage.REGION.oraclecloud.com/n/NAMESPACE/
リージョン毎のオブジェクト・ストレージのAPIエンドポイントに"/n/"を挟んで、オブジェクト・ストレージ・ネームスペースをつなげます。URLの最後は"/"で終了します。

次へ進みます。
 

ベースURLは自動的に設定されます。サービスURLパスには/b/を指定します。

次へ進みます。
 

資格証明として先ほど作成したOCI API Accessを選択します。

詳細をクリックします。
 

パラメータをひとつ追加します。パラメータ・タイプは問合わせ文字列変数、パラメータ名はcompartmentId(Iは大文字のアイ)、それに与える値は、コンパートメントAPEXのOCIDになります。静的はONにして、変更不可のパラメータとします。

検出をクリックします。
  

検出結果が問題なく表示されれば、OCIオブジェクト・ストレージのAPI呼び出しは成功しています。コンパートメントに含まれるバケットのリストから、apex_file_storageが返されていることを確認します。

RESTデータ・ソースの作成をクリックします。
 

作成されたRESTデータ・ソースlist_bucketsが一覧に表示されます。
 

この後に別のRESTデータ・ソースを作成するので、エンドポイントURLをコピーしておくと良いです。


RESTデータ・ソースlist_objects_in_bucketの作成



手順はlist_bucketsのときと同じく、RESTデータ・ソースの一覧から作成をクリックし、作成メソッドは最初からを選択します。次に進むと、個別のパラメータの設定になります。

RESTデータ・ソース・タイプはOracle Cloud Infrastructure (OCI)、名前はlist_objects_in_bucket、URLエンドポイントとして、list_objectsのエンドポイントURLに続けて":bucket_name/o/"を追加します。次のような形式になります。
https://objectstorage.REGION.oraclecloud.com/n/NAMESPACE/b/:bucket_name/o/
URLにbucket_nameというパラメータが含まれたことにより、画面にURLパラメータ1として、値の指定を求められます。値としてapex_file_storageを指定します。すべて指定した後、次へ進みます。
 

リモート・サーバー、ベースURL、サービスURLパスは先ほどの指定から自動設定されます。次へ進みます。
 

認証が必要ですをONにし、資格証明としてOCI API Accessを選択します。詳細をクリックします。
 

パラメータをひとつ追加します。パラメータ・タイプは問合わせ文字列変数、パラメータ名はfields、その値はname,size,timeCreated,md5になります。静的はONにして、変更不可のパラメータとします。検出をクリックします。
 

事前にアップロードしたファイルがリストされていることを確認します。確認した後、RESTデータ・ソースの作成をクリックします。
 

作成されたRESTデータ・ソースlist_objects_in_bucketが一覧に表示されます。
 

RESTデータ・ソースが作成できれば、実際はOCIオブジェクト・ストレージへのいくつかのREST APIの呼び出しが成功していることになります。

続く