Appeler des scripts génériques sur une instance Autonomous Database
Vous pouvez appeler des scripts génériques de type BASH, C ou Python sur votre base de données autonome d'IA.
- À propos de l'exécution de scripts génériques sur une base de données d'IA autonome
Vous pouvez appeler des scripts génériques, notamment des scripts écrits en Bash, C ou Python, à partir d'une instance de base de données d'IA autonome. - Charger un portefeuille pour créer une connexion sécurisée à l'instance d'agent EXTPROC
Un portefeuille auto-signé est créé dans le cadre de la création de l'application d'agentEXTPROC. Ce portefeuille vous permet d'accéder à l'instance d'agentEXTPROCà partir d'une instance de base de données du service d'intelligence artificielle autonome. - Étapes d'appel de scripts Python
Affiche les étapes pour appeler des scripts Python sur une base de données d'IA autonome.
Rubrique parent : Appeler des fonctions définies par l'utilisateur
À propos de l'exécution de scripts génériques sur une base de données d'intelligence artificielle autonome
Vous pouvez appeler des scripts génériques, y compris les scripts écrits en Bash, C ou Python, à partir d'une instance de base de données autonome d'IA.
Vous ne pouvez pas exécuter un script générique directement sur une instance de base de données d'IA autonome. À la place, le script est hébergé à distance sur une image de conteneur Extproc d'Oracle Autonomous AI Database s'exécutant dans un réseau en nuage virtuel (VCN) d'Oracle Cloud Infrastructure. Vous appelez des scripts génériques à partir de votre base de données d'intelligence artificielle autonome à l'aide des travaux Oracle Scheduler. Le travail Oracle Scheduler que vous créez doit être un travail exécutable. Les travaux exécutables peuvent exécuter des scripts shell ou d'autres exécutables.
Les scripts génériques de votre base de données d'intelligence artificielle autonome ne sont pris en charge que lorsque votre base de données se trouve sur un point d'extrémité privé. Pour exécuter des scripts génériques, vous devez obtenir, installer et configurer l'image de conteneur Oracle Autonomous AI Database avec l'agent EXTPROC installé. L'image de conteneur Autonomous AI Database EXTPROC vous permet d'appeler des procédures et des scripts externes écrits en BASH, C ou Python à partir de votre base de données Autonomous AI Database. L'instance d'agent EXTPROC est hébergée dans un sous-réseau privé et la base de données IA autonome accède à l'agent EXTPROC au moyen d'un point d'extrémité de connexion inverse.
Les scripts génériques sont déployés à l'aide des éléments suivants :
-
Une image de conteneur de base de données d'intelligence artificielle autonome fournie par Oracle avec l'agent
EXTPROCinstallé. Oracle fournit l'image de conteneur sur les ensembles GitHub.Voir GitHub README pour obtenir et configurer l'image de conteneur
EXTPROC:L'instance d'agent
EXTPROCest hébergée à distance sur une image de conteneur s'exécutant dans un réseau en nuage virtuel (VCN) Oracle Cloud Infrastructure. La communication sécurisée entre votre base de données d'IA autonome et l'instance d'agentEXTPROCest sécurisée en définissant des règles de groupe de sécurité de réseau de sorte que le trafic soit autorisé entre votre instance de base de données d'IA autonome s'exécutant sur un point d'extrémité privé et l'instance d'agentEXTPROC. L'image de l'agentEXTPROCest préconfigurée pour héberger et exécuter des procédures externes sur le port 16000. -
Procédures PL/SQL permettant d'enregistrer des environnements de point d'extrémité et de gérer les privilèges sur les points d'extrémité enregistrés. Pour plus d'informations, voir Ensemble DBMS_CLOUD_FUNCTION_ADMIN.
-
Procédures PL/SQL permettant de créer et de gérer des travaux et des programmes du planificateur pour appeler des scripts génériques.
Pour plus d'informations, voir DBMS_SCHEDULER.
Suivez ces étapes pour exécuter un script générique à partir d'une instance de base de données du service d'intelligence artificielle autonome :
-
Obtenez et configurez l'image de conteneur
EXTPROC. Pour plus d'informations, voir GitHub README. -
Configurez votre base de données d'intelligence artificielle autonome pour vous connecter à l'instance d'agent
EXTPROC. Pour plus d'informations, voir Charger un portefeuille pour créer une connexion sécurisée à l'instance d'agent EXTPROC. -
Appelez des scripts génériques sur votre base de données d'intelligence artificielle autonome. Pour plus d'informations, voir Étapes d'appel de scripts Python.
Rubrique parent : Appeler des scripts génériques sur une instance Autonomous Database
Charger le portefeuille pour créer une connexion sécurisée à l'instance d'agent EXTPROC
Un portefeuille auto-signé est créé dans le cadre de la création de l'application d'agent EXTPROC. Ce portefeuille vous permet d'accéder à l'instance d'agent EXTPROC à partir d'une instance de base de données du service d'intelligence artificielle autonome.
Pour exécuter des scripts génériques sur l'instance d'agent EXTPROC, la base de données d'intelligence artificielle autonome et l'agent EXTPROC se connectent à l'aide du protocole mTLS (mutual Transport Layer Security). Lorsque vous êtes connecté à l'agent EXTPROC avec mTLS, vous utilisez une connexion de base de données TCPS (Secure TCP) à l'aide de la norme TLS 1.2 avec un certificat d'autorité de certification de client (CA) approuvé. Pour plus d'informations, voir À propos de la connexion à une instance de base de données du service d'intelligence artificielle autonome.
Vous pouvez également obtenir et utiliser un certificat public émis par une autorité de certification.
Comme préalable, vous devez exporter le portefeuille vers le stockage d'objets à partir du répertoire /u01/app/oracle/wallets/extproc_wallet/ sur la machine virtuelle où EXTPROC s'exécute. Cela permet à la base de données autonome d'IA d'utiliser le portefeuille pour accéder en toute sécurité à EXTPROC.
Chargez le portefeuille EXTPROC dans votre instance de base de données du service d'intelligence artificielle autonome :
Rubrique parent : Appeler des scripts génériques sur une instance Autonomous Database
Etapes d'appel des scripts Python
Affiche les étapes permettant d'appeler des scripts Python sur une base de données autonome avec intelligence artificielle.
Après avoir configuré l'instance d'agent EXTPROC pour exécuter des scripts Python, vous enregistrez un point d'extrémité distant et créez des tâches du programmateur pour appeler les scripts.
Voici les conditions requises pour appeler des scripts Python sur une base de données autonome avec intelligence artificielle :
-
Les scripts génériques doivent être copiés dans l'instance d'agent EXTPROC. Pour plus d'informations, voir GitHub README.
-
Pour créer et gérer des travaux du planificateur afin d'appeler des scripts Python avec un utilisateur autre qu'ADMIN, vous devez disposer des privilèges suivants :
-
MANAGE SCHEDULER -
CREATE JOB -
Privilège sur le point d'extrémité distant enregistré
-
Rubriques
- Enregistrer et gérer un point d'extrémité distant sur une base de données Autonomous Database
En tant qu'utilisateur ADMIN, effectuez les étapes suivantes pour enregistrer et gérer des points d'extrémité distants dans votre base de données d'IA autonome. - Créer et gérer des tâches du programmateur pour appeler des scripts génériques
Affiche les étapes de création et de gestion des tâches du programmateur pour appeler des scripts génériques à partir de la base de données du service d'intelligence artificielle autonome.
Rubrique parent : Appeler des scripts génériques sur une instance Autonomous Database
Enregistrer et gérer un point d'extrémité distant dans Autonomous Database
En tant qu'utilisateur ADMIN, effectuez les étapes suivantes pour enregistrer et gérer des points d'extrémité distants dans votre base de données du service d'intelligence artificielle autonome.
Enregistrer un point d'extrémité distant
Utilisez DBMS_CLOUD_FUNCTION_ADMIN.REGISTER_REMOTE_EXECUTION_ENV pour enregistrer un point d'extrémité distant.
Exemple :
BEGIN
DBMS_CLOUD_FUNCTION_ADMIN.REGISTER_REMOTE_EXECUTION_ENV (
remote_endpoint_name => 'rem_executable',
remote_endpoint_url => 'remote_extproc_hostname:16000',
wallet_dir => 'WALLET_DIR',
remote_cert_dn => 'CN=MACHINENAME'
);
END;
/Cet exemple crée la bibliothèque rem_executable et enregistre l'instance d'agent EXTPROC spécifiée dans le paramètre remote_url de votre base de données d'intelligence artificielle autonome. L'instance d'agent EXTPROC est préconfigurée pour héberger des scripts génériques sur le port 16000.
Pour plus d'informations, voir ProcédureREGISTER_REMOTE_EXECUTION_ENV.
Gérer les privilèges sur un point d'extrémité enregistré
Cette étape est facultative et n'est requise que lorsqu'un utilisateur autre que l'administrateur doit appeler des scripts génériques à partir de la base de données du service d'intelligence artificielle autonome.
Utilisez DBMS_CLOUD_FUNCTION_ADMIN.GRANT_REMOTE_EXECUTION_ENV pour accorder le privilège sur le point d'extrémité enregistré à un utilisateur autre que l'administrateur.
Exemple :
BEGIN
DBMS_CLOUD_FUNCTION_ADMIN.GRANT_REMOTE_EXECUTION_ENV (
remote_endpoint_name => 'REM_EXECUTABLE',
user_name => 'username');
END;
/Cet exemple accorde le privilège sur REM_EXECUTABLE à l'utilisateur spécifié. Pour plus d'informations, voir ProcédureGRANT_REMOTE_EXECUTION_ENV.
Après avoir accordé le privilège sur le point d'extrémité enregistré, vous pouvez utiliser DBMS_CLOUD_FUNCTION_ADMIN.REVOKE_REMOTE_EXECUTION_ENV pour révoquer le privilège sur le point d'extrémité enregistré d'un utilisateur.
Exemple :
BEGIN
DBMS_CLOUD_FUNCTION_ADMIN.REVOKE_REMOTE_EXECUTION_ENV (
remote_endpoint_name => 'REM_EXECUTABLE',
user_name => 'username');
END;
/Cet exemple révoque le privilège sur REM_EXECUTABLE de l'utilisateur spécifié. Pour plus d'informations, voir ProcédureREVOKE_REMOTE_EXECUTION_ENV.
Vous pouvez interroger DBA_CLOUD_FUNCTION_REMOTE_EXECUTION_GRANT pour lister les autorisations accordées pour tous les points d'extrémité distants. Pour plus d'informations, voir Vue DBA_CLOUD_FUNCTION_REMOTE_EXECUTION_GRANT.
Supprimer un point d'extrémité enregistré
Utilisez DBMS_CLOUD_FUNCTION_ADMIN.DEREGISTER_REMOTE_EXECUTION_ENV pour supprimer un point d'extrémité distant enregistré.
Exemple :
BEGIN
DBMS_CLOUD_FUNCTION_ADMIN.DEREGISTER_REMOTE_EXECUTION_ENV (
remote_endpoint_name => 'REM_EXECUTABLE');
END;
/Cela supprime le point d'extrémité distant rem_executable de votre base de données d'intelligence artificielle autonome. Pour plus d'informations, voir ProcédureDEREGISTER_REMOTE_EXECUTION_ENV.
Rubrique parent : Étapes d'appel de scripts Python
Créer et gérer des travaux du planificateur pour appeler des scripts génériques
Affiche les étapes de création et de gestion des tâches de programmateur pour appeler des scripts génériques à partir de la base de données d'intelligence artificielle autonome.
Rubrique parent : Étapes d'appel de scripts Python