Sommaire des sous-programmes de DBMS_CLOUD_REPO
Cette section présente les sous-programmes de DBMS_CLOUD_REPO
fournis avec la base de données autonome.
L'ensemble DBMS_CLOUD_REPO
se présente comme suit :
Rubriques connexes
Conditions requises
En tant que développeur, vous pouvez utiliser des procédures DBMS_CLOUD avec des bases de données Autonomous Database déployées sur Oracle Public Cloud, Multicloud ou Exadata Cloud@Customer.
Selon le choix de déploiement, les préalables suivants doivent être satisfaits pour utiliser les procédures DBMS_CLOUD avec les fournisseurs de services Amazon S3, Azure Blob Storage et Google Cloud Storage.
- Créez une passerelle NAT dans le réseau en nuage virtuel (VCN) où résident vos ressources Autonomous Database en suivant les instructions sous Créer une passerelle NAT dans la documentation sur Oracle Cloud Infrastructure.
- Après avoir créé la passerelle NAT, ajoutez une règle de routage et une règle de sécurité de trafic sortant à chaque sous-réseau (dans le VCN) où résident des ressources Autonomous Database afin que ces ressources puissent utiliser la passerelle pour obtenir une clé publique de votre instance Azure AD :
- Allez à la page Détails du sous-réseau correspondante.
- Dans l'onglet Informations sur le sous-réseau, cliquez sur le nom de la table de routage du sous-réseau pour afficher la page Détails de la table de routage.
- Dans la table des règles de routage existantes, vérifiez s'il existe déjà une règle présentant les caractéristiques suivantes :
- Destination : 0.0.0.0/0
- Type de cible : Passerelle NAT
- Target : Nom de la passerelle NAT que vous venez de créer dans le VCN
Si une telle règle n'existe pas, cliquez sur Ajouter des règles de routage et ajoutez une règle de routage avec ces caractéristiques.
- Retournez à la page Détails du sous-réseau.
- Dans la table Listes de sécurité du sous-réseau, cliquez sur le nom de la liste de sécurité du sous-réseau pour afficher la page Détails de la liste de sécurité.
- Dans le menu latéral, sous Ressources, cliquez sur Règles de trafic sortant.
- Dans la table des règles de trafic sortant existantes, vérifiez s'il existe déjà une règle présentant les caractéristiques suivantes :
- Type de destination : CIDR
- Destination : 0.0.0.0/0
- Protocole IP : TCP
- Intervalle de ports sources : 443
- Intervalle de ports de destination : Tout
Si une telle règle n'existe pas, cliquez sur Ajouter des règles de trafic sortant et ajoutez une règle de trafic sortant avec ces caractéristiques.
Les paramètres de mandataire HTTP de votre environnement doivent permettre à la base de données d'accéder au fournisseur de services en nuage.
Note :
La configuration réseau, y compris le mandataire HTTP, ne peut être modifiée que jusqu'à ce que l'infrastructure Exadata ait l'état Activation requise. Une fois activé, vous ne pouvez pas modifier ces paramètres.La configuration d'un mandataire HTTP pour une infrastructure Exadata déjà provisionnée nécessite une demande de service dans My Oracle Support. Pour plus de détails, voir Créer une demande de service dans My Oracle Support.
Procédure CREATE_BRANCH
Cette procédure crée une branche dans le référentiel de code en nuage identifiée par l'argument de descripteur repo
.
Syntaxe
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
);
Paramètres
Paramètre | Description |
---|---|
repo |
Indique le descripteur du référentiel. Ce paramètre est obligatoire et pris en charge par tous les fournisseurs de nuage. |
branch_name |
Indique le nom de la branche du référentiel. Ce paramètre est obligatoire et pris en charge par tous les fournisseurs de nuage. |
parent_branch_name |
Crée la nouvelle branche à l'aide de la validation en chef de la branche parent spécifiée. Ce paramètre est pris en charge par tous les fournisseurs de nuage. Si vous ne fournissez pas de valeur |
parent_commit_id |
Crée la nouvelle branche à l'aide de la validation de référentiel spécifiée. Ce paramètre est pris en charge par tous les fournisseurs de nuage. Si vous ne fournissez pas de valeur |
Exemple
Note :
Pour créer une branche dans un référentiel de code en nuage, vous devez spécifier la branche parent ou l'ID validation parent.BEGIN
DBMS_CLOUD_REPO.CREATE_BRANCH
(
repo => l_repo,
branch_name => 'test_branch',
parent_branch_name => 'main'
);
END;
/
Note d'utilisation
Pour exécuter la procédure DBMS_CLOUD_REPO.CREATE_BRANCH
, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège EXECUTE
sur DBMS_CLOUD_REPO
.
Procédure CREATE_REPOSITORY
Cette procédure crée un référentiel de code en nuage identifié par l'argument de descripteur repo
.
Syntaxe
PROCEDURE DBMS_CLOUD_REPO.CREATE_REPOSITORY
(
repo IN CLOB,
description IN CLOB DEFAULT NULL,
private IN BOOLEAN DEFAULT TRUE
);
Paramètres
Paramètre | Description |
---|---|
repo |
Indique le descripteur du référentiel.
Ce paramètre est pris en charge par tous les fournisseurs de nuage. |
description |
Brève description textuelle du référentiel.
Ce paramètre est pris en charge par les fournisseurs de services infonuagiques GITHUB et AWS. |
private |
Le référentiel est privé et accessible uniquement à l'aide de données d'identification valides Ce paramètre n'est pris en charge que par le fournisseur de services infonuagiques GITHUB. |
Exemple
BEGIN
DBMS_CLOUD_REPO.CREATE_REPOSITORY
(
repo => l_repo,
description => 'My test repo',
private => TRUE
);
END;
/
Procédure DELETE_BRANCH
Cette procédure supprime une branche du référentiel de code en nuage identifiée par l'argument de descripteur repo
.
Syntaxe
PROCEDURE DBMS_CLOUD_REPO.DELETE_BRANCH
(
repo IN CLOB,
branch_name IN VARCHAR2 DEFAULT NULL
);
Paramètres
Paramètre | Description |
---|---|
repo |
Indique le descripteur du référentiel.
Ce paramètre est obligatoire et pris en charge par tous les fournisseurs de nuage. |
branch_name |
Supprimer une branche d'un référentiel spécifique.
Ce paramètre est obligatoire et pris en charge par tous les fournisseurs de nuage. |
Exemple
BEGIN
DBMS_CLOUD_REPO.DELETE_BRANCH
(
repo => l_repo,
branch_name => 'test_branch'
);
END;
/
Note d'utilisation
Pour exécuter la procédure DBMS_CLOUD_REPO.DELETE_BRANCH
, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège EXECUTE
sur DBMS_CLOUD_REPO
.
Procédure DELETE_FILE
Cette procédure supprime un fichier du référentiel de code en nuage identifié par l'argument de descripteur repo
.
Syntaxe
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
);
Paramètres
Paramètre | Description |
---|---|
repo |
Indique le descripteur du référentiel. |
file_path |
Chemin d'accès du fichier à supprimer du référentiel. |
branch_name |
Supprimer un fichier d'une branche spécifique. |
commit_details |
Détails de validation en tant que document JSON {"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } } |
Exemple
BEGIN
DBMS_CLOUD_REPO.DELETE_FILE
(
repo => l_repo,
file_path => 'scripts/test3.sql',
branch_name => 'test_branch'
);
END;
/
Procédure DELETE_REPOSITORY
Cette procédure supprime le référentiel de code en nuage identifié par l'argument de descripteur repo
.
Syntaxe
PROCEDURE DBMS_CLOUD_REPO.DELETE_REPOSITORY
(
repo IN CLOB
);
Paramètres
Paramètre | Description |
---|---|
repo |
Indique le descripteur du référentiel. |
Exemple
BEGIN
DBMS_CLOUD_REPO.DELETE_REPOSITORY
(
repo => l_repo
);
END;
/
Procédure EXPORT_OBJECT
Cette procédure charge les métadonnées LDD d'un objet de base de données dans le référentiel de code en nuage identifié par l'argument de descripteur repo
. Cette procédure permet de charger facilement la définition des métadonnées d'un objet de base de données en une seule étape.
Syntaxe
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
);
Paramètres
Paramètre | Description |
---|---|
repo |
Indique le descripteur du référentiel. |
file_path |
Chemin d'accès du fichier pour charger les métadonnées d'objet dans le référentiel. |
object_type |
Type d'objet pris en charge par DBMS_METADATA. Pour plus de détails, voir DBMS_METADATA : Tableau des types d'objet dans Informations de référence sur les ensembles et les types PL/SQL pour Oracle Database 19c ou Informations de référence sur les ensembles et les types PL/SQL pour Oracle Database 23ai. |
object_name |
Nom de l'objet de base de données pour l'extraction des métadonnées. |
object_schema |
Schéma responsable de l'objet de base de données. |
branch_name |
Placer le fichier dans une branche spécifique. |
commit_details |
Détails de validation en tant que document JSON : |
append |
Ajouter le LDD des métadonnées au fichier existant. |
Note d'utilisation
Pour un contrôle personnalisé sur le LDD d'objet, vous pouvez utiliser DBMS_METADATA.GET_DDL
avec DBMS_CLOUD_REPO.PUT_FILE
. Pour obtenir la définition des métadonnées de l'objet, l'utilisateur courant doit disposer des privilèges nécessaires pour extraire les métadonnées de l'objet. Voir DBMS_METADATA dans Informations de référence sur les ensembles et les types PL/SQL pour Oracle Database 19c ou Informations de référence sur les ensembles et les types PL/SQL pour Oracle Database 23ai pour connaître les exigences de sécurité de l'ensemble.
Exemple
BEGIN
DBMS_CLOUD_REPO.EXPORT_OBJECT
(
repo => l_repo,
object_type => 'PACKAGE',
object_name => 'MYPACK',
file_path => 'mypack.sql'
);
END;
/
Procédure EXPORT_SCHEMA
Cette procédure exporte les métadonnées de tous les objets d'un schéma vers la branche du référentiel de code en nuage identifiée par l'argument de descripteur repo
.
Syntaxe
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
);
Paramètres
Paramètre | Description |
---|---|
repo |
Indique le descripteur du référentiel. Ce paramètre est obligatoire et pris en charge par tous les fournisseurs de nuage. |
file_path |
Indique le nom du fichier de schéma à charger dans le référentiel. Ce paramètre est obligatoire et pris en charge par tous les fournisseurs de nuage. |
schema_name |
Indique le nom du schéma pour lequel un script LDD doit être chargé dans la branche Cloud Code Repository. Ce paramètre est obligatoire et pris en charge par tous les fournisseurs de nuage. |
filter_list |
Spécifie l'objet CLOB du tableau JSON qui définit les conditions de filtre pour inclure ou exclure les objets dont les métadonnées doivent être exportées. Ce paramètre est pris en charge par tous les fournisseurs de nuage. Les paramètres JSON pour
filter_list sont les suivants :
|
branch_name |
Indique le nom de la branche du référentiel. Ce paramètre est pris en charge par tous les fournisseurs de nuage. Si vous ne fournissez pas de valeur |
commit_details |
Détails de validation en tant que document JSON {"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } } Ce paramètre est pris en charge par tous les fournisseurs de nuage. Si vous ne fournissez pas de valeur |
Exemple
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;
/
Note d'utilisation
Pour exécuter la procédure DBMS_CLOUD_REPO.EXPORT_SCHEMA
, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège EXECUTE
sur DBMS_CLOUD_REPO
.
Procédure et fonction GET_FILE
La fonction télécharge le contenu d'un fichier à partir du référentiel de code en nuage. La procédure permet de télécharger le contenu d'un fichier à partir du référentiel de code en nuage et d'enregistrer le fichier dans un répertoire.
Syntaxe
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
);
Paramètres
Paramètre | Description |
---|---|
repo |
Indique le descripteur du référentiel. |
file_path |
Chemin d'accès du fichier dans le référentiel. |
directory_name |
Nom de l'objet de répertoire pour l'enregistrement du contenu du fichier. |
target_file_name |
Nom du fichier cible pour l'enregistrement du contenu dans le répertoire. |
branch_name |
Obtenir le fichier à partir d'une branche spécifique. |
tag_name |
Obtenir le fichier à partir d'un marqueur spécifique. |
commit_name |
Obtenir le fichier à partir d'une validation spécifique. |
Exemple
BEGIN
DBMS_CLOUD_REPO.GET_FILE
(
repo => l_repo,
file_path => 'test3.sql',
directory_name => 'DATA_PUMP_DIR',
target_file_name => 'test2.sql'
);
END;
/
Fonction INIT_AWS_REPO
Cette fonction initialise un descripteur de référentiel AWS et retourne un type opaque.
Syntaxe
FUNCTION DBMS_CLOUD_REPO.INIT_AWS_REPO
(
credential_name IN VARCHAR2,
repo_name IN VARCHAR2,
region IN VARCHAR2
) RETURN repo;
Paramètres
Paramètre | Description |
---|---|
credential_name |
Objet de données d'identification spécifiant la clé d'accès/clé secrète AWS CodeCommit. |
repo_name |
Indique le nom du référentiel. |
region |
Spécifie la région AWS du référentiel CodeCommit. |
Exemple
BEGIN
:repo := DBMS_CLOUD_REPO.INIT_AWS_REPO
(
credential_name => 'AWS_CRED',
repo_name => 'my_repo',
region => 'us-east-1'
);
END;
/
Fonction INIT_AZURE_REPO
Cette fonction initialise un descripteur de référentiel Azure et retourne un type opaque. Cette fonction n'est prise en charge que pour le fournisseur de services infonuagiques Azure.
Syntaxe
FUNCTION DBMS_CLOUD_REPO.INIT_AZURE_REPO
(
credential_name IN VARCHAR2,
repo_name IN VARCHAR2,
organization IN VARCHAR2,
project IN VARCHAR2
) RETURN repo;
Paramètres
Paramètre | Description |
---|---|
credential_name |
Objet de données d'identification spécifiant Azure, avec un nom d'utilisateur et un jeton d'accès personnel. |
repo_name |
Indique le nom du référentiel. |
organization |
Spécifie l'organisation Azure DevOps. |
project |
Nom du projet de l'équipe Azure. |
Exemple
BEGIN
:repo := DBMS_CLOUD_REPO.INIT_AZURE_REPO
(
credential_name => 'AZURE_CRED',
repo_name => 'my_repo',
organization => 'myorg',
project => 'myproj',
);
END;
/
Fonction INIT_GITHUB_REPO
Cette fonction initialise un descripteur de référentiel GitHub et retourne un type opaque.
Syntaxe
FUNCTION DBMS_CLOUD_REPO.INIT_GITHUB_REPO
(
credential_name IN VARCHAR2 DEFAULT NULL,
repo_name IN VARCHAR2,
owner IN VARCHAR2)
RETURN repo;
Paramètres
Paramètre | Description |
---|---|
credential_name |
Objet de données d'identification spécifiant GitHub. Adresse de courriel et jeton d'accès personnel de l'utilisateur. |
repo_name |
Indique le nom du référentiel. |
owner |
Indique le responsable du référentiel. |
Exemple
BEGIN
:repo := DBMS_CLOUD_REPO.INIT_GITHUB_REPO
(
credential_name => 'GITHUB_CRED',
repo_name => 'my_repo',
owner => 'foo'
);
END;
/
Fonction INIT_REPO
Cette fonction initialise un descripteur de référentiel de code en nuage et retourne un objet JSON opaque. Cette fonction est une interface générique permettant d'accepter un document JSON, qui évite d'avoir à modifier le code. Il vous suffit de modifier un document JSON lors du déplacement d'un référentiel de code d'un référentiel de code en nuage vers un autre référentiel de code en nuage.
Syntaxe
FUNCTION DBMS_CLOUD_REPO.INIT_REPO
(
params IN CLOB)
RETURN CLOB;
Paramètres
Paramètre JSON | Description |
---|---|
provider |
Fournisseur de référentiel de code en nuage parmi les suivants : DBMS_CLOUD_REPO.GITHUB_REPO ('GITHUB') DBMS_CLOUD_REPO.AWS_REPO ('AWS') DBMS_CLOUD_REPO.AZURE_REPO ('AZURE') |
repo_name |
Indique le nom du référentiel. DBMS_CLOUD_REPO.PARAM_REPO_NAME |
owner |
Responsable du référentiel GitHub. DBMS_CLOUD_REPO.PARAM_OWNER Ce paramètre s'applique uniquement au fournisseur de services infonuagiques GitHub. |
region |
Région du référentiel AWS DBMS_CLOUD_REPO_PARAM_REGION Ce paramètre s'applique uniquement au fournisseur de services infonuagiques AWS. |
organization |
Organisation Azure DBMS_CLOUD_REPO_PARAM_ORGANIZATION Ce paramètre s'applique uniquement au fournisseur de services infonuagiques Azure. |
project |
Projet de l'équipe Azure DBMS_CLOUD_REPO_PARAM_PROJECT Ce paramètre s'applique uniquement au fournisseur de services infonuagiques Azure |
Exemple
BEGIN
:repo := DBMS_CLOUD_REPO.INIT_REPO
(
params => JSON_OBJECT('credential_name' value 'mycred',
'repo_name' value 'myrepo',
'repo_owner' value 'foo')
);
END;
/
Procédure INSTALL_FILE
Cette procédure installe des énoncés SQL à partir d'un fichier du référentiel de code en nuage identifié par l'argument de descripteur repo
.
Syntaxe
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
);
Paramètres
Paramètre | Description |
---|---|
repo |
Indique le descripteur du référentiel. |
file_path |
Chemin d'accès du fichier dans le référentiel. |
branch_name |
Branche à partir de laquelle installer le fichier. |
tag_name |
Marqueur à partir duquel installer le fichier. |
commit_name |
ID validation pour installer le fichier à partir d'une validation spécifique. |
stop_on_error |
Arrêter l'exécution des énoncés SQL à la première erreur. |
Notes d'utilisation
-
Vous pouvez installer des énoncés SQL contenant du code SQL imbriqué à partir d'un fichier de référentiel de code en nuage à l'aide des éléments suivants :
-
@
: Inclut un fichier SQL avec un chemin relatif vers la racine du référentiel. -
@@
: Inclut un fichier SQL avec un chemin relatif au fichier courant.
-
-
Les scripts sont conçus en tant que scripts d'installation de schéma et non en tant que scripts SQL génériques :
- Les scripts ne peuvent pas contenir de commandes propres au client SQL*Plus.
- Les scripts ne peuvent pas contenir des variables de liaison ni des scripts paramétrés.
- Les énoncés SQL doivent se terminer par une barre oblique sur une nouvelle ligne (/).
- Les scripts peuvent contenir des énoncés LDD, LMD et PLSQL, mais les énoncés
SELECT
directs ne sont pas pris en charge. L'utilisation de SELECT dans un bloc PL/SQL est prise en charge.
Tout énoncé SQL pouvant être exécuté à l'aide de
EXECUTE IMMEDIATE
fonctionne s'il ne contient pas de variables ni de définitions de liaison.
Exemple
BEGIN
DBMS_CLOUD_REPO.INSTALL_FILE
(
repo => l_repo,
file_path => 'test3.sql',
stop_on_error => FALSE
);
END;
/
Procédure INSTALL_SQL
Cette procédure installe des énoncés SQL à partir d'une mémoire tampon indiquée en entrée.
Syntaxe
PROCEDURE DBMS_CLOUD_REPO.INSTALL_SQL
(
content IN CLOB,
stop_on_error IN BOOLEAN DEFAULT TRUE
);
Paramètres
Paramètre | Descriptions |
---|---|
content |
Objet CLOB contenant les énoncés SQL à exécuter. |
stop_on_error |
Arrêter l'exécution des énoncés SQL à la première erreur. |
Notes d'utilisation
-
Les scripts sont conçus en tant que scripts d'installation de schéma et non en tant que scripts SQL génériques :
- Les scripts ne peuvent pas contenir de commandes propres au client SQL*Plus.
- Les scripts ne peuvent pas contenir des variables de liaison ni des scripts paramétrés.
- Les énoncés SQL doivent se terminer par une barre oblique sur une nouvelle ligne (/).
- Les scripts peuvent contenir des énoncés LDD, LMD et PLSQL, mais les énoncés
SELECT
directs ne sont pas pris en charge. L'utilisation de SELECT dans un bloc PL/SQL est prise en charge.
Tout énoncé SQL pouvant être exécuté à l'aide de
EXECUTE IMMEDIATE
fonctionne s'il ne contient pas de variables ni de définitions de liaison.
Exemple
BEGIN
DBMS_CLOUD_REPO.INSTALL_SQL
(
content => 'create table t1 (x varchar2(30))' || CHR(10) || '/',
stop_on_error => FALSE
);
END;
/
Fonction LIST_BRANCHES
Cette fonction liste les branches de la branche du référentiel de code en nuage identifiées par l'argument de descripteur repo
.
Syntaxe
FUNCTION DBMS_CLOUD_REPO.LIST_BRANCHES
(
repo IN CLOB
) RETURN list_branch_ret_tab PIPELINED PARALLEL_ENABLE;
Paramètres
Paramètre | Description |
---|---|
repo |
Indique le descripteur du référentiel.
Ce paramètre est obligatoire et pris en charge par tous les fournisseurs de nuage. |
Exemple
SELECT * FROM DBMS_CLOUD_REPO.LIST_BRANCHES
(repo => l_repo);
Notes d'utilisation
-
Il s'agit d'une fonction de table en pipeline avec type de retour
list_branch_ret_tab.
-
DBMS_CLOUD_REPO.LIST_BRANCHES
retourne la colonne :name
, qui indique le nom de la branche du référentiel de code en nuage.
Fonction LIST_COMMITS
Cette fonction liste les validations dans la branche du référentiel de code en nuage identifiée par l'argument de descripteur repo
.
Syntaxe
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;
Paramètres
Paramètre | Description |
---|---|
repo |
Indique le descripteur du référentiel.
Ce paramètre est obligatoire et pris en charge par tous les fournisseurs de nuage. |
branch_name |
Lister les validations d'une branche spécifique.
Ce paramètre est pris en charge par tous les fournisseurs de nuage. Si vous ne fournissez pas de valeur |
file_path |
Lister les fichiers dans le chemin du sous-dossier spécifié dans le référentiel.
Ce paramètre n'est pris en charge que pour les fournisseurs de nuage Git et Azure. Si vous ne fournissez pas de valeur |
commit_id |
Lister les fichiers à partir de la valeur sha/id spécifiéeCe paramètre est pris en charge par tous les fournisseurs de nuage. Si vous ne fournissez pas de valeur |
Exemple
SELECT name FROM DBMS_CLOUD_REPO.LIST_COMMITS
(repo => l_repo);
Exemple
SELECT name FROM DBMS_CLOUD_REPO.LIST_COMMITS
(
repo => l_repo,
commit_id => '66dd2b23b74cd0afabd11af66c6aa9c550540ba6',
file_path => 'sub_dir/test11.sql'
);
Notes d'utilisation
-
Il s'agit d'une fonction de table en pipeline avec type de retour
list_commit_ret_tab.
-
DBMS_CLOUD_REPO.LIST_COMMITS
retourne la colonne :commit_id
.
Fonction LIST_FILES
Cette fonction télécharge un fichier à partir du référentiel de code en nuage. Le contenu du fichier est accessible à partir d'une branche, d'un marqueur ou d'un nom de validation spécifique. Par défaut, le fichier est accessible à partir de la branche du référentiel par défaut. Les résultats comprennent les noms de fichier et des métadonnées supplémentaires sur les fichiers.
Syntaxe
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;
Paramètres
Paramètre | Description |
---|---|
repo |
Indique le descripteur du référentiel. |
path |
Lister les fichiers dans le chemin du sous-dossier spécifié dans le référentiel. |
branch_name |
Lister les fichiers d'une branche spécifique. |
tag_name |
Lister les fichiers d'un marqueur spécifique. |
commit_name |
Lister les fichiers d'une validation spécifique. |
Notes d'utilisation
-
Il s'agit d'une fonction de table en pipeline avec type de retour
list_file_ret_tab.
-
DBMS_CLOUD_REPO.LIST_FILES
retourne les colonnes :id
,name
,url
etbytes
.
Exemple
SELECT name FROM DBMS_CLOUD_REPO.LIST_FILES
(repo => l_repo);
NAME
-------------------------
test3.sql
Fonction LIST_REPOSITORIES
Cette fonction liste tous les référentiels de code en nuage identifiés par l'argument de descripteur repo
. Les résultats comprennent les noms de référentiel et des métadonnées supplémentaires sur les référentiels.
Syntaxe
FUNCTION DBMS_CLOUD_REPO.LIST_REPOSITORIES
(
repo IN CLOB
) RETURN list_repo_ret_tab PIPELINED PARALLEL_ENABLE;
Paramètres
Paramètre | Description |
---|---|
repo |
Indique le descripteur du référentiel.
Ce paramètre est pris en charge par tous les fournisseurs de nuage. |
description |
Brève description textuelle du référentiel.
Ce paramètre est pris en charge par les fournisseurs de nuage GITHUB et AWS. |
private |
Le référentiel est privé et accessible uniquement à l'aide de données d'identification valides Ce paramètre est pris en charge par le fournisseur de services nuage GITHUB. |
Notes d'utilisation
-
Il s'agit d'une fonction de table en pipeline avec type de retour
list_repo_ret_tab.
-
DBMS_CLOUD_REPO.LIST_REPOSITORIES
retourne les colonnes :id
,name
,owner
,description
,private
,url
,bytes
,created
etlast_modified
.
Exemple
SELECT name description FROM DBMS_CLOUD_REPO.LIST_REPOSITORIES
(:repo);
NAME DESCRIPTION
--------------------- ---------------
TestRepo1 My test repo
Procédure MERGE_BRANCH
Cette procédure fusionne une branche de référentiel dans une autre branche spécifiée du référentiel de code en nuage identifiée par l'argument de descripteur repo
. La procédure MERGE_BRANCH
n'est actuellement pas prise en charge dans Azure.
Syntaxe
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
);
Paramètres
Paramètre | Description |
---|---|
repo |
Indique le descripteur du référentiel. Ce paramètre est obligatoire et pris en charge par les fournisseurs de nuage GITHUB et AWS. |
branch_name |
Indique le nom de la branche Git à fusionner. Ce paramètre est obligatoire et pris en charge par tous les fournisseurs de nuage. |
target_branch_name |
Indique le nom de la branche cible dans laquelle fusionner. Ce paramètre est obligatoire et pris en charge par tous les fournisseurs de nuage. |
commit_details |
Détails de validation en tant que document JSON {"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } } Si vous ne fournissez pas de valeur |
Exemple
BEGIN
DBMS_CLOUD_REPO.MERGE_BRANCH
(
repo => l_repo,
branch_name => 'test_branch',
target_branch_name => 'main'
);
END;
/
Note d'utilisation
Pour exécuter la procédure DBMS_CLOUD_REPO.MERGE_BRANCH
, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège EXECUTE
sur DBMS_CLOUD_REPO
.
Procédure PUT_FILE
Cette procédure charge un fichier dans le référentiel de code en nuage identifié par l'argument de descripteur repo
. La procédure est surchargée pour prendre en charge le chargement d'un fichier à partir d'un objet de répertoire ou le chargement du contenu d'un objet BLOB vers le fichier de référentiel.
Syntaxe
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
);
Paramètres
Paramètre | Description |
---|---|
repo |
Indique le descripteur du référentiel. |
file_path |
Chemin d'accès du fichier à charger dans le référentiel. |
contents |
Objet BLOB contenant le contenu du fichier. |
directory_name |
Nom de l'objet de répertoire contenant le nom du fichier. |
source_file_name |
Nom du fichier source à charger dans le référentiel. |
branch_name |
Placer le fichier dans une branche spécifique. |
commit_details |
Détails de validation en tant que document JSON : {"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } } |
Exemple
BEGIN
DBMS_CLOUD_REPO.PUT_FILE
(
repo => l_repo,
);
END;
/
Procédure UPDATE_REPOSITORY
Cette procédure met à jour un référentiel de code en nuage identifié par l'argument de descripteur repo
. UPDATE_REPOSITORY prend en charge la mise à jour du nom, de la description ou du statut de visibilité privée, comme le référentiel de code en nuage.
Syntaxe
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
);
Paramètres
Paramètre | Description |
---|---|
repo |
Indique le descripteur du référentiel.
Ce paramètre est pris en charge par tous les fournisseurs de nuage. |
new_name |
Nouveau nom du référentiel.
Ce paramètre est pris en charge par tous les fournisseurs de nuage. |
description |
Brève description textuelle du référentiel.
Ce paramètre est pris en charge par les fournisseurs de services infonuagiques GITHUB et AWS. |
private |
Le référentiel est privé et accessible uniquement à l'aide de données d'identification valides Ce paramètre est pris en charge par le fournisseur de services nuage GITHUB. |
Exemple
BEGIN
DBMS_CLOUD_REPO.UPDATE_REPOSITORY
(
repo => l_repo,
new_name => 'repo2'
);
END;
/