Package DBMS_CLOUD_FUNCTION
Le package DBMS_CLOUD_FUNCTION vous permet d'appeler des fonctions distantes OCI et AWS Lambda dans votre base de données AI autonome en tant que fonctions SQL.
Remarques :
La prise en charge deDBMS_CLOUD_FUNCTION est disponible dans Oracle Database 19c à partir de la version 19.29, et dans Oracle AI Database 26ai à partir de la version 23.26.
Récapitulatif des sous-programmes DBMS_CLOUD_FUNCTION
DBMS_CLOUD_FUNCTION.
Table - Sous-programmes DBMS_CLOUD_FUNCTION
| Sous-programme | Description |
|---|---|
| Procédure CREATE_CATALOG | Cette procédure crée un catalogue. |
| Procédure CREATE_FUNCTION | Cette procédure crée des fonctions dans un catalogue. |
| Procédure DROP_CATALOG | Cette procédure supprime un catalogue et les fonctions créées à l'aide du catalogue. |
| Procédure DROP_FUNCTION | Cette procédure supprime des fonctions d'un catalogue. |
| Procédure LIST_FUNCTIONS | Cette procédure répertorie toutes les fonctions d'un catalogue. |
| Procédure SYNC_FUNCTIONS | Cette procédure permet d'ajouter des fonctions au catalogue et de supprimer des fonctions qui ont été supprimées du catalogue. |
Procédure CREATE_CATALOG
La procédure DBMS_CLOUD_FUNCTION.CREATE_CATALOG crée un catalogue dans la base de données. Un catalogue est un ensemble de fonctions qui crée l'infrastructure requise pour exécuter des sous-routines.
Syntaxe
DBMS_CLOUD_FUNCTION.CREATE_CATALOG (
credential_name IN VARCHAR2,
catalog_name IN VARCHAR2,
service_provider IN VARCHAR2,
cloud_params IN CLOB
);
Paramètres
| Paramètre | Description |
|---|---|
|
|
Spécifie le nom des informations d'identification pour l'authentification. Ce paramètre est obligatoire. |
|
|
Indique le type du fournisseur de services. Ce paramètre peut avoir pour valeur de paramètre Ce paramètre est obligatoire. |
|
|
Spécifie le nom du catalogue. Ce paramètre est obligatoire. |
|
|
Fournit un paramètre à la fonction. Par exemple, OCID de compartiment et régions. Ce paramètre est obligatoire. |
Erreurs
| Code d'erreur | Description |
|---|---|
|
|
Cette erreur est générée dans la condition suivante :
|
|
|
Cette erreur est générée dans la condition suivante :
|
|
|
Cette erreur est générée dans la condition suivante :
|
|
|
Cette erreur est générée lorsque le prestataire de services n'existe pas. |
Exemples
BEGIN
DBMS_CLOUD_FUNCTION.CREATE_CATALOG (
credential_name => 'DEFAULT_CREDENTIAL',
catalog_name => 'OCI_DEMO_CATALOG',
service_provider => 'OCI',
cloud_params => ("region_id":"us-phoenix-1", "compartment_id":"compartment_id"
);
END;
/
Remarque sur l'utilisation
-
Pour créer un catalogue, vous devez être connecté en tant qu'utilisateur
ADMINou disposer des privilèges suivants :-
DBMS_CLOUD_OCI_FNC_FUNCTIONS_INVOKE -
DBMS_CLOUD_OCI_FNC_FUNCTIONS_INVOKE_INVOKE_FUNCTION_RESPONSE_T -
DBMS_CLOUD -
Privilège de lecture sur
USER_CLOUD_FUNCTION -
Privilège de lecture sur
USER_CLOUD_FUNCTION_CATALOG
-
Procédure CREATE_FUNCTION
Cette procédure crée des fonctions dans un catalogue.
Syntaxe
La procédure DBMS_CLOUD_FUNCTION.CREATE_FUNCTION n'est prise en charge que pour les fonctions cloud.
DBMS_CLOUD_FUNCTION.CREATE_FUNCTION (
credential_name IN VARCHAR2,
catalog_name IN VARCHAR2,
function_name IN VARCHAR2,
function_id IN VARCHAR2,
input_args IN CLOB DEFAULT NULL,
return_type IN VARCHAR2 DEFAULT 'CLOB',
response_handler IN VARCHAR2 DEFAULT NULL
);
Signature du gestionnaire de réponses
<USER DEFINED TYPE> response_handler_name(function_response in CLOB)RETURNS CLOB;
Le type de retour est défini par l'utilisateur ou de type PL/SQL. function_response est au format JSON avec des champs.
'{
"STATUS":"<RESPONCE STATUS>",
"RESPONSE_BODY":"<FUNCTION RESPONSE>"
}'
Paramètres
| Paramètre | Description |
|---|---|
|
|
Spécifie le nom des informations d'identification pour l'authentification. Ce paramètre est obligatoire. |
|
|
Spécifie le nom du catalogue. Ce paramètre est obligatoire. |
|
|
Indique le nom de la fonction PL/SQL. Ce paramètre est obligatoire. |
|
|
La valeur du paramètre Ce paramètre est obligatoire. |
|
|
Spécifie la paire JSON de valeur de clé acceptant les arguments d'entrée et leurs types. |
|
|
Définit le type d'effet renvoyé par la fonction. Le type de retour est de type |
|
|
Spécifie le callback défini par l'utilisateur pour gérer la réponse. |
Erreurs
| Code d'erreur | Description |
|---|---|
|
|
Cette erreur est générée lorsque les informations d'identification référencées dans |
|
|
Cette erreur est générée lorsque le catalogue spécifié n'existe pas. |
|
|
Cette erreur est générée lorsque la fonction spécifiée existe déjà. |
|
|
Cette erreur est générée lorsque l'ID de fonction ou la fonction Amazon Resource Names (ARN) n'existe pas. |
|
|
Cette erreur est générée lorsque les arguments d'entrée ne sont pas valides. |
|
|
Cette erreur est générée lorsque le type de retour est manquant ou non valide. |
|
|
Cette erreur est générée lorsque le gestionnaire de réponses est manquant ou non valide. |
Exemple
VAR function_args CLOB;
EXEC :function_args := TO_CLOB('{"command": "VARCHAR2", "value": "VARCHAR2"}');
BEGIN
DBMS_CLOUD_FUNCTION.CREATE_FUNCTION (
credential_name => 'DEFAULT_CREDENTIAL',
catalog_name => 'OCI_DEMO_CATALOG',
function_name => 'demo_function',
function_id => 'ocid1.fnfunc.oc1.phx.aaaaaaaazkrbjv6ntowwxlbbp5ct4otsj4o2hdw4ayosyosv4sthmya2lyza',
input_args => :function_args);
);
END;
/
Procédure DROP_CATALOG
La procédure DBMS_CLOUD_FUNCTION.DROP_CATALOG supprime le catalogue et les fonctions créés à l'aide du catalogue.
Syntaxe
DBMS_CLOUD_FUNCTION.DROP_CATALOG (
catalog_name IN VARCHAR2
);
Paramètres
| Paramètre | Description |
|---|---|
|
|
Spécifie le nom du catalogue. Ce paramètre est obligatoire. |
Erreurs
| Code d'erreur | Description |
|---|---|
|
|
Cette erreur est générée lorsque le catalogue indiqué n'existe pas. |
Par exemple :
BEGIN
DBMS_CLOUD_FUNCTION.DROP_CATALOG (
catalog_name => 'OCI_DEMO_CATALOG'
);
END;
/
Procédure DROP_FUNCTION
La procédure DBMS_CLOUD_FUNCTION.DROP_FUNCTION supprime la fonction.
Syntaxe
La procédure DBMS_CLOUD_FUNCTION.DROP_FUNCTION n'est prise en charge que pour les fonctions cloud.
DBMS_CLOUD_FUNCTION.DROP_FUNCTION (
catalog_name IN VARCHAR2,
function_name IN VARCHAR2
);
Paramètres
| Paramètre | Description |
|---|---|
|
|
Spécifie le nom du catalogue. Ce paramètre est obligatoire. |
|
|
Spécifie le nom de la fonction à supprimer. Ce paramètre est obligatoire. |
Erreurs
| Code d'erreur | Description |
|---|---|
|
|
Cette erreur est générée lorsque la fonction spécifiée n'existe pas. |
Exemples
BEGIN
DBMS_CLOUD_FUNCTION.DROP_FUNCTION (
catalog_name => 'OCI_DEMO_CATALOG',
function_name => 'demo_function');
END;
/
Procédure LIST_FUNCTIONS
Cette procédure répertorie toutes les fonctions d'un catalogue.
Syntaxe
DBMS_CLOUD_FUNCTION.LIST_FUNCTIONS (
credential_name IN VARCHAR2,
catalog_name IN VARCHAR2,
function_list OUT VARCHAR2
);
Paramètres
| Paramètre | Description |
|---|---|
|
|
Spécifie le nom des informations d'identification pour l'authentification. Ce paramètre est obligatoire. |
|
|
Renvoie la liste des fonctions au format JSON. Ce paramètre est obligatoire. |
|
|
Spécifie le nom du catalogue. Ce paramètre est obligatoire. |
Erreurs
| Code d'erreur | Description |
|---|---|
|
|
Cette erreur est générée lorsque des valeurs de paramètre incorrectes sont transmises. |
|
|
Cette erreur est générée lorsque les informations d'identification référencées dans |
|
|
Cette erreur est générée lorsque le catalogue spécifié n'existe pas. |
Par exemple :
VAR function_list CLOB;
BEGIN
DBMS_CLOUD_FUNCTION.LIST_FUNCTIONS (
credential_name => 'DEFAULT_CREDENTIAL',
catalog_name => 'OCI_DEMO_CATALOG',
function_list => :function_list);
);
END;
/
SELECT JSON_QUERY(:function_list, '$' RETURNING VARCHAR2(32676) pretty) AS search_results FROM dual;
Procédure SYNC_FUNCTIONS
Cette procédure permet d'ajouter des fonctions au catalogue et de supprimer des fonctions qui ont été supprimées du catalogue.
Syntaxe
DBMS_CLOUD_FUNCTION.SYNC_FUNCTIONS (
catalog_name IN VARCHAR2,
refresh_rate IN VARCHAR2 DEFAULT 'DAILY'
);
Paramètres
| Paramètre | Description |
|---|---|
|
|
Spécifie le nom du catalogue. Ce paramètre est obligatoire. |
|
|
Indique la fréquence d'actualisation de la fonction. refresh_rate peut accepter les valeurs suivantes :
La valeur par défaut de ce paramètre est |
Erreurs
| Code d'erreur | Description |
|---|---|
|
|
Cette erreur est générée lorsque le catalogue spécifié n'existe pas. |
|
|
Cette erreur est générée lorsqu'une valeur non valide est transmise pour le paramètre |
Par exemple :
BEGIN
DBMS_CLOUD_FUNCTION.SYNC_FUNCTIONS (
catalog_name => 'OCI_DEMO_CATALOG'
);
END;
/