機械翻訳について

表ハイパーリンクまたは表ハイパーリンク・グループを使用したデータへのアクセス

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

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

表ハイパーリンクまたは表ハイパーリンク・グループを作成する場合、consistentパラメータを設定して、コンシューマがデータにアクセスするときに、プロデューサが様々なページ間で一貫してデータを提供するように指定できます。 consistentTRUEに設定されている場合、プロデューサは、複数のページのデータにアクセスするコンシューマに一貫性のあるデータを提供します。 つまり、表ハイパーリンクに関連付けられたページに対するコンシューマの最初のアクセスおよび後続のデータ・リクエストでは、最初のページのリクエストと同じデータ・スナップショット(SCN)が使用されます。

ノート:

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

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

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

たとえば、表ハイパーリンクを使用してレスポンスを処理するには:

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列タイプで使用できます。

たとえば、表ハイパーリンクが次のSQL文で生成され、default_bind_valuesパラメータを指定しない場合です。

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.CREATE_URLdefault_bind_valuesパラメータが含まれている場合、URLにバインド値を指定する必要はありません:

たとえば、DBMS_DATA_ACCESS.CREATE_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

詳細については、「CREATE_URLプロシージャ」を参照してください。

パスワード保護表ハイパーリンクのデータへのアクセス

passwordパラメータをDBMS_DATA_ACCESS.CREATE_URLに含めて、パスワードで保護された表のハイパーリンクを作成する場合は、URL値とともに、パスワードをコンシューマと共有する必要があります。 コンシューマは、URLとパスワードの両方を使用してデータにアクセスし、パスワードを指定して、RESTを介した基本認証を使用してデータにアクセスします。

たとえば:

HEADER
Authorization: Basic password
GET https://dataaccess.adb.us-ashburn-1.oraclecloudapps.com/adb/p/Vdtv..._example_wxd0PN/data

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

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

たとえば、表ハイパーリンク・グループを使用してレスポンスを処理するには、次のようにします:

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

表のハイパーリンク・グループのレスポンスには、メンバーURL情報が含まれます。

たとえば、表ハイパーリンク・グループのレスポンスの例を次に示します:

{  "member_urls": [
    {      
      "id": "{member_id}",
      "name": "{member_name}",
      "description": "{member_description}" 
    },
    .....
    ]
}

次に、次のREST APIを使用して、指定されたmember_id値のいずれかを使用して、表ハイパーリンク・グループ・メンバーのデータにアクセスできます。 たとえば:

Get https://dataaccess.adb.{region_name}.oraclecloudapps.com/adb/p/{group_par_url_token}/data?member_id={member_id}
 
Response
200 OK - Success
 
{
    "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 for the current page}"
        },
        {
            "rel": "previous",
            "href": "{Link to Table Hyperlink for the previous page}"
        },
        {
            "rel": "next",
            "href": "{Link to Table Hyperlink for the next page}"
        }
    ]
}