バケット内のオブジェクト一覧表示
以下のホーム画面を作成します。
コンパートメント内のバケット一覧のLOVを定義します
Oracle APEX 19.2より動的なLOVのデータソースとして、SQLの実行以外に、RESTデータ・ソースを扱うことができるようになりました。先ほど作成したRESTデータ・ソースlist_bucketsをソースとしたLOVを作成します。
共有コンポーネントからLOVを開きます。LOVの作成は最初からを選択し、次へ進みます。以下の画面になります。 名前はBUCKET_LISTを指定し、タイプはDynamicを選択します。次へ進みます。
バケットのセレクタをホーム画面に配置します
アプリケーションのページ1、ホーム画面をページ・デザイナで開きます。レンダリング・ツリーのBody上でコンテキスト・メニューを表示させ、リージョンの作成を実行します。
新規に作成されたリージョンを選択し、プロパティ・エディタより、識別のタイトルをBucket Listに変更します。タイトルの入力フィールドからフォーカスが外れると、レンダリング・ツリーの表記が新規からBucket Listに変更されます。そのBucket List上でコンテキスト・メニューを表示させ、アイテムの作成を実行します。
新規に作成されたページ・アイテムを選択します。プロパティ・エディタ上で、以下の設定を行います。
- 識別/名前: P1_BUCKET_NAME
- 識別/タイプ: 選択リスト
- ラベル/ラベル: Bucket Name
- 設定/選択時のページ・アクション: Submit Page
- LOV/タイプ: 共有コンポーネント
- LOV/LOV: BUCKET_LIST
- LOV/追加値の表示: OFF
- LOV/NULL値の表示: ON
- LOV/NULL表示値: -- Select a bucket --
選択したバケットが含むオブジェクトのレポートをホーム画面に配置します
同様に新たにリージョンを作成します。新規に作成したリージョンを選択し、プロパティ・エディタより以下の値を設定します。
- 識別/タイトル: Bucket Contents
- 識別/タイプ: クラシック・レポート
- ソース/位置: RESTソース
- ソース/RESTソース: list_objects_in_bucket
- ソース/送信するページ・アイテム: P1_BUCKET_NAME
- 値/タイプ: アイテム
- 値/アイテム: P1_BUCKET_NAME
このレポートのソースはlist_objects_in_bucketというRESTデータ・ソースです。そのRESTデータ・ソースはbucket_nameをパラメータとして指定可能であり、デフォルトは静的値でapex_file_storageでした。それをページ・アイテムP1_BUCKET_NAMEに指定された値を渡すように変更しています。
これで最初にあげたようにホーム画面に、指定したバケットに含まれるオブジェクトを一覧するレポートを追加することができました。
続く