Usar SODA for REST com Autonomous Database
O Autonomous Database suporta o Simple Oracle Document Access (SODA) para REST.
- Visão Geral do Uso do SODA for REST
SODA for REST é um serviço REST pré-implantado que pode ser usado para armazenar documentos JSON em seu banco de dados. - Carregar Dados de Amostra da Ordem de Compra Usando SODA para REST
A Oracle fornece um conjunto substancial de documentos JSON da ordem de compra, em formato de arquivo de texto simplesPOList.json
, como um array JSON de objetos, em que cada objeto representa um documento. - Usar o SODA for REST com Credenciais do Cliente OAuth
Você pode acessar o SODA for REST no Autonomous Database usando a autenticação OAuth. Dependendo do seu aplicativo, o acesso ao SODA for 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 for 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 obrigatório, o JSON armazenado nas coleções SODA ainda estará totalmente acessível no SQL quando necessário. Por exemplo, um aplicativo operacional pode ser totalmente criado usando SODA (sem SQL), mas os dados podem ser posteriormente analisados usando SQL fora do aplicativo. O SODA do Autonomous Database 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 relatório.
O SODA for REST é implantado no ORDS sob o seguinte padrão de URL, em que o 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 usar o SODA for REST com comandos cURL no Oracle Cloud Shell.
Esse 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 fruit:
> 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 da coleção um documento JSON armazenado:
> 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 fruit:
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 do banco de dados anterior ao Oracle Database 21c, especifique explicitamente os metadados da coleção padrão conforme especificado no exemplo da seção Drivers SODA. Para projetos iniciados usando a release Oracle Database 21c ou mais recente, basta usar os metadados padrão. Consulte SODA Drivers para obter mais informações.
Esses exemplos mostram um subconjunto dos recursos SODA e SQL/JSON. Para obter mais informações, consulte:
-
SODA for REST para obter informações completas sobre o Simple Oracle Document Access (SODA)
-
Operações HTTP do SODA for REST para obter informações sobre as operações HTTP do SODA for REST
Tópico principal: Usar o SODA for REST com o Autonomous Database
Carregar Amostra de Dados da Ordem de Compra Usando o SODA for REST
A Oracle fornece um conjunto substancial de documentos JSON de ordem de compra, em formato de arquivo de texto simples 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 for 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 o SODA for 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"
Você pode usar esses dados de ordem de compra para testar 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 JSON de ordem de compra armazenada na coluna json_document
da tabela purchaseorder
. Os valores selecionados são dos campos PONumber
, Reference
e Requestor
da coluna JSON json_document
, que são projetados com base no 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 for REST para obter informações completas sobre o Simple Oracle Document Access (SODA)
-
Operações HTTP do SODA for REST para obter informações sobre as operações HTTP do SODA for REST
Tópico principal: Usar o SODA for REST com o Autonomous Database
Use SODA for REST with OAuth Client Credentials
Você pode acessar o SODA for REST no Autonomous Database usando a autenticação OAuth. Dependendo do seu aplicativo, o acesso ao SODA for REST com autenticação OAuth pode melhorar o desempenho e a segurança.
Execute as seguintes etapas para usar a autenticação OAuth para fornecer acesso limitado ao SODA for REST no Autonomous Database:
Consulte Configurando o Acesso Seguro para os Serviços RESTful para obter informações completas sobre o acesso seguro aos Serviços RESTful.
Tópico principal: Usar o SODA for REST com o Autonomous Database