Acessar Dados com Hiperlinks de Tabela ou com um Grupo de Hiperlinks de Tabela

Os dados do Hiperlink da Tabela são recuperados e retornados no formato JSON e são paginados.

Você pode acessar os dados do Hiperlink de Tabela usando um navegador ou qualquer cliente REST. Os dados retornados são paginados para permitir que você acesse no máximo 100 registros por vez, com o tamanho total dos dados na resposta limitado a 1 MB. Você pode fornecer o parâmetro de consulta limit para limitar o número de registros extraídos. A recuperação de dados do Hiperlink de Tabela será bloqueada se a autenticação do Hiperlink de Tabela falhar ou se o Hiperlink de Tabela solicitado tiver expirado.

Observação

Os dados do Hiperlink da Tabela podem ser exibidos em formato tabular quando acessados de um browser. Consulte Usar Hiperlinks de Tabela para Acessar Dados no Formato de Tabela para obter detalhes.

Usar Hiperlink de Tabela para Acessar Dados

Os dados do Hiperlink da Tabela são recuperados e retornados no formato JSON e são paginados.

Por exemplo, para usar um Hiperlink de Tabela e processar a resposta:

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

A resposta do Hiperlink de Tabela inclui links para qualquer página anterior ou próxima, quando os dados incluem mais de uma página. Isso permite que você navegue em qualquer direção ao extrair dados. O JSON também inclui um link self que aponta para a página atual, bem como um atributo hasMore que indica se há mais dados disponíveis para extração.

Este é o formato de resposta:

{
    "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}"
        }
    ]
}

Por exemplo, veja a seguir um exemplo de resposta de um Hiperlink de Tabela (com novas linhas adicionadas para maior clareza):

{"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"}
]}

Usar Hiperlink de Tabela para Acessar Dados com Variáveis de Bind

Se houver uma variável de bind na instrução SELECT ao gerar um Hiperlink de Tabela, você deverá usar o parâmetro default_bind_values ao gerar o Hiperlink de Tabela para especificar um valor de variável de bind padrão ou deverá especificar um valor de variável de bind como um parâmetro de consulta para acessar os dados do Hiperlink de Tabela.

O suporte a variáveis de bind está disponível para os tipos de coluna NUMBER e VARCHAR2.

Por exemplo, quando um Hiperlink de Tabela é gerado com a seguinte instrução SQL sem o parâmetro default_bind_values:

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

Você deve anexar uma variável de bind e especificar um valor como parâmetro de consulta para acessar os dados. Por exemplo:

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

O valor de bind não precisa ser especificado no URL quando o DBMS_DATA_ACCESS.CREATE_URL inclui o parâmetro default_bind_values:

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

No caso em que default_bind_values define um valor para uma variável, você não precisa fornecer o valor como um parâmetro de consulta (o valor padrão é fornecido):

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"}
]}

Quando default_bind_values define um valor de variável de bind, você pode substituir o valor de variável de bind especificando explicitamente um valor como um parâmetro de consulta. Por exemplo:

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

Consulte CREATE_URL Procedures para obter mais informações.

Usar um Grupo de Hiperlinks de Tabela para Acessar Dados

Os dados do Grupo de Hiperlinks da Tabela são recuperados e retornados no formato JSON e são paginados.

Por exemplo, para usar um Grupo de Hiperlink de Tabela e processar a resposta:

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

A resposta do Grupo de Hiperlinks da Tabela inclui as informações do URL do membro.

Por exemplo, o seguinte é um exemplo de resposta para um grupo de hiperlinks de tabela:

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

Em seguida, você pode usar a seguinte API REST para acessar os dados de um membro do Grupo de Hiperlinks da Tabela, usando um dos valores member_id fornecidos. Por exemplo:

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}"
        }
    ]
}