SODA for REST mit Autonomous Database verwenden
Autonomous Database unterstützt Simple Oracle Document Access (SODA) für REST.
- Überblick über die Verwendung von SODA for REST
SODA for REST ist ein im Voraus bereitgestellter REST-Service, mit dem JSON-Dokumente in der Datenbank gespeichert werden können. - Beispieldaten für Bestellungen mit SODA for REST laden
Oracle stellt eine umfangreiche Gruppe von Dokumenten für JSON-Bestellungen in der KlartextdateiPOList.json
als JSON-Array von Objekten bereit, wobei jedes derartige Objekt ein Dokument darstellt. - SODA for REST mit OAuth-Clientzugangsdaten verwenden
Sie können in Autonomous Database mit der OAuth-Authentifizierung auf SODA for REST zugreifen. Der Zugriff auf SODA for REST mit OAuth-Authentifizierung kann je nach Anwendung 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, bei der kein SQL verwendet werden muss. Mit SODA werden JSON-Dokumente in benannten Collections gespeichert und mit einfachen CRUD-Vorgängen (Erstellen, Lesen, Aktualisieren und Löschen) verwaltet. Und auch ohne SQL sind JSON-Dokumente, die in SODA-Sets gespeichert sind, 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 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 verwenden.
SODA for REST wird in ORDS unter dem folgenden URL-Muster bereitgestellt, wobei schemaeinem REST-fähigen Datenbankschema entspricht.
/ords/schema/soda/latest/*
In den folgenden Beispielen wird das Befehlszeilen-Tool cURL (http://curl.haxx.se/) verwendet, um REST-Anforderungen an die Datenbank weiterzuleiten. Andere REST-Clients und -Bibliotheken von 3rd Party 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 in 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 Collection "fruit" 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 Collection "fruit" 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 mit Oracle Database 23ai vom Typ "Immer kostenlos" verwenden, empfiehlt Oracle Folgendes:
Geben Sie für Projekte, die mit einem Datenbankrelease vor Oracle Database 21c gestartet wurden, explizit die Metadaten für die Standardsammlung 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 einen Teil der SODA- und SQL/JSON-Features. 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-Vorgänge für Informationen zu SODA for REST-HTTP-Vorgängen
Übergeordnetes Thema: SODA for REST mit Autonomous Database verwenden
Beispieldaten für Bestellungen mit SODA for REST laden
Oracle stellt eine umfangreiche Gruppe von JSON-Bestelldokumenten in der Nur-Text-Datei POList.json
als JSON-Array von Objekten bereit, bei denen jedes derartige Objekt ein Dokument darstellt.
In den folgenden Beispielen wird das Befehlszeilen-Tool cURL (http://curl.haxx.se/) verwendet, um REST-Anforderungen an die Datenbank weiterzuleiten. Andere REST-Clients und -Bibliotheken von 3rd Party 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 Oracle Cloud Shell verwenden.
Sie können dieses Beispiel-Bestell-Dataset mit den folgenden curl-Befehlen in eine Collection purchaseorder
in 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"
Anschließend können Sie diese Bestelldaten verwenden, um Beispiele in der JSON-Entwicklerdokumentation zu Oracle Database zu testen.
Beispiel: Die folgende Abfrage wählt sowohl die id
eines JSON-Dokumentes als auch Werte aus der JSON-Bestellungs-ID aus, die in Spalte json_document
der Tabelle purchaseorder
gespeichert sind. Die ausgewählten Werte stammen aus den Feldern PONumber
, Reference
und Requestor
der JSON-Spalte json_document
, die aus dem Dokument als virtuelle Spalten prognostiziert 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-Vorgänge für Informationen zu SODA for REST-HTTP-Vorgängen
Übergeordnetes Thema: SODA for REST mit Autonomous Database verwenden
SODA for REST mit OAuth-Clientzugangsdaten verwenden
Sie können in Autonomous Database mit der OAuth-Authentifizierung auf SODA for REST zugreifen. Der Zugriff auf SODA for REST mit OAuth-Authentifizierung kann je nach Anwendung die Performance und Sicherheit verbessern.
Führen Sie die folgenden Schritte aus, um mit der OAuth-Authentifizierung begrenzten Zugriff auf SODA for REST in Autonomous Database zu erhalten:
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