Usar SODA para REST com Autonomous Database
O Autonomous Database suporta SODA (Simple Oracle Document Access) para REST.
- Visão Geral do Uso de SODA para REST
SODA para REST é um serviço REST pré-implantado que pode ser usado para armazenar documentos JSON no seu banco de dados. - Carregar Dados de Amostra de Ordem de Compra Usando SODA para REST
A Oracle fornece um conjunto substancial de documentos de ordem de compra JSON, no arquivo de texto sem formataçãoPOList.json
, como um array JSON de objetos, em que cada objeto representa um documento. - Usar SODA para REST com Credenciais do Cliente OAuth
Você pode acessar o SODA para REST no Autonomous Database usando a autenticação OAuth. Dependendo do seu aplicativo, o acesso ao SODA para REST com autenticação OAuth pode melhorar o desempenho e a segurança.
Tópico principal: Desenvolvendo Serviços RESTful no Autonomous Database
Visão Geral do Uso do SODA para REST
O SODA permite o desenvolvimento de aplicativos flexíveis no estilo NoSQL sem precisar usar SQL. Com o SODA, os documentos JSON são armazenados em coleções nomeadas e gerenciados usando operações CRUD simples (criar, ler, atualizar e excluir). E embora o SQL não seja necessário, o JSON armazenado em coleções SODA ainda é totalmente acessível a partir do SQL quando necessário. Por exemplo, um aplicativo operacional pode ser totalmente criado usando SODA (sem SQL), mas os dados podem ser analisados posteriormente usando SQL de fora do aplicativo. O Autonomous Database SODA oferece aos desenvolvedores de aplicativos o melhor dos mundos NoSQL e SQL - desenvolvimento de aplicativos rápido, flexível e escalável sem perder a capacidade de aproveitar o SQL para análise e geração de relatórios.
O SODA para REST é implantado no ORDS no seguinte padrão de URL, em que esquema corresponde a um esquema de banco de dados ativado para REST.
/ords/schema/soda/latest/*
Os exemplos a seguir usam a ferramenta de linha de comando cURL (http://curl.haxx.se/) para enviar solicitações REST ao banco de dados. No entanto, outros clientes REST e bibliotecas 3rd party também devem funcionar. Os exemplos usam o esquema de banco de dados ADMIN
, que é ativado para REST. Você pode SODA para REST com comandos cURL no Oracle Cloud Shell.
Este comando cria uma nova coleção chamada "fruit" no esquema ADMIN
:
> curl -X PUT -u 'ADMIN:<password>' \
"https://example-db.adb.us-phoenix-1.oraclecloudapps.com/ords/admin/soda/latest/fruit"
Estes comandos inserem três documentos JSON na coleção de frutas:
> curl -X POST -u 'ADMIN:<password>' \
-H "Content-Type: application/json" --data '{"name":"orange", "count":42}' \
"https://example-db.adb.us-phoenix-1.oraclecloudapps.com/ords/admin/soda/latest/fruit"
{"items":[{"id":"6F7E5C60197E4C8A83AC7D7654F2E375"...
> curl -X POST -u 'ADMIN:<password>' \
-H "Content-Type: application/json" --data '{"name":"pear", "count":5}' \
"https://example-db.adb.us-phoenix-1.oraclecloudapps.com/ords/admin/soda/latest/fruit"
{"items":[{"id":"83714B1E2BBA41F7BA4FA93B109E1E85"...
> curl -X POST -u 'ADMIN:<password>' \
-H "Content-Type: application/json" \
--data '{"name":"apple", "count":12, "color":"red"}' \
"https://example-db.adb.us-phoenix-1.oraclecloudapps.com/ords/admin/soda/latest/fruit"
{"items":[{"id":"BAD7EFA9A2AB49359B8F5251F0B28549"...
Este exemplo recupera um documento JSON armazenado da coleção:
> curl -X POST -u 'ADMIN:<password>' \
-H "Content-Type: application/json" --data '{"name":"orange"}' \
"https://example-db.adb.us-phoenix-1.oraclecloudapps.com/ords/admin/soda/latest/fruit?action=query"
{
"items": [
{
"id":"6F7E5C60197E4C8A83AC7D7654F2E375",
"etag":"57215643953D7C858A7CB28E14BB48549178BE307D1247860AFAB2A958400E16",
"lastModified":"2019-07-12T19:00:28.199666Z",
"created":"2019-07-12T19:00:28.199666Z",
"value":{"name":"orange", "count":42}
}
],
"hasMore":false,
"count":1
}
Esta consulta SQL acessa a coleção de frutas:
SELECT
f.json_document.name,
f.json_document.count,
f.json_document.color
FROM fruit f;
A consulta retorna estas três linhas:
name count color
--------- --------- -------
orange 42 null
pear 5 null
apple 12 red
Se você estiver usando o Autonomous Database Always Free com o Oracle Database 23ai, a Oracle recomenda o seguinte:
Para projetos que foram iniciados usando uma release de banco de dados anterior ao Oracle Database 21c, especifique explicitamente os metadados para a coleta padrão, conforme especificado no exemplo na seção Drivers SODA. Para projetos que começaram a usar a release 21c ou posterior do Oracle Database, basta usar os metadados padrão. Consulte Drivers de SODA para obter mais informações.
Estes exemplos mostram um subconjunto dos recursos SODA e SQL/JSON. Para obter mais informações, consulte:
-
SODA para REST para obter informações completas sobre o SODA (Simple Oracle Document Access)
-
SODA para Operações HTTP REST para obter informações sobre o SODA para operações HTTP REST
Tópico principal: Usar SODA para REST com Autonomous Database
Carregar Amostra de Dados da Ordem de Compra Usando SODA para REST
A Oracle fornece um conjunto substancial de documentos de ordem de compra JSON, no arquivo de texto sem formatação POList.json
, como um array JSON de objetos, em que cada objeto representa um documento.
Os exemplos a seguir usam a ferramenta de linha de comando cURL (http://curl.haxx.se/) para enviar solicitações REST ao banco de dados. No entanto, outros clientes REST e bibliotecas 3rd party também devem funcionar. Os exemplos usam o esquema de banco de dados ADMIN
, que é ativado para REST. Você pode usar o SODA para REST com comandos cURL no Oracle Cloud Shell.
Você pode carregar esse conjunto de dados de ordem de compra de amostra em uma coleção purchaseorder
no seu Autonomous Database com SODA para REST, usando estes comandos curl:
curl -X GET "https://raw.githubusercontent.com/oracle/db-sample-schemas/master/order_entry/POList.json" -o POList.json
curl -X PUT -u 'ADMIN:password' \
"https://example-db.adb.us-phoenix-1.oraclecloudapps.com/ords/admin/soda/latest/purchaseorder"
curl -X POST -H -u 'ADMIN:password' 'Content-type: application/json' -d @POList.json \
"https://example-db.adb.us-phoenix-1.oraclecloudapps.com/ords/admin/soda/latest/purchaseorder?action=insert"
Em seguida, você pode usar esses dados de ordem de compra para experimentar exemplos no Oracle Database JSON Developer's Guide.
Por exemplo, a consulta a seguir seleciona o id
de um documento JSON e os valores da coleção de ordem de compra JSON armazenados na coluna json_document
da tabela purchaseorder
. Os valores selecionados são dos campos PONumber
, Reference
e Requestor
da coluna json_document
JSON, que são projetados do documento como colunas virtuais (consulte Cláusula SQL NESTED em vez de JSON_TABLE para obter mais informações).
SELECT id, t.*
FROM purchaseorder
NESTED json_document COLUMNS(PONumber, Reference, Requestor) t;
Para obter mais informações, consulte:
-
SODA para REST para obter informações completas sobre o SODA (Simple Oracle Document Access)
-
SODA para Operações HTTP REST para obter informações sobre o SODA para operações HTTP REST
Tópico principal: Usar SODA para REST com Autonomous Database
Use SODA para REST com Credenciais do Cliente OAuth
Você pode acessar o SODA para REST no Autonomous Database usando a autenticação OAuth. Dependendo do seu aplicativo, o acesso ao SODA para REST com autenticação OAuth pode melhorar o desempenho e a segurança.
Execute as seguintes etapas para usar a autenticação OAuth a fim de fornecer acesso limitado ao SODA para REST no Autonomous Database:
Consulte Configurando o Acesso Seguro aos Serviços RESTful para obter informações completas sobre o acesso seguro aos Serviços RESTful.
Tópico principal: Usar SODA para REST com Autonomous Database