表ハイパーリンクを使用したデータへのアクセス

表ハイパーリンク・データは、JSON形式で取得および返され、ページ区切りされます。

ノート

表ハイパーリンク・データは、ブラウザからアクセスすると表形式で表示できます。詳細は、表ハイパーリンクを使用した表形式のデータへのアクセスを参照してください。

ブラウザまたは任意のRESTクライアントを使用して、表ハイパーリンク・データにアクセスできます。返されるデータは、一度に最大100レコードにアクセスできるようにページ区切りで、レスポンスの合計データ・サイズは1MBに制限されます。limit問合せパラメータを指定して、フェッチされるレコード数を制限できます。表ハイパーリンク・データの取得は、表ハイパーリンク認証が失敗した場合、またはリクエストされた表ハイパーリンクの有効期限が切れている場合にブロックされます。

たとえば、表ハイパーリンクを使用します。

curl https://dataaccess.adb.us-chicago-1.oraclecloudapps.com/adb/p/K6XExample/data

データに複数のページが含まれる場合、表ハイパーリンク・レスポンスには、前または次のページのリンクが含まれます。これにより、データのフェッチ中にどちらの方向にもナビゲートできます。JSONには、現在のページを指すselfリンクと、フェッチできるデータがさらにあるかどうかを示すhasMore属性も含まれています。

次に、レスポンス形式を示します。

{
    "items": [],                 <-- Array of records from database
    "hasMore": true OR false,    <-- Indicates if there are more records to fetch or not
    "limit": Number,             <-- Indicates number of records in the page. Maximum allowed number is 100.
    "offset": Number,            <-- Offset indicating the start of the current page
    "count": Number,             <-- Count of records in the current page
    "links": [
        {
            "rel": "self",
            "href": "{Link to table hyperlink url for the current page}"
        },
        {
            "rel": "previous",
            "href": "{Link to table hyperlink url for the previous page}"
        },
        {
            "rel": "next",
            "href": "{Link to table hyperlink url for the next page}"
        }
    ]
}

たとえば、表ハイパーリンクからのサンプル・レスポンスを次に示します(わかりやすくするために改行が追加されています)。

{"items":[
{"COUNTY":"Main","SPECIES":"Alder","HEIGHT":45},
{"COUNTY":"First","SPECIES":"Chestnut","HEIGHT":51},{"COUNTY":"Main","SPECIES":"Hemlock","HEIGHT":17},
{"COUNTY":"Main","SPECIES":"Douglas-fir","HEIGHT":34},{"COUNTY":"First","SPECIES":"Larch","HEIGHT":12},
{"COUNTY":"Main","SPECIES":"Cedar","HEIGHT":21},{"COUNTY":"First","SPECIES":"Douglas-fir","HEIGHT":10},
{"COUNTY":"Main","SPECIES":"Yew","HEIGHT":11},{"COUNTY":"First","SPECIES":"Willow","HEIGHT":17},
{"COUNTY":"Main","SPECIES":"Pine","HEIGHT":29},{"COUNTY":"First","SPECIES":"Pine","HEIGHT":16},
{"COUNTY":"First","SPECIES":"Spruce","HEIGHT":6},{"COUNTY":"Main","SPECIES":"Spruce","HEIGHT":8},
{"COUNTY":"First","SPECIES":"Hawthorn","HEIGHT":19},{"COUNTY":"First","SPECIES":"Maple","HEIGHT":16},
{"COUNTY":"Main","SPECIES":"Aspen","HEIGHT":35},{"COUNTY":"First","SPECIES":"Larch","HEIGHT":27},
{"COUNTY":"First","SPECIES":"Cherry","HEIGHT":20},{"COUNTY":"Main","SPECIES":"Pine","HEIGHT":37},
{"COUNTY":"Main","SPECIES":"Redwood","HEIGHT":78},{"COUNTY":"Main","SPECIES":"Alder","HEIGHT":45},
{"COUNTY":"First","SPECIES":"Chestnut","HEIGHT":51},{"COUNTY":"Main","SPECIES":"Hemlock","HEIGHT":17},
{"COUNTY":"Main","SPECIES":"Douglas-fir","HEIGHT":34},{"COUNTY":"First","SPECIES":"Larch","HEIGHT":12},
{"COUNTY":"Main","SPECIES":"Cedar","HEIGHT":21},{"COUNTY":"First","SPECIES":"Douglas-fir","HEIGHT":10},
{"COUNTY":"Main","SPECIES":"Redwood","HEIGHT":78}],

"hasMore":false,
"limit":100,
"offset":0,
"count":30,
"links":
[
{"rel":"self",
"href":"https://dataaccess.adb.us-ashburn-1.oraclecloudapps.com/adb/p/F5Sn..._example/data"}
]}

表のハイパーリンクを使用したバインド変数によるデータへのアクセス

表ハイパーリンクの生成時にSELECT文にバインド変数がある場合、表ハイパーリンクの生成時にdefault_bind_valuesパラメータを使用してデフォルトのバインド変数値を指定するか、または表ハイパーリンク・データにアクセスするための問合せパラメータとしてバインド変数値を渡す必要があります。

バインド変数のサポートは、NUMBERおよびVARCHAR2列タイプで使用できます。

たとえば、default_bind_valuesパラメータを指定せずに次のSQL文を使用して表ハイパーリンクが生成される場合:

sql_statement = 'SELECT * FROM TREE_DATA WHERE COUNTY = :countyName'

データにアクセスするには、バインド変数を追加し、値を問合せパラメータとして指定する必要があります。たとえば:

curl https://dataaccess.adb.us-chicago-1.oraclecloudapps.com/adb/p/K6X...example/data?countyNAME=MAIN

DBMS_DATA_ACCESS.GET_PREAUTHENTICATED_URLdefault_bind_valuesパラメータが含まれている場合は、URLにバインド値を指定する必要はありません。

sql_statement = 'SELECT * FROM TREE_DATA WHERE COUNTY = :countyNAME',
default_bind_values => '{"countyNAME" : "First"}',

default_bind_valuesで変数の値を定義する場合、値を問合せパラメータとして指定する必要はありません(デフォルト値が指定されます)。

curl https://dataaccess.adb.us-chicago-1.oraclecloudapps.com/adb/p/K6X...example/data

{"items":[
{"COUNTY":"First","SPECIES":"Pine","HEIGHT":16},
{"COUNTY":"First","SPECIES":"Spruce","HEIGHT":6},
{"COUNTY":"First","SPECIES":"Hawthorn","HEIGHT":19},
{"COUNTY":"First","SPECIES":"Cherry","HEIGHT":20},
{"COUNTY":"First","SPECIES":"Chestnut","HEIGHT":51}],
"hasMore":false,
"limit":100,
"offset":0,
"count":6,
"links":
[
{"rel":"self",
"href":"https://dataaccess.adb.us-ashburn-1.oraclecloudapps.com/adb/p/gTlbq...example/data"}
]}

default_bind_valuesでバインド変数値を定義する場合、値を問合せパラメータとして明示的に指定することで、バインド変数値をオーバーライドできます。たとえば:

curl https://dataaccess.adb.us-chicago-1.oraclecloudapps.com/adb/p/K6X...example/data?countyNAME=MAIN

詳細は、GET_PREAUTHENTICATED_URLプロシージャを参照してください。