2020年2月27日木曜日

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

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


RESTデータ・ソースの作成



今回の実装では、list_bucketsの対象はコンパートメントAPEXlist_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_bucketURLエンドポイントとして、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の呼び出しが成功していることになります。

続く