Paquete DBMS_CLOUD_REPO
El paquete DBMS_CLOUD_REPO
permite el uso y la gestión de repositorios de código alojados en la nube desde Oracle Database. Los repositorios de código en la nube admitidos incluyen GitHub, AWS CodeCommit y Azure Repos.
- Descripción general de DBMS_CLOUD_REPO
El paqueteDBMS_CLOUD_REPO
proporciona un acceso sencillo a los archivos de los repositorios de código en la nube (Git), incluidos: GitHub, AWS CodeCommit y Azure Repos. - DBMS_CLOUD_REPO Estructuras de datos
El paqueteDBMS_CLOUD_REPO
define tipos de registro y un tipo de objeto JSON genéricorepo
. - DBMS_CLOUD_REPO Grupos de subprogramas
Los subprogramas del paqueteDBMS_CLOUD_REPO
se pueden agrupar en cuatro categorías: Operaciones de inicialización, Operaciones de gestión de repositorio, Operaciones de archivos y Operaciones de instalación SQL. - Resumen de subprogramas DBMS_CLOUD_REPO
En esta sección se tratan los subprogramasDBMS_CLOUD_REPO
proporcionados con Autonomous Database.
Tema principal: Referencia de paquetes proporcionados por Autonomous Database
Visión general de DBMS_CLOUD_REPO
El paquete DBMS_CLOUD_REPO
proporciona un fácil acceso a los archivos de los repositorios de código en la nube (Git), incluidos: GitHub, AWS CodeCommit y Azure Repos.
Este paquete es una interfaz única para acceder a repositorios de código multinube y le permite cargar archivos SQL en repositorios de Git o instalar scripts SQL directamente desde repositorios de código en la nube. Este paquete también le permite utilizar un repositorio de código en la nube para gestionar versiones de código para scripts SQL e instalar o aplicar parches al código de aplicación desde repositorios de Git.
Conceptos
-
Sistema de control de versiones de Git: Git es un software para realizar un seguimiento de los cambios en cualquier conjunto de archivos, que generalmente se utiliza para coordinar el trabajo entre los programadores que desarrollan código fuente en colaboración durante el desarrollo de software. Sus objetivos incluyen la velocidad, la integridad de los datos y el soporte para flujos de trabajo distribuidos y no lineales.
-
Git Repository: Un repositorio Git es un almacenamiento virtual de su proyecto. Le permite guardar versiones de su código, a las que puede acceder cuando sea necesario.
Arquitectura
DBMS_CLOUD_REPO
proporciona cuatro áreas de funciones:
-
Inicialización de repositorio con manejador de repositorio de código de nube genérico
-
Inicializar un repositorio de código GitHub
-
Inicialización de un repositorio de código CodeCommit de AWS
-
Inicialización de un repositorio de código de repositorio de Azure
-
-
Operaciones de Gestión de Repositorios
-
Crear un repositorio
-
Actualice un repositorio
-
Enumerar repositorios
-
Suprima un repositorio
-
-
Operaciones de gestión de archivos de repositorio
-
Cargue un archivo en el repositorio de código desde Oracle Database.
-
Descargue un archivo del repositorio de código en Oracle Database.
-
Suprima archivos del repositorio de código.
-
Mostrar archivos del repositorio de código.
-
-
Operaciones de instalación de SQL
- Exportar DDL de metadatos de objetos de base de datos al repositorio.
-
Instale sentencias SQL desde un archivo en Code Repository en Oracle Database.
-
Instalar sentencias SQL desde un buffer.
Tema principal: Paquete DBMS_CLOUD_REPO
DBMS_CLOUD_REPO Estructuras de datos
El paquete DBMS_CLOUD_REPO
define tipos de registro y un tipo de objeto JSON genérico repo
.
Objeto JSON de REPO
Un DBMS_CLOUD_REPO
REPO
es un objeto JSON opaco que representa un repositorio de código en la nube de un proveedor de nube específico. Un objeto REPO se puede transferir a diferentes API DBMS_CLOUD_REPO
. Este objeto opaco garantiza que los procedimientos y las funciones de DBMS_CLOUD_REPO
sean compatibles con varias nubes; no tiene que cambiar ningún código al migrar de un proveedor de repositorio de código en la nube a otro repositorio de código en la nube.
Tema principal: Paquete DBMS_CLOUD_REPO
DBMS_CLOUD_REPO Grupos de subprogramas
Los subprogramas de paquetes DBMS_CLOUD_REPO
se pueden agrupar en cuatro categorías: Operaciones de Inicialización, Operaciones de Gestión de Repositorio, Operaciones de Archivo y Operaciones de Instalación SQL.
- DBMS_CLOUD_REPO Operaciones de inicialización
Muestra los subprogramas para las operaciones de inicialización en el paqueteDBMS_CLOUD_REPO
. - DBMS_CLOUD_REPO Repository Management Operations
Muestra los subprogramas para las operaciones de gestión de repositorios dentro del paqueteDBMS_CLOUD_REPO
. - DBMS_CLOUD_REPO Operaciones de gestión de bifurcaciones de repositorio
Muestra los subprogramas de las operaciones de gestión de bifurcaciones de repositorio en el paqueteDBMS_CLOUD_REPO
. - DBMS_CLOUD_REPO File Operations
Muestra los subprogramas para las operaciones de archivos dentro del paqueteDBMS_CLOUD_REPO
. - DBMS_CLOUD_REPO Operaciones de instalación de SQL
Muestra los subprogramas de las operaciones de instalación de SQL en el paqueteDBMS_CLOUD_REPO
.
Tema principal: Paquete DBMS_CLOUD_REPO
DBMS_CLOUD_REPO Operaciones de Inicialización
Muestra los subprogramas para las operaciones de inicialización en el paquete DBMS_CLOUD_REPO
.
Subprograma | Descripción |
---|---|
Esta función inicializa un identificador de repositorio de AWS y devuelve un tipo opaco. | |
Esta función inicializa un identificador de repositorio de Azure y devuelve un tipo opaco. | |
Esta función inicializa un identificador de repositorio GitHub y devuelve un tipo opaco. | |
Esta función inicializa un identificador de repositorio de código en la nube y devuelve un objeto JSON opaco. |
Tema principal: Grupos de subprogramas DBMS_CLOUD_REPO
DBMS_CLOUD_REPO Operaciones de Gestión de Repositorios
Muestra los subprogramas para las operaciones de gestión del repositorio en el paquete DBMS_CLOUD_REPO
.
Subprograma | Descripción |
---|---|
Este procedimiento crea un repositorio de código en la nube identificado por el argumento de manejador repo .
|
|
Este procedimiento suprime el repositorio de código en la nube identificado por el argumento de manejador repo .
|
|
Esta función muestra todos los repositorios de código en la nube identificados por el argumento de manejador repo .
|
|
Este procedimiento actualiza un repositorio de código en la nube identificado por el argumento de identificador repo . El procedimiento admite la actualización del nombre, la descripción o el estado de visibilidad privada, tal como lo admite el repositorio de Cloud Code.
|
Tema principal: Grupos de subprogramas DBMS_CLOUD_REPO
DBMS_CLOUD_REPO Operaciones de gestión de sucursales de repositorio
Muestra los subprogramas para las operaciones de gestión de ramas del repositorio en el paquete DBMS_CLOUD_REPO
.
Subprograma | Descripción |
---|---|
Este procedimiento crea una rama en un repositorio de código en la nube identificado por el argumento de manejador repo .
|
|
Este procedimiento suprime una rama en un repositorio de código en la nube identificado por el argumento de manejador repo .
|
|
Esta función muestra todas las ramas del repositorio de código en la nube identificadas por el argumento de manejador repo .
|
|
Esta función muestra todas las confirmaciones de una rama del repositorio de código en la nube identificada por el argumento de manejador repo .
|
|
Este procedimiento fusiona una rama del repositorio de código en la nube en otra rama especificada en un repositorio de código en la nube identificado por el argumento de manejador repo .
|
Tema principal: Grupos de subprogramas DBMS_CLOUD_REPO
Operaciones de archivo DBMS_CLOUD_REPO
Muestra los subprogramas para las operaciones de archivo en el paquete DBMS_CLOUD_REPO
.
Subprograma | Descripción |
---|---|
Este procedimiento suprime un archivo del repositorio de código de nube identificado por el argumento de manejador repo .
|
|
La función descarga el contenido de un archivo del repositorio de Cloud Code. El procedimiento permite descargar el contenido de un archivo del repositorio de Cloud Code y guardar el archivo en un directorio. | |
Esta función descarga un archivo del repositorio de Cloud Code. Opcionalmente, se puede acceder al contenido del archivo desde una rama, etiqueta o nombre de confirmación específicos. Por defecto, se accede al archivo desde la rama de repositorio por defecto. | |
Este procedimiento carga un archivo en el repositorio de código de nube identificado por el argumento de manejador repo . El procedimiento se sobrecarga para admitir la carga de un archivo desde un objeto de directorio o la carga del contenido de un CLOB en el archivo de repositorio.
|
Tema principal: Grupos de subprogramas DBMS_CLOUD_REPO
DBMS_CLOUD_REPO Operaciones de Instalación de SQL
Muestra los subprogramas de las operaciones de instalación SQL en el paquete DBMS_CLOUD_REPO
.
Subprograma | Descripción |
---|---|
Este procedimiento carga los metadatos DDL de un objeto de base de datos en el repositorio de código en la nube identificado por el argumento de manejador repo .
|
|
Este procedimiento exporta metadatos de todos los objetos de un esquema a una rama del repositorio de código en la nube identificada por el argumento de manejador repo .
|
|
Este procedimiento instala sentencias SQL de un archivo en el repositorio de código en la nube identificado por el argumento de manejador repo .
|
|
Este procedimiento instala sentencias SQL de un buffer proporcionado como entrada. |
Tema principal: Grupos de subprogramas DBMS_CLOUD_REPO
Resumen de Subprogramas DBMS_CLOUD_REPO
En esta sección se tratan los subprogramas DBMS_CLOUD_REPO
proporcionados con Autonomous Database.
El paquete DBMS_CLOUD_REPO
está formado por lo siguiente:
- Procedimiento CREATE_BRANCH
Este procedimiento crea una rama en el repositorio de código en la nube identificada por el argumento de manejadorrepo
. - Procedimiento CREATE_REPOSITORY
Este procedimiento crea un repositorio de código en la nube identificado por el argumento de manejadorrepo
. - Procedimiento DELETE_BRANCH
Este procedimiento suprime una rama del repositorio de código en la nube identificada por el argumento de manejadorrepo
. - Procedimiento DELETE_FILE
Este procedimiento suprime un archivo del repositorio de código de nube identificado por el argumento de manejadorrepo
. - Procedimiento DELETE_REPOSITORY
Este procedimiento suprime el repositorio de código en la nube identificado por el argumento de manejadorrepo
. - Procedimiento EXPORT_OBJECT
Este procedimiento carga los metadatos DDL de un objeto de base de datos en el repositorio de código en la nube identificado por el argumento de manejadorrepo
. Este procedimiento es una forma sencilla de cargar la definición de metadatos de un objeto de base de datos en un solo paso. - Procedimiento EXPORT_SCHEMA
Este procedimiento exporta metadatos de todos los objetos de un esquema a la rama del repositorio de código en la nube identificada por el argumento de manejadorrepo
. - GET_FILE Procedimiento y función
La función descarga el contenido de un archivo del repositorio de código en la nube. El procedimiento permite descargar el contenido de un archivo del repositorio de Cloud Code y guardar el archivo en un directorio. - Función INIT_AWS_REPO
Esta función inicializa un identificador de repositorio de AWS y devuelve un tipo opaco. - Función INIT_AZURE_REPO
Esta función inicializa un identificador de repositorio de Azure y devuelve un tipo opaco. Esta función solo es compatible con el proveedor de nube de Azure. - Función INIT_GITHUB_REPO
Esta función inicializa un identificador de repositorio GitHub y devuelve un tipo opaco. - Función INIT_REPO
Esta función inicializa un identificador de repositorio de código en la nube y devuelve un objeto JSON opaco. Esta función es una interfaz genérica para aceptar un documento JSON y evita tener que cambiar el código, solo necesita cambiar un documento JSON al mover un repositorio de código de un repositorio de Cloud Code a otro repositorio de Cloud Code. - Procedimiento INSTALL_FILE
Este procedimiento instala sentencias SQL de un archivo en el repositorio de código en la nube identificado por el argumento de manejadorrepo
. - Procedimiento INSTALL_SQL
Este procedimiento instala sentencias SQL desde un buffer proporcionado como entrada. - Función LIST_BRANCHES
Esta función muestra las bifurcaciones de la rama del repositorio de código en la nube identificadas por el argumento de manejadorrepo
. - Función LIST_COMMITS
Esta función muestra las confirmaciones en la rama del repositorio de código en la nube identificada por el argumento de manejadorrepo
. - LIST_FILES Función
Esta función descarga un archivo del repositorio de código de nube. Opcionalmente, se puede acceder al contenido del archivo desde una rama, etiqueta o nombre de confirmación específicos. Por defecto, se accede al archivo desde la rama de repositorio por defecto. Los resultados incluyen los nombres de archivo y metadatos adicionales sobre los archivos. - Función LIST_REPOSITORIES
Esta función muestra todos los repositorios de código en la nube identificados por el argumento de manejadorrepo
. Si el identificadorrepo
tiene un nombre de repositorio especificado, la función no restringe la lista al nombre de repositorio especificado; muestra todos los repositorios a los que puede acceder el usuario. - Procedimiento MERGE_BRANCH
Este procedimiento fusiona una rama de repositorio en otra rama especificada en el repositorio de código en la nube identificado por el argumento de manejadorrepo
. El procedimientoMERGE_BRANCH
no está soportado actualmente en Azure. - Procedimiento PUT_FILE
Este procedimiento carga un archivo en el repositorio de código de nube identificado por el argumento de manejadorrepo
. El procedimiento se sobrecarga para admitir la carga de un archivo desde un objeto de directorio o la carga del contenido de un BLOB en el archivo de repositorio. - Procedimiento UPDATE_REPOSITORY
Este procedimiento actualiza un repositorio de código en la nube identificado por el argumento de manejadorrepo
. UPDATE_REPOSITORY soporta la actualización del nombre, la descripción o el estado de visibilidad privada, tal y como soporta el repositorio de código de nube.
Tema principal: Paquete DBMS_CLOUD_REPO
CREATE_BRANCH Procedimiento
Este procedimiento crea una rama en el repositorio de código en la nube identificada por el argumento de manejador repo
.
Sintaxis
PROCEDURE DBMS_CLOUD_REPO.CREATE_BRANCH
(
repo IN CLOB,
branch_name IN VARCHAR2,
parent_branch_name IN VARCHAR2 DEFAULT NULL,
parent_commit_id IN VARCHAR2 DEFAULT NULL
);
Parámetros
Parámetro | Descripción |
---|---|
repo |
Especifica el identificador del repositorio. Este parámetro es obligatorio y está soportado para todos los proveedores de nube. |
branch_name |
Especifica el nombre de la rama del repositorio. Este parámetro es obligatorio y está soportado para todos los proveedores de nube. |
parent_branch_name |
Crea la nueva rama mediante la confirmación principal de la rama principal especificada. Este parámetro está soportado para todos los proveedores de nube. Si no proporciona un valor |
parent_commit_id |
Crea la nueva rama mediante la confirmación del repositorio especificada. Este parámetro está soportado para todos los proveedores de nube. Si no proporciona un valor |
Ejemplo
Para crear una rama en un repositorio de código de nube, debe especificar la rama principal o el ID de confirmación principal.
BEGIN
DBMS_CLOUD_REPO.CREATE_BRANCH
(
repo => l_repo,
branch_name => 'test_branch',
parent_branch_name => 'main'
);
END;
/
Nota de uso
Para ejecutar el procedimiento DBMS_CLOUD_REPO.CREATE_BRANCH
, debe estar conectado como usuario ADMIN o tener el privilegio EXECUTE
en DBMS_CLOUD_REPO
.
Tema principal: Resumen de subprogramas DBMS_CLOUD_REPO
CREATE_REPOSITORY Procedimiento
Este procedimiento crea un repositorio de código en la nube identificado por el argumento de manejador repo
.
Sintaxis
PROCEDURE DBMS_CLOUD_REPO.CREATE_REPOSITORY
(
repo IN CLOB,
description IN CLOB DEFAULT NULL,
private IN BOOLEAN DEFAULT TRUE
);
Parámetros
Parámetro | Descripción |
---|---|
repo |
Especifica el identificador del repositorio.
Este parámetro está soportado para todos los proveedores de nube. |
description |
Descripción de texto breve para el repositorio.
Este parámetro es compatible con GITHUB y el proveedor de nube de AWS. |
private |
El repositorio es privado y solo se puede acceder a él con credenciales válidas Este parámetro solo se admite para el proveedor de nube de GITHUB. |
Ejemplo
BEGIN
DBMS_CLOUD_REPO.CREATE_REPOSITORY
(
repo => l_repo,
description => 'My test repo',
private => TRUE
);
END;
/
Tema principal: Resumen de subprogramas DBMS_CLOUD_REPO
DELETE_BRANCH Procedimiento
Este procedimiento suprime una rama en el repositorio de código de nube identificada por el argumento de manejador repo
.
Sintaxis
PROCEDURE DBMS_CLOUD_REPO.DELETE_BRANCH
(
repo IN CLOB,
branch_name IN VARCHAR2 DEFAULT NULL
);
Parámetros
Parámetro | Descripción |
---|---|
repo |
Especifica el identificador del repositorio.
Este parámetro es obligatorio y está soportado para todos los proveedores de nube. |
branch_name |
Suprimir rama de un repositorio específico.
Este parámetro es obligatorio y está soportado para todos los proveedores de nube. |
Ejemplo
BEGIN
DBMS_CLOUD_REPO.DELETE_BRANCH
(
repo => l_repo,
branch_name => 'test_branch'
);
END;
/
Nota de uso
Para ejecutar el procedimiento DBMS_CLOUD_REPO.DELETE_BRANCH
, debe estar conectado como usuario ADMIN o tener el privilegio EXECUTE
en DBMS_CLOUD_REPO
.
Tema principal: Resumen de subprogramas DBMS_CLOUD_REPO
Procedimiento DELETE_FILE
Este procedimiento suprime un archivo del repositorio de código de nube identificado por el argumento de manejador repo
.
Sintaxis
PROCEDURE DBMS_CLOUD_REPO.DELETE_FILE
(
repo IN CLOB,
file_path IN VARCHAR2,
branch_name IN VARCHAR2 DEFAULT NULL,
commit_details IN CLOB DEFAULT NULL
);
Parámetros
Parámetro | Descripción |
---|---|
repo |
Especifica el identificador del repositorio. |
file_path |
Ruta de archivo para suprimir el archivo en el repositorio. |
branch_name |
Suprimir archivo de una rama específica. |
commit_details |
Detalles de confirmación como documento JSON {"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } } |
Ejemplo
BEGIN
DBMS_CLOUD_REPO.DELETE_FILE
(
repo => l_repo,
file_path => 'scripts/test3.sql',
branch_name => 'test_branch'
);
END;
/
Tema principal: Resumen de subprogramas DBMS_CLOUD_REPO
DELETE_REPOSITORY Procedimiento
Este procedimiento suprime el repositorio de código en la nube identificado por el argumento de manejador repo
.
Sintaxis
PROCEDURE DBMS_CLOUD_REPO.DELETE_REPOSITORY
(
repo IN CLOB
);
Parámetros
Parámetro | Descripción |
---|---|
repo |
Especifica el identificador del repositorio. |
Ejemplo
BEGIN
DBMS_CLOUD_REPO.DELETE_REPOSITORY
(
repo => l_repo
);
END;
/
Tema principal: Resumen de subprogramas DBMS_CLOUD_REPO
EXPORT_OBJECT Procedimiento
Este procedimiento carga los metadatos DDL de un objeto de base de datos en el repositorio de código en la nube identificado por el argumento de manejador repo
. Este procedimiento es una forma sencilla de cargar la definición de metadatos de un objeto de base de datos en un solo paso.
Sintaxis
PROCEDURE DBMS_CLOUD_REPO.EXPORT_OBJECT
(
repo IN CLOB,
file_path IN VARCHAR2,
object_type IN VARCHAR2,
object_name IN VARCHAR2 DEFAULT NULL,
object_schema IN VARCHAR2 DEFAULT NULL,
branch_name IN VARCHAR2 DEFAULT NULL,
commit_details IN CLOB DEFAULT NULL,
append IN BOOLEAN DEFAULT FALSE
);
Parámetros
Parámetro | Descripción |
---|---|
repo |
Especifica el identificador del repositorio. |
file_path |
Ruta de archivo para cargar metadatos de objeto en el repositorio. |
object_type |
Tipo de objeto soportado por DBMS_METADATA. Consulte DBMS_METADATA: tabla Tipos de objeto para obtener más información. |
object_name |
Nombre del objeto de base de datos para recuperar los metadatos. |
object_schema |
Esquema propietario del objeto de base de datos. |
branch_name |
Coloque el archivo en una rama específica. |
commit_details |
Detalles de confirmación como documento JSON: |
append |
Agregue el DDL de metadatos al archivo existente. |
Nota de uso
Para un control personalizado del objeto DDL, puede utilizar DBMS_METADATA.GET_DDL
junto con DBMS_CLOUD_REPO.PUT_FILE
. Para obtener la definición de metadatos del objeto, el usuario actual debe tener privilegios para recuperar los metadatos del objeto. Consulte DBMS_METADATA para conocer los requisitos de seguridad del paquete.
Ejemplo
BEGIN
DBMS_CLOUD_REPO.EXPORT_OBJECT
(
repo => l_repo,
object_type => 'PACKAGE',
object_name => 'MYPACK',
file_path => 'mypack.sql'
);
END;
/
Tema principal: Resumen de subprogramas DBMS_CLOUD_REPO
EXPORT_SCHEMA Procedimiento
Este procedimiento exporta metadatos de todos los objetos de un esquema a la rama del repositorio de código en la nube identificada por el argumento de manejador repo
.
Sintaxis
PROCEDURE DBMS_CLOUD_REPO.EXPORT_SCHEMA
(
repo IN CLOB,
file_path IN VARCHAR2,
schema_name IN VARCHAR2,
filter_list IN CLOB DEFAULT NULL,
branch_name IN VARCHAR2 DEFAULT NULL,
commit_details IN CLOB DEFAULT NULL
);
Parámetros
Parámetro | Descripción |
---|---|
repo |
Especifica el identificador del repositorio. Este parámetro es obligatorio y está soportado para todos los proveedores de nube. |
file_path |
Especifica el nombre del archivo de esquema que se va a cargar en el repositorio. Este parámetro es obligatorio y está soportado para todos los proveedores de nube. |
schema_name |
Especifica el nombre del esquema para el que se va a cargar un script DDL en la rama del repositorio de código en la nube. Este parámetro es obligatorio y está soportado para todos los proveedores de nube. |
filter_list |
Especifica el CLOB de la matriz de JSON que define las condiciones de filtro para incluir o excluir los objetos cuyos metadatos se deben exportar. Este parámetro está soportado para todos los proveedores de nube. Los parámetros de JSON para
filter_list son:
|
branch_name |
Especifica el nombre de la rama del repositorio. Este parámetro está soportado para todos los proveedores de nube. Si no proporciona un valor |
commit_details |
Detalles de confirmación como documento JSON {"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } } Este parámetro está soportado para todos los proveedores de nube. Si no proporciona un valor |
Ejemplo
BEGIN
DBMS_CLOUD_REPO.EXPORT_SCHEMA
(
repo => l_repo,
schema_name => 'USER1',
file_path => 'myschema_ddl.sql'
filter_list =>
to_clob('[
{ "match_type":"equal",
"type":"table"
},
{ "match_type":"not_equal",
"type":"view"
},
{ "match_type":"in",
"type":"table",
"name": " ''EMPLOYEE_SALARY'',''EMPLOYEE_ADDRESS'' "
},
{ "match_type":"equal",
"type":"sequence",
"name": "EMPLOYEE_RECORD_SEQ"
},
{ "match_type":"like",
"type":"table",
"name": "%OFFICE%"
}
]'
);
);
END;
/
Nota de uso
Para ejecutar el procedimiento DBMS_CLOUD_REPO.EXPORT_SCHEMA
, debe estar conectado como usuario ADMIN o tener el privilegio EXECUTE
en DBMS_CLOUD_REPO
.
Tema principal: Resumen de subprogramas DBMS_CLOUD_REPO
GET_FILE Procedimiento y función
La función descarga el contenido de un archivo del repositorio de Cloud Code. El procedimiento permite descargar el contenido de un archivo del repositorio de Cloud Code y guardar el archivo en un directorio.
Sintaxis
FUNCTION DBMS_CLOUD_REPO.GET_FILE
(
repo IN CLOB,
file_path IN VARCHAR2,
branch_name IN VARCHAR2 DEFAULT NULL,
tag_name IN VARCHAR2 DEFAULT NULL,
commit_name IN VARCHAR2 DEFAULT NULL
) RETURN CLOB;
PROCEDURE DBMS_CLOUD_REPO.GET_FILE
(
repo IN CLOB,
file_path IN VARCHAR2,
directory_name IN VARCHAR2,
target_file_name IN VARCHAR2 DEFAULT NULL,
branch_name IN VARCHAR2 DEFAULT NULL,
tag_name IN VARCHAR2 DEFAULT NULL,
commit_name IN VARCHAR2 DEFAULT NULL
);
Parámetros
Parámetro | Descripción |
---|---|
repo |
Especifica el identificador del repositorio. |
file_path |
Ruta de archivo en el repositorio. |
directory_name |
Nombre de objeto de directorio para guardar el contenido del archivo. |
target_file_name |
Nombre del archivo de destino para guardar el contenido en el directorio. |
branch_name |
Obtener archivo de una rama específica. |
tag_name |
Obtener archivo de una etiqueta específica. |
commit_name |
Obtener archivo de una confirmación específica. |
Ejemplo
BEGIN
DBMS_CLOUD_REPO.GET_FILE
(
repo => l_repo,
file_path => 'test3.sql',
directory_name => 'DATA_PUMP_DIR',
target_file_name => 'test2.sql'
);
END;
/
Tema principal: Resumen de subprogramas DBMS_CLOUD_REPO
Función INIT_AWS_REPO
Esta función inicializa un identificador de repositorio de AWS y devuelve un tipo opaco.
Sintaxis
FUNCTION DBMS_CLOUD_REPO.INIT_AWS_REPO
(
credential_name IN VARCHAR2,
repo_name IN VARCHAR2,
region IN VARCHAR2
) RETURN repo;
Parámetros
Parámetro | Descripción |
---|---|
credential_name |
Objeto de credencial que especifica la clave de acceso/clave secreta CodeCommit de AWS. |
repo_name |
Especifica el nombre del repositorio. |
region |
Especifica la región de AWS para el repositorio CodeCommit. |
Ejemplo
BEGIN
:repo := DBMS_CLOUD_REPO.INIT_AWS_REPO
(
credential_name => 'AWS_CRED',
repo_name => 'my_repo',
region => 'us-east-1'
);
END;
/
Tema principal: Resumen de subprogramas DBMS_CLOUD_REPO
Función INIT_AZURE_REPO
Esta función inicializa un identificador de repositorio de Azure y devuelve un tipo opaco. Esta función solo es compatible con el proveedor de nube de Azure.
Sintaxis
FUNCTION DBMS_CLOUD_REPO.INIT_AZURE_REPO
(
credential_name IN VARCHAR2,
repo_name IN VARCHAR2,
organization IN VARCHAR2,
project IN VARCHAR2
) RETURN repo;
Parámetros
Parámetro | Descripción |
---|---|
credential_name |
Objeto de credencial que especifica Azure, con un nombre de usuario y un token de acceso personal (PAT). |
repo_name |
Especifica el nombre del repositorio. |
organization |
Especifica la organización DevOps de Azure. |
project |
Nombre de proyecto de equipo de Azure. |
Ejemplo
BEGIN
:repo := DBMS_CLOUD_REPO.INIT_AZURE_REPO
(
credential_name => 'AZURE_CRED',
repo_name => 'my_repo',
organization => 'myorg',
project => 'myproj',
);
END;
/
Tema principal: Resumen de subprogramas DBMS_CLOUD_REPO
Función INIT_GITHUB_REPO
Esta función inicializa un identificador de repositorio GitHub y devuelve un tipo opaco.
Sintaxis
FUNCTION DBMS_CLOUD_REPO.INIT_GITHUB_REPO
(
credential_name IN VARCHAR2 DEFAULT NULL,
repo_name IN VARCHAR2,
owner IN VARCHAR2)
RETURN repo;
Parámetros
Parámetro | Descripción |
---|---|
credential_name |
Objeto de credencial que especifica GitHub. Correo electrónico de usuario y token de acceso personal (PAT). |
repo_name |
Especifica el nombre del repositorio. |
owner |
Especifica el propietario del repositorio. |
Ejemplo
BEGIN
:repo := DBMS_CLOUD_REPO.INIT_GITHUB_REPO
(
credential_name => 'GITHUB_CRED',
repo_name => 'my_repo',
owner => 'foo'
);
END;
/
Tema principal: Resumen de subprogramas DBMS_CLOUD_REPO
Función INIT_REPO
Esta función inicializa un identificador de repositorio de código en la nube y devuelve un objeto JSON opaco. Esta función es una interfaz genérica para aceptar un documento JSON y evita tener que cambiar el código, solo necesita cambiar un documento JSON al mover un repositorio de código de un repositorio de Cloud Code a otro repositorio de Cloud Code.
Sintaxis
FUNCTION DBMS_CLOUD_REPO.INIT_REPO
(
params IN CLOB)
RETURN CLOB;
Parámetros
Parámetro JSON | Descripción |
---|---|
provider |
Proveedor de repositorio de código en la nube de lo siguiente: DBMS_CLOUD_REPO.GITHUB_REPO ('GITHUB') DBMS_CLOUD_REPO.AWS_REPO ('AWS') DBMS_CLOUD_REPO.AZURE_REPO ('AZURE') |
repo_name |
Especifica el nombre del repositorio. DBMS_CLOUD_REPO.PARAM_REPO_NAME |
owner |
GitHub Propietario del repositorio. DBMS_CLOUD_REPO.PARAM_OWNER Este parámetro solo se aplica al proveedor en la nube GitHub. |
region |
Región de repositorio de AWS DBMS_CLOUD_REPO_PARAM_REGION Este parámetro solo es aplicable para el proveedor de nube de AWS. |
organization |
Organización de Azure DBMS_CLOUD_REPO_PARAM_ORGANIZATION Este parámetro solo es aplicable para el proveedor de nube de Azure. |
project |
Proyecto de equipo de Azure DBMS_CLOUD_REPO_PARAM_PROJECT Este parámetro solo es aplicable para el proveedor de nube de Azure |
Ejemplo
BEGIN
:repo := DBMS_CLOUD_REPO.INIT_REPO
(
params => JSON_OBJECT('credential_name' value 'mycred',
'repo_name' value 'myrepo',
'repo_owner' value 'foo')
);
END;
/
Tema principal: Resumen de subprogramas DBMS_CLOUD_REPO
INSTALL_FILE Procedimiento
Este procedimiento instala sentencias SQL de un archivo en el repositorio de código en la nube identificado por el argumento de manejador repo
.
Sintaxis
PROCEDURE DBMS_CLOUD_REPO.INSTALL_FILE
(
repo IN CLOB,
file_path IN VARCHAR2,
branch_name IN VARCHAR2 DEFAULT NULL,
tag_name IN VARCHAR2 DEFAULT NULL,
commit_name IN VARCHAR2 DEFAULT NULL,
stop_on_error IN BOOLEAN DEFAULT TRUE
);
Parámetros
Parámetro | Descripción |
---|---|
repo |
Especifica el identificador del repositorio. |
file_path |
Ruta de archivo en el repositorio. |
branch_name |
Rama para instalar el archivo desde una rama específica. |
tag_name |
Etiqueta para instalar el archivo desde una etiqueta específica. |
commit_name |
ID de confirmación para instalar el archivo desde una confirmación específica. |
stop_on_error |
Pare la ejecución de las sentencias SQL en el primer error. |
Notas de uso
-
Puede instalar sentencias SQL que contengan SQL anidado desde un archivo de repositorio de código en la nube mediante lo siguiente:
-
@
: incluye un archivo SQL con una ruta de acceso relativa a la ROOT del repositorio. -
@@
: incluye un archivo SQL con una ruta de acceso relativa al archivo actual.
-
-
Los scripts están diseñados como scripts de instalación de esquema y no como scripts SQL genéricos:
- Los scripts no pueden contener comandos específicos del cliente SQL*Plus.
- Los scripts no pueden contener variables de enlace ni scripts con parámetros.
- Las sentencias SQL se deben terminar con una barra diagonal en una nueva línea (/).
- Los scripts pueden contener sentencias DDL, DML PLSQL, pero las sentencias
SELECT
directas no están soportadas. Está soportado el uso de SELECT en un bloque PL/SQL.
Cualquier sentencia SQL que se pueda ejecutar mediante
EXECUTE IMMEDIATE
funcionará si no contiene variables de enlace o no las define.
Ejemplo
BEGIN
DBMS_CLOUD_REPO.INSTALL_FILE
(
repo => l_repo,
file_path => 'test3.sql',
stop_on_error => FALSE
);
END;
/
Tema principal: Resumen de subprogramas DBMS_CLOUD_REPO
INSTALL_SQL Procedimiento
Este procedimiento instala sentencias SQL de un buffer proporcionado como entrada.
Sintaxis
PROCEDURE DBMS_CLOUD_REPO.INSTALL_SQL
(
content IN CLOB,
stop_on_error IN BOOLEAN DEFAULT TRUE
);
Parámetros
Parámetro | Descripciones |
---|---|
content |
CLOB que contiene las sentencias SQL que se van a ejecutar. |
stop_on_error |
Pare la ejecución de las sentencias SQL en el primer error. |
Notas de uso
-
Los scripts están diseñados como scripts de instalación de esquema y no como scripts SQL genéricos:
- Los scripts no pueden contener comandos específicos del cliente SQL*Plus.
- Los scripts no pueden contener variables de enlace ni scripts con parámetros.
- Las sentencias SQL se deben terminar con una barra diagonal en una nueva línea (/).
- Los scripts pueden contener sentencias DDL, DML PLSQL, pero las sentencias
SELECT
directas no están soportadas. Está soportado el uso de SELECT en un bloque PL/SQL.
Cualquier sentencia SQL que se pueda ejecutar mediante
EXECUTE IMMEDIATE
funcionará si no contiene variables de enlace o no las define.
Ejemplo
BEGIN
DBMS_CLOUD_REPO.INSTALL_SQL
(
content => 'create table t1 (x varchar2(30))' || CHR(10) || '/',
stop_on_error => FALSE
);
END;
/
Tema principal: Resumen de subprogramas DBMS_CLOUD_REPO
Función LIST_BRANCHES
Esta función muestra las bifurcaciones de la rama del repositorio de código en la nube identificadas por el argumento de manejador repo
.
Sintaxis
FUNCTION DBMS_CLOUD_REPO.LIST_BRANCHES
(
repo IN CLOB
) RETURN list_branch_ret_tab PIPELINED PARALLEL_ENABLE;
Parámetros
Parámetro | Descripción |
---|---|
repo |
Especifica el identificador del repositorio.
Este parámetro es obligatorio y está soportado para todos los proveedores de nube. |
Ejemplo
SELECT * FROM DBMS_CLOUD_REPO.LIST_BRANCHES
(repo => l_repo);
Notas de uso
-
Se trata de una función de tabla con líneas discontinuas con el tipo de retorno
list_branch_ret_tab.
-
DBMS_CLOUD_REPO.LIST_BRANCHES
devuelve la columna:name
, que indica el nombre de la rama del repositorio de código en la nube.
Tema principal: Resumen de subprogramas DBMS_CLOUD_REPO
Función LIST_COMMITS
Esta función muestra las confirmaciones en la rama del repositorio de código en la nube identificada por el argumento de manejador repo
.
Sintaxis
FUNCTION DBMS_CLOUD_REPO.LIST_COMMITS
(
repo IN CLOB,
branch_name IN VARCHAR2 DEFAULT NULL,
file_path IN VARCHAR2 DEFAULT NULL,
commit_id IN VARCHAR2 DEFAULT NULL
) RETURN list_commit_ret_tab PIPELINED PARALLEL_ENABLE;
Parámetros
Parámetro | Descripción |
---|---|
repo |
Especifica el identificador del repositorio.
Este parámetro es obligatorio y está soportado para todos los proveedores de nube. |
branch_name |
Mostrar confirmaciones de una rama específica.
Este parámetro está soportado para todos los proveedores de nube. Si no proporciona un valor |
file_path |
Muestre los archivos en la ruta de acceso de la subcarpeta especificada en el repositorio.
Este parámetro solo se admite para proveedores de nube de Git y Azure. Si no proporciona un valor |
commit_id |
Mostrar los archivos a partir de la sha/id especificadaEste parámetro está soportado para todos los proveedores de nube. Si no proporciona un valor |
Ejemplo
SELECT name FROM DBMS_CLOUD_REPO.LIST_COMMITS
(repo => l_repo);
Ejemplo
SELECT name FROM DBMS_CLOUD_REPO.LIST_COMMITS
(
repo => l_repo,
commit_id => '66dd2b23b74cd0afabd11af66c6aa9c550540ba6',
file_path => 'sub_dir/test11.sql'
);
Notas de uso
-
Se trata de una función de tabla con líneas discontinuas con un tipo de retorno como
list_commit_ret_tab.
-
DBMS_CLOUD_REPO.LIST_COMMITS
devuelve la columna:commit_id
.
Tema principal: Resumen de subprogramas DBMS_CLOUD_REPO
Función LIST_FILES
Esta función descarga un archivo del repositorio de Cloud Code. Opcionalmente, se puede acceder al contenido del archivo desde una rama, etiqueta o nombre de confirmación específicos. Por defecto, se accede al archivo desde la rama de repositorio por defecto. Los resultados incluyen los nombres de archivo y metadatos adicionales sobre los archivos.
Sintaxis
FUNCTION DBMS_CLOUD_REPO.LIST_FILES
(
repo IN CLOB,
path IN VARCHAR2 DEFAULT NULL,
branch_name IN VARCHAR2 DEFAULT NULL,
tag_name IN VARCHAR2 DEFAULT NULL,
commit_id IN VARCHAR2 DEFAULT NULL
) RETURN list_file_ret_tab PIPELINED PARALLEL_ENABLE;
Parámetros
Parámetro | Descripción |
---|---|
repo |
Especifica el identificador del repositorio. |
path |
Muestre los archivos en la ruta de acceso de la subcarpeta especificada en el repositorio. |
branch_name |
Mostrar archivos de una rama específica. |
tag_name |
Mostrar archivos de una etiqueta específica. |
commit_name |
Mostrar archivos de una confirmación específica. |
Notas de uso
-
Se trata de una función de tabla con líneas discontinuas con el tipo de retorno
list_file_ret_tab.
-
DBMS_CLOUD_REPO.LIST_FILES
devuelve las columnas:id
,name
,url
ybytes
.
Ejemplo
SELECT name FROM DBMS_CLOUD_REPO.LIST_FILES
(repo => l_repo);
NAME
-------------------------
test3.sql
Tema principal: Resumen de subprogramas DBMS_CLOUD_REPO
Función LIST_REPOSITORIES
Esta función muestra todos los repositorios de código en la nube identificados por el argumento de manejador repo
. Si el identificador repo
tiene un nombre de repositorio especificado, la función no restringe la lista al nombre de repositorio especificado; muestra todos los repositorios a los que puede acceder el usuario.
Sintaxis
FUNCTION DBMS_CLOUD_REPO.LIST_REPOSITORIES
(
repo IN CLOB
) RETURN list_repo_ret_tab PIPELINED PARALLEL_ENABLE;
Parámetros
Parámetro | Descripción |
---|---|
repo |
Especifica el identificador del repositorio. Todos los proveedores de nube admiten este parámetro. |
Notas de uso
-
Se trata de una función de tabla con líneas discontinuas con el tipo de retorno
list_repo_ret_tab.
-
DBMS_CLOUD_REPO.LIST_REPOSITORIES
devuelve las columnas:id
,name
,owner
,description
,private
,url
,bytes
,created
ylast_modified
.
Ejemplo
SELECT name description FROM DBMS_CLOUD_REPO.LIST_REPOSITORIES
(:repo);
NAME DESCRIPTION
--------------------- ---------------
TestRepo1 My test repo
Tema principal: Resumen de subprogramas DBMS_CLOUD_REPO
MERGE_BRANCH Procedimiento
Este procedimiento fusiona una rama de repositorio en otra rama especificada en el repositorio de código en la nube identificado por el argumento de manejador repo
. El procedimiento MERGE_BRANCH
no está soportado actualmente en Azure.
Sintaxis
PROCEDURE DBMS_CLOUD_REPO.MERGE_BRANCH
(
repo IN CLOB,
branch_name IN VARCHAR2,
parent_branch_name IN VARCHAR2 DEFAULT NULL,
commit_details IN CLOB DEFAULT NULL
);
Parámetros
Parámetro | Descripción |
---|---|
repo |
Especifica el identificador del repositorio. Este parámetro es obligatorio y se admite para los proveedores de nube de GITHUB y AWS. |
branch_name |
Especifica el nombre de rama de Git que se va a fusionar. Este parámetro es obligatorio y está soportado para todos los proveedores de nube. |
target_branch_name |
Especifica el nombre de la rama de destino en la que se fusionará. Este parámetro es obligatorio y está soportado para todos los proveedores de nube. |
commit_details |
Detalles de confirmación como documento JSON {"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } } Si no proporciona un valor |
Ejemplo
BEGIN
DBMS_CLOUD_REPO.MERGE_BRANCH
(
repo => l_repo,
branch_name => 'test_branch',
target_branch_name => 'main'
);
END;
/
Nota de uso
Para ejecutar el procedimiento DBMS_CLOUD_REPO.MERGE_BRANCH
, debe estar conectado como usuario ADMIN o tener el privilegio EXECUTE
en DBMS_CLOUD_REPO
.
Tema principal: Resumen de subprogramas DBMS_CLOUD_REPO
PUT_FILE Procedimiento
Este procedimiento carga un archivo en el repositorio de código de nube identificado por el argumento de manejador repo
. El procedimiento se sobrecarga para admitir la carga de un archivo desde un objeto de directorio o la carga del contenido de un BLOB en el archivo de repositorio.
Sintaxis
PROCEDURE DBMS_CLOUD_REPO.PUT_FILE
(
repo IN CLOB,
file_path IN VARCHAR2,
contents IN BLOB,
branch_name IN VARCHAR2 DEFAULT NULL,
commit_details IN CLOB DEFAULT NULL
);
PROCEDURE DBMS_CLOUD_REPO.PUT_FILE
(
repo IN CLOB,
file_path IN VARCHAR2,
directory_name IN VARCHAR2,
source_file_name IN VARCHAR2 DEFAULT NULL,
branch_name IN VARCHAR2 DEFAULT NULL,
commit_details IN CLOB DEFAULT NULL
);
Parámetros
Parámetro | Descripción |
---|---|
repo |
Especifica el identificador del repositorio. |
file_path |
Ruta de archivo para cargar el archivo en el repositorio. |
contents |
BLOB que contiene el contenido del archivo. |
directory_name |
Nombre de objeto de directorio que contiene el nombre de archivo. |
source_file_name |
Nombre de archivo de origen para cargar en el repositorio. |
branch_name |
Coloque el archivo en una rama específica. |
commit_details |
Detalles de confirmación como documento JSON: {"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } } |
Ejemplo
BEGIN
DBMS_CLOUD_REPO.PUT_FILE
(
repo => l_repo,
);
END;
/
Tema principal: Resumen de subprogramas DBMS_CLOUD_REPO
UPDATE_REPOSITORY Procedimiento
Este procedimiento actualiza un repositorio de código en la nube identificado por el argumento de identificador repo
. UPDATE_REPOSITORY soporta la actualización del nombre, la descripción o el estado de visibilidad privada, tal y como soporta el repositorio de código de nube.
Sintaxis
PROCEDURE DBMS_CLOUD_REPO.UPDATE_REPOSITORY
(
repo IN OUT CLOB,
new_name IN VARCHAR2 DEFAULT NULL,
description IN CLOB DEFAULT NULL,
private IN BOOLEAN DEFAULT NULL
);
Parámetros
Parámetro | Descripción |
---|---|
repo |
Especifica el identificador del repositorio.
Este parámetro está soportado para todos los proveedores de nube. |
new_name |
Nuevo nombre para el repositorio.
Este parámetro está soportado para todos los proveedores de nube. |
description |
Descripción de texto breve para el repositorio.
Este parámetro es compatible con los proveedores de nube de GITHUB y AWS. |
private |
El repositorio es privado y solo se puede acceder a él con credenciales válidas. Este parámetro está soportado para el proveedor de nube de GITHUB. |
Ejemplo
BEGIN
DBMS_CLOUD_REPO.UPDATE_REPOSITORY
(
repo => l_repo,
new_name => 'repo2'
);
END;
/
Tema principal: Resumen de subprogramas DBMS_CLOUD_REPO