SODA for REST mit Autonomous Database verwenden
Autonomous Database unterstützt Simple Oracle Document Access (SODA) für REST.
- SODA for REST verwenden - Überblick
SODA for REST ist ein vorab bereitgestellter REST-Service, mit dem JSON-Dokumente in Ihrer Datenbank gespeichert werden können. - Beispieldaten für Bestellungen mit SODA for REST laden
Oracle stellt ein umfangreiches Set von JSON-Bestelldokumenten in der Nur-Text-DateiPOList.json
als JSON-Objektarray bereit, wobei jedes dieser Objekte ein Dokument darstellt. - SODA for REST mit OAuth Clientzugangsdaten verwenden
Sie können mit der OAuth-Authentifizierung auf SODA for REST in Autonomous Database zugreifen. Je nach Anwendung kann der Zugriff auf SODA for REST mit der OAuth-Authentifizierung die Performance und Sicherheit verbessern.
Übergeordnetes Thema: RESTful-Services in Autonomous Database entwickeln
Überblick über die Verwendung von SODA for REST
SODA ermöglicht eine flexible Anwendungsentwicklung im NoSQL-Stil, ohne SQL verwenden zu müssen. Mit SODA werden JSON-Dokumente in benannten Sammlungen gespeichert und mit einfachen CRUD-Vorgängen (Erstellen, Lesen, Aktualisieren und Löschen) verwaltet. Und obwohl SQL nicht erforderlich ist, ist JSON, das in SODA-Collections gespeichert ist, bei Bedarf weiterhin vollständig über SQL zugänglich. Beispiel: Eine operative Anwendung kann vollständig mit SODA (ohne SQL) erstellt werden, die Daten können jedoch später mit SQL von außerhalb der Anwendung analysiert werden. Autonomous Database SODA bietet Anwendungsentwicklern das Beste aus der NoSQL- und SQL-Welt - schnelle, flexible und skalierbare Anwendungsentwicklung, ohne die Möglichkeit zu verlieren, SQL für Analysen und Berichte zu nutzen.
SODA for REST wird in ORDS unter dem folgenden URL-Muster bereitgestellt, wobei schema einem REST-fähigen Datenbankschema entspricht.
/ords/schema/soda/latest/*
Die folgenden Beispiele verwenden das cURL-Befehlszeilentool (http://curl.haxx.se/), um REST-Anforderungen an die Datenbank weiterzuleiten. Andere REST-Clients und -Bibliotheken der 3. Partei sollten jedoch ebenfalls funktionieren. In den Beispielen wird das Datenbankschema ADMIN
verwendet, das REST-fähig ist. Sie können SODA for REST mit cURL-Befehlen aus der Oracle Cloud Shell verwenden.
Mit diesem Befehl wird eine neue Collection namens "fruit" im Schema ADMIN
erstellt:
> curl -X PUT -u 'ADMIN:<password>' \
"https://example-db.adb.us-phoenix-1.oraclecloudapps.com/ords/admin/soda/latest/fruit"
Diese Befehle fügen drei JSON-Dokumente in die Frucht-Sammlung ein:
> 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 diesem Beispiel wird ein gespeichertes JSON-Dokument aus der Collection abgerufen:
> 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
}
Diese SQL-Abfrage greift auf die Frucht-Collection zu:
SELECT
f.json_document.name,
f.json_document.count,
f.json_document.color
FROM fruit f;
Die Abfrage gibt die folgenden drei Zeilen zurück:
name count color
--------- --------- -------
orange 42 null
pear 5 null
apple 12 red
Wenn Sie Autonomous Database vom Typ "Immer kostenlos" mit Oracle Database 23ai verwenden, empfiehlt Oracle Folgendes:
Für Projekte, die mit einem Datenbankrelease vor Oracle Database 21c gestartet wurden, geben Sie explizit die Metadaten für die Standarderfassung an, wie im Beispiel im Abschnitt "SODA-Treiber" angegeben. Verwenden Sie für Projekte, die mit Release Oracle Database 21c oder höher gestartet wurden, einfach die Standardmetadaten. Weitere Informationen finden Sie unter SODA-Treiber.
Diese Beispiele zeigen eine Teilmenge der SODA- und SQL/JSON-Funktionen. In den folgenden Themen finden Sie weitere Informationen:
-
SODA for REST für vollständige Informationen zu Simple Oracle Document Access (SODA)
-
SODA for REST HTTP Operations für Informationen zu den HTTP-Vorgängen von SODA for REST
Übergeordnetes Thema: SODA for REST mit Autonomous Database verwenden
Beispieldaten für Bestellungen mit SODA for REST laden
Oracle stellt ein umfangreiches Set von JSON-Bestelldokumenten in der Nur-Text-Datei POList.json
als JSON-Array von Objekten bereit, wobei jedes dieser Objekte ein Dokument darstellt.
Die folgenden Beispiele verwenden das cURL-Befehlszeilentool (http://curl.haxx.se/), um REST-Anforderungen an die Datenbank weiterzuleiten. Andere REST-Clients und -Bibliotheken der 3. Partei sollten jedoch ebenfalls funktionieren. In den Beispielen wird das Datenbankschema ADMIN
verwendet, das REST-fähig ist. Sie können SODA for REST mit cURL-Befehlen aus der Oracle Cloud Shell verwenden.
Sie können dieses Beispiel-Kaufauftrags-Dataset mit den folgenden curl-Befehlen in eine Collection purchaseorder
in Ihrer Autonomous Database mit SODA for REST laden:
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"
Anhand dieser Bestelldaten können Sie dann Beispiele im Oracle Database JSON Developer's Guide ausprobieren.
Beispiel: Die folgende Abfrage wählt sowohl die id
eines JSON-Dokuments als auch Werte aus der JSON-Bestellauflistung aus, die in Spalte json_document
der Tabelle purchaseorder
gespeichert ist. Die ausgewählten Werte stammen aus den Feldern PONumber
, Reference
und Requestor
der JSON-Spalte json_document
, die aus dem Dokument als virtuelle Spalten projiziert werden (weitere Informationen finden Sie unter SQL NESTED-Klausel anstelle von JSON_TABLE).
SELECT id, t.*
FROM purchaseorder
NESTED json_document COLUMNS(PONumber, Reference, Requestor) t;
In den folgenden Themen finden Sie weitere Informationen:
-
SODA for REST für vollständige Informationen zu Simple Oracle Document Access (SODA)
-
SODA for REST HTTP Operations für Informationen zu den HTTP-Vorgängen von SODA for REST
Übergeordnetes Thema: SODA for REST mit Autonomous Database verwenden
SODA for REST mit OAuth-Clientzugangsdaten verwenden
Sie können mit der OAuth-Authentifizierung auf SODA for REST in Autonomous Database zugreifen. Je nach Anwendung kann der Zugriff auf SODA for REST mit der OAuth-Authentifizierung die Performance und Sicherheit verbessern.
Führen Sie die folgenden Schritte aus, um die OAuth-Authentifizierung zu verwenden und einen eingeschränkten Zugriff auf SODA for REST in Autonomous Database bereitzustellen:
Vollständige Informationen zum sicheren Zugriff auf RESTful-Services finden Sie unter Sicheren Zugriff auf RESTful-Services konfigurieren.
Übergeordnetes Thema: SODA for REST mit Autonomous Database verwenden