Utilisation de SODA pour REST avec Autonomous Database
Autonomous Database prend en charge Simple Oracle Document Access (SODA) pour REST.
- Présentation de l'utilisation de SODA pour REST
SODA pour REST est un service REST prédéployé qui peut être utilisé pour stocker des documents JSON dans votre base de données. - Chargement des données échantillon de commande d'achat à l'aide de SODA pour REST
Oracle fournit un ensemble important de documents de commande d'achat JSON, dans un fichier en texte brutPOList.json
, en tant que tableau JSON d'objets, où chacun de ces objets représente un document. - Utilisation de SODA pour REST avec OAuth Informations d'identification client
Vous pouvez accéder à SODA pour REST sur Autonomous Database à l'aide de l'authentification OAuth. Selon votre application, l'accès à SODA pour REST avec l'authentification OAuth peut améliorer les performances et la sécurité.
Rubrique parent : Développement de services RESTful dans Autonomous Database
Présentation de l'utilisation de SODA pour REST
SODA permet un développement d'applications flexible de type NoSQL sans avoir à utiliser SQL. Avec SODA, les documents JSON sont stockés dans des collections nommées et gérés à l'aide d'opérations CRUD simples (créer, lire, mettre à jour et supprimer). Et bien que SQL ne soit pas requis, le JSON stocké dans les collections SODA est toujours entièrement accessible à partir de SQL si nécessaire. Par exemple, une application opérationnelle peut être entièrement créée à l'aide de SODA (sans SQL), mais les données peuvent ensuite être analysées à l'aide de SQL provenant de l'extérieur de l'application. Autonomous Database SODA offre aux développeurs d'applications le meilleur des mondes NoSQL et SQL : un développement d'applications rapide, flexible et évolutif sans perdre la capacité à tirer parti du langage SQL pour les analyses et le reporting.
SODA pour REST est déployé dans ORDS sous le modèle d'URL suivant, où schema correspond à un schéma de base de données compatible REST.
/ords/schema/soda/latest/*
Les exemples suivants utilisent l'outil de ligne de commande cURL (http://curl.haxx.se/) pour soumettre des demandes REST à la base de données. Cependant, d'autres clients et bibliothèques REST 3e partie doivent également fonctionner. Les exemples utilisent le schéma de base de données ADMIN
, qui est activé pour REST. Vous pouvez utiliser SODA pour REST avec des commandes cURL à partir d'Oracle Cloud Shell.
Cette commande crée une collection nommée "fruit" dans le schéma ADMIN
:
> curl -X PUT -u 'ADMIN:<password>' \
"https://example-db.adb.us-phoenix-1.oraclecloudapps.com/ords/admin/soda/latest/fruit"
Ces commandes insèrent trois documents JSON dans la collection de fruits :
> 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"...
Cet exemple extrait un document JSON stocké de la collection :
> 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
}
Cette requête SQL accède à la collection de fruits :
SELECT
f.json_document.name,
f.json_document.count,
f.json_document.color
FROM fruit f;
L'interrogation renvoie les trois lignes suivantes :
name count color
--------- --------- -------
orange 42 null
pear 5 null
apple 12 red
Si vous utilisez Autonomous Database Toujours gratuit avec Oracle Database 23ai, Oracle recommande les éléments suivants :
Pour les projets qui ont été démarrés à l'aide d'une version de base de données antérieure à Oracle Database 21c, indiquez explicitement les métadonnées de la collection par défaut, comme indiqué dans l'exemple de la section Pilotes SODA. Pour les projets qui commencent à utiliser la version Oracle Database 21c ou une version ultérieure, utilisez simplement les métadonnées par défaut. Pour plus d'informations, reportez-vous à Pilotes SODA.
Ces exemples illustrent un sous-ensemble des fonctionnalités SODA et SQL/JSON. Pour plus d'informations, reportez-vous à :
-
SODA pour REST pour des informations complètes sur Simple Oracle Document Access (SODA)
-
SODA pour les opérations HTTP REST, pour plus d'informations sur SODA pour les opérations HTTP REST
Rubrique parent : Utilisation de SODA pour REST avec Autonomous Database
Chargement des données échantillon de commande à l'aide de SODA pour REST
Oracle fournit un ensemble substantiel de documents de commande d'achat JSON, dans le fichier en texte brut POList.json
, en tant que tableau JSON d'objets, où chaque objet représente un document.
Les exemples suivants utilisent l'outil de ligne de commande cURL (http://curl.haxx.se/) pour soumettre des demandes REST à la base de données. Cependant, d'autres clients et bibliothèques REST 3e partie doivent également fonctionner. Les exemples utilisent le schéma de base de données ADMIN
, qui est activé pour REST. Vous pouvez utiliser SODA pour REST avec des commandes cURL à partir d'Oracle Cloud Shell.
Vous pouvez charger cet exemple de jeu de données de commande d'achat dans une collection purchaseorder
sur votre instance Autonomous Database avec SODA pour REST, à l'aide des commandes curl suivantes :
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"
Vous pouvez ensuite utiliser ces données de commande d'achat pour essayer des exemples dans le Guide du développeur Oracle Database JSON.
Par exemple, la requête suivante sélectionne à la fois la valeur id
d'un document JSON et les valeurs de la collection de commandes d'achat JSON stockée dans la colonne json_document
de la table purchaseorder
. Les valeurs sélectionnées proviennent des champs PONumber
, Reference
et Requestor
de la colonne JSON json_document
, qui sont projetés à partir du document en tant que colonnes virtuelles (pour plus d'informations, reportez-vous à Clause SQL NESTED au lieu de JSON_TABLE).
SELECT id, t.*
FROM purchaseorder
NESTED json_document COLUMNS(PONumber, Reference, Requestor) t;
Pour plus d'informations, reportez-vous à :
-
SODA pour REST pour des informations complètes sur Simple Oracle Document Access (SODA)
-
SODA pour les opérations HTTP REST, pour plus d'informations sur SODA pour les opérations HTTP REST
Rubrique parent : Utilisation de SODA pour REST avec Autonomous Database
Utilisation de SODA pour REST avec les informations d'identification client OAuth
Vous pouvez accéder à SODA pour REST sur Autonomous Database en utilisant l'authentification OAuth. Selon votre application, l'accès à SODA pour REST avec l'authentification OAuth peut améliorer les performances et la sécurité.
Pour utiliser l'authentification OAuth afin de fournir un accès limité à SODA pour REST sur Autonomous Database, procédez comme suit :
Pour plus d'informations sur l'accès sécurisé aux services RESTful, reportez-vous à Configuration de l'accès sécurisé aux services RESTful.
Rubrique parent : Utilisation de SODA pour REST avec Autonomous Database