Usa SODA per REST con Autonomous Database
Autonomous Database supporta l'accesso SOA (Simple Oracle Document Access) per REST.
- Panoramica sull'utilizzo di SODA per REST
SODA per REST è un servizio REST predeployed che può essere utilizzato per memorizzare i documenti JSON nel database. - Caricare i dati di esempio degli ordini di acquisto mediante SODA per REST
Oracle fornisce un set sostanziale di documenti di ordine di acquisto JSON, nel file di testo non codificatoPOList.json
, come array JSON di oggetti, in cui ogni oggetto di questo tipo rappresenta un documento. - Usa SODA per REST con 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 servizi RESTful in Autonomous Database
Panoramica dell'utilizzo di SODA per REST
SODA consente lo sviluppo di applicazioni flessibili 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, 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 dei mondi NoSQL e SQL: sviluppo di applicazioni rapido, flessibile e scalabile senza perdere la possibilità di sfruttare SQL per analytics e reporting.
SODA per REST viene distribuito in ORDS con il pattern URL seguente, dove schema corrisponde a uno schema di database abilitato per REST.
/ords/schema/soda/latest/*
Negli esempi riportati di seguito viene utilizzato lo strumento della riga di comando cURL (http://curl.haxx.se/) per sottomettere richieste REST al database. Tuttavia, dovrebbero funzionare anche altri client REST e librerie 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"...
In questo esempio viene recuperato 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 dei frutti:
SELECT
f.json_document.name,
f.json_document.count,
f.json_document.color
FROM fruit f;
La query restituisce le tre righe riportate di seguito.
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 riportato di seguito.
Per i progetti 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 Oracle Database 21c o versioni successive, utilizzare solo i metadati predefiniti. Per ulteriori informazioni, vedere Driver SODA.
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 sull'accesso semplice ai documenti Oracle (SODA)
-
SODA per le operazioni HTTP REST per informazioni sulle operazioni HTTP SODA per REST
Argomento padre: Usa 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 in chiaro POList.json
, come array JSON di oggetti, in cui ogni oggetto di questo tipo rappresenta un documento.
Negli esempi riportati di seguito viene utilizzato lo strumento della riga di comando cURL (http://curl.haxx.se/) per sottomettere richieste REST al database. Tuttavia, dovrebbero funzionare anche altri client REST e librerie 3rd party. Gli esempi utilizzano lo schema di database ADMIN
, abilitato per REST. È possibile utilizzare SODA per REST con i comandi cURL di Oracle Cloud Shell.
È possibile caricare questo set di dati di ordine di acquisto di esempio in una raccolta purchaseorder
nell'Autonomous Database con SODA per REST utilizzando i seguenti comandi 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"
È 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 della 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 sull'accesso semplice ai documenti Oracle (SODA)
-
SODA per le operazioni HTTP REST per informazioni sulle operazioni HTTP SODA per REST
Argomento padre: Usa 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 un 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: Usa SODA per REST con Autonomous Database