Llamada a scripts genéricos en una instancia de Autonomous Database
Puede llamar a scripts genéricos de tipo BASH, C o Python en su base de datos de IA autónoma.
- Acerca de la ejecución de scripts genéricos en una base de datos de IA autónoma
Puede llamar a scripts genéricos, incluidos scripts escritos en Bash, C o Python, desde una instancia de base de datos de IA autónoma. - Carga de cartera para crear una conexión segura a la instancia del agente EXTPROC
Se crea una cartera autofirmada como parte de la creación de la aplicación del agenteEXTPROC
. Esta cartera permite acceder a la instancia de agenteEXTPROC
desde una instancia de base de datos de IA autónoma. - Pasos para llamar a scripts de Python
Muestra los pasos para llamar a scripts de Python en una base de datos de IA autónoma.
Tema principal: Llamada a funciones definidas por el usuario
Acerca de la ejecución de scripts genéricos en una base de datos de IA autónoma
Puede llamar a scripts genéricos, incluidos scripts escritos en Bash, C o Python, desde una instancia de base de datos de IA autónoma.
No puede ejecutar un script genérico directamente en una instancia de Autonomous AI Database. En su lugar, el script se aloja de forma remota en una imagen de contenedor de Oracle Autonomous AI Database Extproc que se ejecuta en una red virtual en la nube (VCN) de Oracle Cloud Infrastructure. Puede llamar a scripts genéricos desde su base de datos de IA autónoma mediante trabajos de Oracle Scheduler. El trabajo de Oracle Scheduler que cree debe ser un trabajo ejecutable. Los trabajos ejecutables pueden ejecutar secuencias de comandos de shell u otros ejecutables.
Los scripts genéricos de la base de datos de IA autónoma solo están soportados cuando la base de datos está en un punto final privado. Para ejecutar scripts genéricos, debe obtener, instalar y configurar la imagen de contenedor de Oracle Autonomous AI Database con el agente EXTPROC
instalado. La imagen de contenedor EXTPROC
de la base de datos de IA autónoma permite llamar a procedimientos y scripts externos escritos en BASH, C o Python desde su base de datos de IA autónoma. La instancia del agente EXTPROC
se aloja en una subred privada, y la base de datos de IA autónoma accede al agente EXTPROC
a través de un punto final de conexión inversa (RCE).
Los scripts genéricos se despliegan mediante:
-
Una imagen de contenedor de base de datos de IA autónoma proporcionada por Oracle con el agente
EXTPROC
instalado. Oracle proporciona la imagen de contenedor en paquetes GitHub.Consulte GitHub README para obtener instrucciones para obtener y configurar la imagen de contenedor
EXTPROC
:La instancia del agente
EXTPROC
se aloja de forma remota en una imagen de contenedor que se ejecuta en una red virtual en la nube (VCN) de Oracle Cloud Infrastructure. La comunicación segura entre la base de datos de IA autónoma y la instancia de agenteEXTPROC
se protege mediante la definición de reglas del grupo de seguridad de red (NSG) para permitir el tráfico desde la instancia de la base de datos de IA autónoma que se ejecuta en un punto final privado a la instancia de agenteEXTPROC
. La imagen del agenteEXTPROC
está preconfigurada para alojar y ejecutar procedimientos externos en el puerto 16000. -
Procedimientos PL/SQL para registrar entornos de punto final y gestionar privilegios en los puntos finales registrados. Consulte DBMS_CLOUD_FUNCTION_ADMIN Package para obtener más información.
-
Procedimientos PL/SQL para crear y gestionar trabajos y programas del programador para llamar a scripts genéricos.
Consulte DBMS_SCHEDULER para obtener más información.
Siga estos pasos para ejecutar un script genérico desde una instancia de base de datos de IA autónoma:
-
Obtenga y configure la imagen de contenedor
EXTPROC
. Consulte GitHub README para obtener más información. -
Configure su base de datos de IA autónoma para conectarse a la instancia del agente
EXTPROC
. Consulte Carga de cartera para crear una conexión segura a la instancia del agente EXTPROC para obtener más información. -
Llama a scripts genéricos en tu base de datos de IA autónoma. Consulte Pasos para llamar a scripts de Python para obtener más información.
Carga de Cartera para Crear una Conexión Segura a la Instancia del Agente EXTPROC
Una cartera autofirmada se crea como parte de la creación de la aplicación del agente EXTPROC
. Esta cartera permite acceder a la instancia de agente EXTPROC
desde una instancia de base de datos de IA autónoma.
Para ejecutar scripts genéricos en la instancia de agente EXTPROC
, la base de datos de IA autónoma y el agente EXTPROC
se conectan mediante la seguridad de capa de transporte mutuo (mTLS). Cuando se conecta al agente EXTPROC con mTLS, utiliza una conexión de base de datos TCPS (TCP seguro) mediante el estándar TLS 1.2 con un certificado de autoridad de certificación (CA) de cliente de confianza. Consulte Acerca de la conexión a una instancia de base de datos de IA autónoma para obtener más información.
También puede obtener y utilizar un certificado público emitido por una autoridad de certificación (CA).
Como requisito, debe exportar la cartera a Object Storage desde el directorio /u01/app/oracle/wallets/extproc_wallet/
en la máquina virtual donde se ejecuta EXTPROC
. Esto permite que la base de datos de IA autónoma utilice la cartera para acceder de forma segura a EXTPROC
.
Cargue la cartera EXTPROC
en la instancia de la base de datos de IA autónoma:
Pasos para llamar a scripts de Python
Muestra los pasos para llamar a scripts de Python en una base de datos de IA autónoma.
Después de configurar la instancia del agente EXTPROC
para que ejecute scripts de Python, registre un punto final remoto y cree trabajos del programador para llamar a los scripts.
Los siguientes son requisitos para llamar a scripts de Python en una base de datos de IA autónoma:
-
Los scripts genéricos se deben copiar en la instancia del agente EXTPROC. Consulte GitHub README para obtener más información.
-
Para crear y gestionar trabajos del programador para llamar a scripts de Python con un usuario que no sea ADMIN, debe tener los siguientes privilegios:
-
MANAGE SCHEDULER
-
CREATE JOB
-
Privilegio en el punto final remoto registrado
-
Temas
- Registro y gestión de punto final remoto en Autonomous Database
Como usuario ADMIN, realice los siguientes pasos para registrar y gestionar puntos finales remotos en su base de datos de IA autónoma. - Creación y gestión de trabajos del programador para llamar a scripts genéricos
Muestra los pasos para crear y gestionar trabajos del programador para llamar a scripts genéricos desde la base de datos de IA autónoma.
Registro y gestión de punto final remoto en Autonomous Database
Como usuario ADMIN, realice los siguientes pasos para registrar y gestionar puntos finales remotos en su base de datos de IA autónoma.
Registro de un punto final remoto
Utilice DBMS_CLOUD_FUNCTION_ADMIN.REGISTER_REMOTE_EXECUTION_ENV
para registrar un punto final remoto.
Ejemplo:
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;
/
En este ejemplo, se crea la biblioteca rem_executable
y se registra la instancia del agente EXTPROC
especificada en el parámetro remote_url
de la base de datos de IA autónoma. La instancia del agente EXTPROC
está preconfigurada para alojar scripts genéricos en el puerto 16000.
Consulte REGISTER_REMOTE_EXECUTION_ENV Procedure para obtener más información.
Gestión de privilegios en un punto final registrado
Este paso es opcional y solo es necesario cuando un usuario que no sea el administrador necesita llamar a scripts genéricos desde la base de datos de IA autónoma.
Utilice DBMS_CLOUD_FUNCTION_ADMIN.GRANT_REMOTE_EXECUTION_ENV
para otorgar privilegios en el punto final registrado a un usuario que no sea el administrador.
Ejemplo:
BEGIN
DBMS_CLOUD_FUNCTION_ADMIN.GRANT_REMOTE_EXECUTION_ENV
(
remote_endpoint_name => 'REM_EXECUTABLE',
user_name => 'username');
END;
/
En este ejemplo, se otorga el privilegio en REM_EXECUTABLE
al usuario especificado. Consulte GRANT_REMOTE_EXECUTION_ENV Procedure para obtener más información.
Después de otorgar el privilegio en el punto final registrado, puede utilizar DBMS_CLOUD_FUNCTION_ADMIN.REVOKE_REMOTE_EXECUTION_ENV
para revocar el privilegio en el punto final registrado como usuario.
Ejemplo:
BEGIN
DBMS_CLOUD_FUNCTION_ADMIN.REVOKE_REMOTE_EXECUTION_ENV
(
remote_endpoint_name => 'REM_EXECUTABLE',
user_name => 'username');
END;
/
En este ejemplo, se revoca el privilegio en REM_EXECUTABLE
del usuario especificado. Consulte REVOKE_REMOTE_EXECUTION_ENV Procedure para obtener más información.
Puede consultar DBA_CLOUD_FUNCTION_REMOTE_EXECUTION_GRANT
para mostrar los permisos otorgados para todos los puntos finales remotos. Consulte DBA_CLOUD_FUNCTION_REMOTE_EXECUTION_GRANT View para obtener más información.
Eliminación de un punto final registrado
Utilice DBMS_CLOUD_FUNCTION_ADMIN.DEREGISTER_REMOTE_EXECUTION_ENV
para eliminar un punto final remoto registrado.
Ejemplo:
BEGIN
DBMS_CLOUD_FUNCTION_ADMIN.DEREGISTER_REMOTE_EXECUTION_ENV
(
remote_endpoint_name => 'REM_EXECUTABLE');
END;
/
Esto elimina el punto final remoto rem_executable
de su base de datos de IA autónoma. Consulte DEREGISTER_REMOTE_EXECUTION_ENV Procedure para obtener más información.
Tema principal: Pasos para llamar a scripts de Python
Crear y gestionar tareas de programador para invocar scripts genéricos
Muestra los pasos para crear y gestionar trabajos del programador para llamar a scripts genéricos desde la base de datos de IA autónoma.
Tema principal: Pasos para llamar a scripts de Python