5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Autonomous DatabaseのPAR URLのテーブルビューで、列ごとのグループ化とUIオプションを試してみた

Posted at

はじめに

この記事では、Autonomous Databaseの新機能である
「PAR URL Table View with Column Level Group By and UI Options(PAR URLのテーブルビューにおける列ごとのグループ化とUIオプションの追加)」について検証してみました。

この機能は、URLにアクセスすることでデータを取得できる事前認証リクエスト(PAR) での機能強化となります。
マニュアルはこちらです。

PAR URLとは

PAR URL
表またはビュー、SQLクエリの実行結果に対する読み取り専用の事前認証リクエスト(PAR) URLの生成し、Autonomous Database内のデータをブラウザ上で表示できるようにし、共有できるようにするものです。

  • 2024/11から、column_listsパラメータが追加されました。PAR URLを生成するときに、column_listsパラメータを使用して、指定した列のUIを指定できます。
  • column_listsパラメータでは、列ごとにオプションをJSON配列で指定します。

手順

PAR URLの作成

  • ADMINユーザーから、事前認証済リクエスト(PAR)URLを作成するユーザー(本記事ではQTEAM)に対しDBMS_DATA_ACCESSパッケージの実行権限を付与します。

    GRANT EXECUTE ON DBMS_DATA_ACCESS TO QTEAM;
    
  • ADMINからはサインアウトをし、QTEAMユーザーでサインインします。

  • QTEAMスキーマに格納してあるMOVIE_SALES_2020表に対し、以下のようにPAR URLを作成してみようと思います。

    set serveroutput on 
    DECLARE
    status CLOB; 
    BEGIN
    DBMS_DATA_ACCESS.GET_PREAUTHENTICATED_URL( 
        schema_name => 'QTEAM',  --対象のスキーマ名を指定
        schema_object_name => 'MOVIE_SALES_2020',  --オブジェクトの名前を指定
        expiration_minutes => 360,  --URLの有効期限(分単位)
        service_name => 'HIGH',  --接続サービスを指定
        column_lists =>  
        '{"group_by_columns":["MONTH"],  
          "order_by_columns":["COUNTRY"],
          "filter_columns":["GENRE"],  
          "default_color_columns":["DAY"]}',  
          result => status 
    );
    dbms_output.put_line(status);  --取得したURLを出力
    END;
    /
    
  • 指定できるcolumn_listsの値については以下のようになります。

column_lists値 説明
order_by_columns ソートをサポートする列を指定します。列はJSON配列で指定
filter_columns フィルタリングをサポートする列を指定します。列はJSON配列で指定
default_color_columns 指定した列にデフォルトの色のみを使用することを指定します。列はJSON配列で指定
group_by_columns 指定した列に対してグループ化基準を許可することを指定します(指定した列をグループ化してデータを表示することは許可されます)。列はJSON配列で指定

本記事では上記のように、group_by_columnsでMONTH列、order_by_columnsでCOUNTRY列、filter_columnsでGENRE列、default_color_columnsでDAY列をそれぞれ指定しております。

ブラウザにアクセス

  • PAR URLの作成ができると、以下のような結果が例として返されます。
    {"status":"SUCCESS","id":"YDWgGfki6wGEr5CEYwYSzJe4rVFdx5UeKKSZjv2S55MFf4TX9dZuTZ
    TKv4bIKDp1","preauth_url":"https://dataaccess.adb.ap-tokyo-1.oraclecloudapps.com
    /adb/p/Nqrfuxmu1kWtWwbjyRacavM9y0VvcLlFSS9dArDENnl8kkvRUL7iRVmp95dq54XLTYeo3pEo5
    4c/data","expiration_ts":"2024-12-04T08:45:10.722Z","expiration_count":null}
  • 生成されたURLにブラウザからアクセスをしてみます。

列ごとのグループ化とUIオプションをテーブルビューで確認する

  • PAR URLにクエリパラメータとして、?view=tableを指定すると、表形式で表示することができます。
    画像14.png

  • ブラウザ上で、PAR URL一時的に公開されたデータを見ることができます。また、表示形式を表形式にすることもできております。また、PAR URLを作成する際に設定したように列ごとのグループ化もできております。

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?