Usa SODA per REST con Autonomous Database
Autonomous Database supporta il SOA (Simple Oracle Document Access) per REST.
- Panoramica dell'utilizzo di SODA per REST
SODA per REST è un servizio REST pre-distribuito che può essere utilizzato per memorizzare i documenti JSON nel database. - Carica dati di esempio degli ordini di acquisto mediante SODA per REST
Oracle fornisce un set sostanziale di documenti degli ordini di acquisto JSON, nel file di testo normalePOList.json
, come un array JSON di oggetti, in cui ciascun oggetto rappresenta un documento. - Usa SODA per REST con le credenziali client OAuth
È possibile accedere a SODA per REST su Autonomous Database utilizzando l'autenticazione OAuth. A seconda dell'applicazione, l'accesso a SODA per REST con l'autenticazione OAuth può migliorare le prestazioni e la sicurezza.
Argomento padre: sviluppo di RESTful Services in Autonomous Database
Panoramica sull'uso di SODA per REST
SODA consente lo sviluppo flessibile di applicazioni in stile NoSQL senza dover utilizzare SQL. Con SODA, i documenti JSON vengono memorizzati in raccolte denominate e gestiti utilizzando semplici operazioni CRUD (creazione, lettura, aggiornamento ed eliminazione). Inoltre, sebbene SQL non sia necessario, il JSON memorizzato nelle raccolte SODA è ancora completamente accessibile da SQL quando necessario. Ad esempio, un'applicazione operativa può essere completamente creata utilizzando SODA (senza SQL), ma i dati possono essere successivamente analizzati utilizzando SQL dall'esterno dell'applicazione. Autonomous Database SODA offre agli sviluppatori di applicazioni il meglio del mondo NoSQL e SQL: sviluppo di applicazioni rapido, flessibile e scalabile senza perdere la possibilità di sfruttare SQL per gli analytics e il reporting.
SODA per REST viene distribuito in ORDS nel seguente pattern di URL, dove schema corrisponde a uno schema di database abilitato per REST.
/ords/schema/soda/latest/*
Gli esempi riportati di seguito utilizzano lo strumento della riga di comando cURL (http://curl.haxx.se/) per sottomettere richieste REST al database. Tuttavia, dovrebbero funzionare anche altri client e librerie REST 3rd party. Gli esempi utilizzano lo schema di database ADMIN
, abilitato per REST. È possibile eseguire SODA per REST con i comandi cURL da Oracle Cloud Shell.
Questo comando crea una nuova raccolta denominata "fruit" nello schema ADMIN
:
> curl -X PUT -u 'ADMIN:<password>' \
"https://example-db.adb.us-phoenix-1.oraclecloudapps.com/ords/admin/soda/latest/fruit"
Questi comandi inseriscono tre documenti JSON nella raccolta di frutta:
> 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"...
Questo esempio recupera un documento JSON memorizzato dalla raccolta:
> 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
}
Questa query SQL accede alla raccolta di frutta:
SELECT
f.json_document.name,
f.json_document.count,
f.json_document.color
FROM fruit f;
La query restituisce le tre righe seguenti:
name count color
--------- --------- -------
orange 42 null
pear 5 null
apple 12 red
Se si utilizza Autonomous Database Sempre gratis con Oracle Database 23ai, Oracle consiglia quanto segue:
Per i progetti che sono stati avviati utilizzando una release di database precedente a Oracle Database 21c, specificare in modo esplicito i metadati per la raccolta predefinita come specificato nell'esempio nella sezione Driver SODA. Per i progetti che hanno iniziato a utilizzare la release 21c o successiva di Oracle Database, utilizzare solo i metadati predefiniti. Per ulteriori informazioni, vedere Driver SOA.
Questi esempi mostrano un subset delle funzioni SODA e SQL/JSON. Per ulteriori informazioni, vedere gli argomenti riportati di seguito.
-
SODA per REST per informazioni complete su Simple Oracle Document Access (SODA)
-
SODA per operazioni HTTP REST per informazioni su SODA per operazioni HTTP REST
Argomento padre: usare SODA per REST con Autonomous Database
Carica dati campione ordine di acquisto mediante SODA per REST
Oracle fornisce un set sostanziale di documenti di ordine di acquisto JSON, nel file di testo normale POList.json
, come un array JSON di oggetti, in cui ciascun oggetto rappresenta un documento.
Gli esempi riportati di seguito utilizzano lo strumento della riga di comando cURL (http://curl.haxx.se/) per sottomettere richieste REST al database. Tuttavia, dovrebbero funzionare anche altri client e librerie REST 3rd party. Gli esempi utilizzano lo schema di database ADMIN
, abilitato per REST. È possibile utilizzare SODA per REST con i comandi cURL da Oracle Cloud Shell.
È possibile caricare questo set di dati dell'ordine di acquisto di esempio in una raccolta purchaseorder
in Autonomous Database con SODA per REST, utilizzando i comandi curl riportati di seguito.
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"
È quindi possibile utilizzare questi dati degli ordini di acquisto per provare esempi in Oracle Database JSON Developer's Guide.
Ad esempio, la query seguente seleziona sia il valore id
di un documento JSON che i valori dalla raccolta di ordini di acquisto JSON memorizzata nella colonna json_document
della tabella purchaseorder
. I valori selezionati provengono dai campi PONumber
, Reference
e Requestor
della colonna JSON json_document
, che vengono proiettati dal documento come colonne virtuali (per ulteriori informazioni, vedere Clausola SQL NESTED anziché JSON_TABLE).
SELECT id, t.*
FROM purchaseorder
NESTED json_document COLUMNS(PONumber, Reference, Requestor) t;
Per ulteriori informazioni, vedere gli argomenti riportati di seguito.
-
SODA per REST per informazioni complete su Simple Oracle Document Access (SODA)
-
SODA per operazioni HTTP REST per informazioni su SODA per operazioni HTTP REST
Argomento padre: usare SODA per REST con Autonomous Database
Usa SODA per REST con credenziali client OAuth
Puoi accedere a SODA per REST su Autonomous Database utilizzando l'autenticazione OAuth. A seconda dell'applicazione, l'accesso a SODA per REST con l'autenticazione OAuth può migliorare le prestazioni e la sicurezza.
Eseguire i passi riportati di seguito per utilizzare l'autenticazione OAuth per fornire accesso limitato a SODA per REST su Autonomous Database.
Per informazioni complete sull'accesso sicuro ai servizi RESTful, vedere Configuring Secure Access to RESTful Services.
Argomento padre: usare SODA per REST con Autonomous Database