DBMS_CLOUD pour la gestion de fichiers en masse
Prérequis
En tant que développeur, vous pouvez utiliser les procédures DBMS_CLOUD avec des bases de données d'IA autonomes déployées sur Oracle Public Cloud, Multicloud ou Exadata Cloud@Customer.
Selon le choix de déploiement, les prérequis suivants doivent être respectés pour utiliser les procédures DBMS_CLOUD avec les fournisseurs de services Amazon S3, Azure Blob Storage et Google Cloud Storage.
L'administrateur de parc doit avoir configuré une connectivité sortante à l'aide d'une passerelle NAT, comme décrit ci-dessous :
-
Créez une passerelle NAT dans le réseau cloud virtuel (VCN) où résident vos ressources de base de données Autonomous AI en suivant les instructions de la section Création d'une passerelle NAT dans la documentation Oracle Cloud Infrastructure.
-
Après avoir créé la passerelle NAT, ajoutez une règle de routage et une règle de sécurité sortante à chaque sous-réseau (dans le VCN) où résident les ressources de base de données Autonomous AI afin que ces ressources puissent utiliser la passerelle pour obtenir une clé publique à partir de votre instance Azure AD :
-
Accédez à la page Détails du sous-réseau correspondante.
-
Dans l'onglet Information sur le sous-réseau, cliquez sur le nom de la table de acheminement du sous‑réseau pour afficher la page Détails de la table de acheminement correspondante.
-
Dans la table des règles de acheminement existantes, vérifiez s'il existe déjà une règle avec les caractéristiques suivantes :
-
Destination : 0.0.0.0/0
-
Type de cible : passerelle NAT
-
Cible : 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 possédant ces caractéristiques.
-
-
Revenez à la page Détails du sous-réseau du sous-réseau.
-
Dans la table Listes de sécurité du sous‑réseau, cliquez sur le nom de la liste des sécurité du sous-réseau pour afficher sa page Détails de la liste.
-
Dans le menu latéral, sous Ressources, cliquez sur Règles sortantes.
-
Dans la table des règles sortantes existantes, vérifiez s'il existe déjà une règle avec les caractéristiques suivantes :
-
Type de destination : CIDR
-
Destination :0.0.0.0/0
-
Protocole IP : TCP
-
Plage de ports source:443
-
Plage de ports de Destination : Tout
Si une telle règle n'existe pas, cliquez sur Ajouter des règles sortantes et ajoutez une règle possédant ces caractéristiques.
-
-
Les paramètres de proxy HTTP de votre environnement doivent autoriser la base de données à accéder au fournisseur de service cloud.
Ces paramètres sont définis par l'administrateur de parc lors de la création de l'infrastructure Exadata Cloud@Customer, comme décrit dans Utilisation de la console pour provisionner Exadata Database Service on Cloud@Customer.
Remarque : la configuration réseau, y compris le proxy HTTP, ne peut être modifiée que jusqu'à ce que l'infrastructure Exadata présente l'état Activation requise. Une fois qu'il est activé, vous ne pouvez pas modifier ces paramètres.
La configuration d'un proxy HTTP pour une infrastructure Exadata déjà provisionnée nécessite une demande de service dans My Oracle Support. Pour plus de détails, reportez-vous à Création d'une demande d'assistance dans My Oracle Support.
Récapitulatif des sous-pgrogrammes DBMS_CLOUD pour la gestion de fichiers en masse
Sous-programmes pour les opérations de fichier en masse dans le package DBMS_CLOUD.
| Sous-programme | Description |
|---|---|
| Procédure BULK_COPY | Cette procédure copie les fichiers d'un bucket Cloud Object Storage vers un autre. |
| Procédure BULK_DELETE | La procédure supprime des fichiers du bucket ou du dossier Cloud Object Storage. |
| Procédure BULK_DOWNLOAD | Cette procédure télécharge les fichiers du bucket de banque d'objets cloud vers un répertoire dans la base de données Autonomous AI. |
| Procédure BULK_MOVE | Cette procédure déplace les fichiers d'un bucket Cloud Object Storage vers un autre. |
| Procédure BULK_UPLOAD | Cette procédure télécharge des fichiers à partir d'un répertoire dans Autonomous AI Database vers le stockage d'objets cloud. |
Procédure BULK_COPY
Cette procédure copie en masse des fichiers d'un bucket Cloud Object Storage vers un autre. La forme surchargée permet d'utiliser le paramètre operation_id.
Vous pouvez filtrer la liste des fichiers à supprimer à l'aide d'un modèle d'expression régulière compatible avec l'opérateur REGEXP_LIKE.
Le dossier ou le bucket source et cible peuvent se trouver dans le même fournisseur de banque d'objets cloud ou dans un autre fournisseur.
Lorsque la source et la cible se trouvent dans des banques d'objets distinctes ou ont des comptes différents avec le même fournisseur cloud, vous pouvez attribuer des noms d'informations d'identification distincts pour les emplacements source et cible.
Par défaut, le nom des informations d'identification source est également utilisé par l'emplacement cible.
Syntaxe
DBMS_CLOUD.BULK_COPY (
source_credential_name IN VARCHAR2 DEFAULT NULL,
source_location_uri IN VARCHAR2,
target_location_uri IN VARCHAR2,
target_credential_name IN VARCHAR2 DEFAULT NULL,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL
);
DBMS_CLOUD.BULK_COPY (
source_credential_name IN VARCHAR2 DEFAULT NULL,
source_location_uri IN VARCHAR2,
target_location_uri IN VARCHAR2,
target_credential_name IN VARCHAR2 DEFAULT NULL,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL,
operation_id OUT NUMBER
);
Paramètres
| Paramètre | Description |
|---|---|
source_credential_name |
Nom des informations d'identification permettant d'accéder au stockage d'objet cloud. Si vous ne fournissez pas de valeur |
source_location_uri |
Indique l'URI qui pointe vers l'emplacement du dossier ou du bucket Object Storage source. Ce paramètre est obligatoire. URI de fichier source cloud Vous pouvez utiliser des caractères génériques ainsi que des expressions régulières dans les noms de fichier dans les URI de fichier source cloud. Les expressions régulières ne peuvent être utilisées que lorsque le paramètre Les caractères "*" et " ?" sont considérés comme des caractères génériques lorsque le paramètre Les modèles d'expression régulière sont uniquement pris en charge pour le nom de fichier ou le chemin de sous-dossier dans vos URI et la correspondance de modèle est identique à celle effectuée par la fonction Exemple d'utilisation des expressions régulières : Exemple avec des caractères génériques : Le format des URI dépend du service Cloud Object Storage que vous utilisez. Pour en savoir plus, reportez-vous àFormats d'URI de stockage d'objet cloud. Pour plus d'informations sur la condition |
target_location_uri |
Indique l'URI du bucket ou dossier Object Storage cible dans lequel les fichiers doivent être copiés. Ce paramètre est obligatoire. Spécifie l'URI, qui pointe vers l'emplacement du dossier ou du bucket Object Storage source. Ce paramètre est obligatoire. Le format des URI dépend du service Cloud Object Storage. Pour plus d'informations, reportez-vous à Formats d'URI de stockage d'objet cloud de fichier de package DBMS_CLOUD. |
target_credential_name |
Nom des données d'identification permettant d'accéder à l'emplacement de stockage d'objet cloud cible. Si vous ne fournissez pas de valeur |
regex_filter |
Spécifie l'expression REGEX pour filtrer les fichiers. Le modèle d'expression REGEX doit être compatible avec l'opérateur Si vous ne fournissez pas de valeur Pour plus d'informations, reportez-vous à Condition REGEXP_LIKE. |
format |
Spécifie les options de configuration supplémentaires pour l'opération de fichier. Ces options sont indiquées sous forme de chaîne JSON. Les options de format prises en charge sont les suivantes :
Si vous ne fournissez pas de valeur |
operation_id |
Utilisez ce paramètre pour suivre la progression et le statut final de l'opération de chargement sous l'ID correspondant dans la vue USER_LOAD_OPERATIONS. |
Remarque : une erreur est renvoyée lorsque les URI source et cible pointent vers le même bucket ou dossier Object Storage.
Exemple
BEGIN
DBMS_CLOUD.BULK_COPY (
source_credential_name => 'OCI_CRED',
source_location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname1/o',
target_location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname2/o',
format => JSON_OBJECT ('logretention' value 7, 'logprefix' value 'BULKOP')
);
END;
/
Procédure BULK_DELETE
Cette procédure supprime en masse des fichiers du stockage d'objets cloud. La forme surchargée permet d'utiliser le paramètre operation_id. Vous pouvez filtrer la liste des fichiers à supprimer à l'aide d'un modèle d'expression régulière compatible avec l'opérateur REGEXP_LIKE.
Syntaxe
DBMS_CLOUD.BULK_DELETE(
credential_name IN VARCHAR2 DEFAULT NULL,
location_uri IN VARCHAR2,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL
);
DBMS_CLOUD.BULK_DELETE (
credential_name IN VARCHAR2 DEFAULT NULL,
location_uri IN VARCHAR2,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL,
operation_id OUT NUMBER
);
Paramètres
| Paramètre | Description |
|---|---|
credential_name |
Nom des informations d'identification permettant d'accéder au stockage d'objet cloud. Si vous ne fournissez pas de valeur |
location_uri |
Spécifie l'URI, qui pointe vers un emplacement Object Storage dans la base de données Autonomous AI. Ce paramètre est obligatoire. URI de fichier source cloud Vous pouvez utiliser des caractères génériques ainsi que des expressions régulières dans les noms de fichier dans les URI de fichier source cloud. Les expressions régulières ne peuvent être utilisées que lorsque le paramètre Les caractères "*" et " ?" sont considérés comme des caractères génériques lorsque le paramètre Les modèles d'expression régulière sont uniquement pris en charge pour le nom de fichier ou le chemin de sous-dossier dans vos URI et la correspondance de modèle est identique à celle effectuée par la fonction Exemple : Le format des URI dépend du service Cloud Object Storage que vous utilisez. Pour en savoir plus, reportez-vous àFormats d'URI de stockage d'objet cloud. Pour plus d'informations sur la condition Le format des URI dépend du service Cloud Object Storage. Pour plus d'informations, reportez-vous à Formats d'URI de stockage d'objet cloud de fichier de package DBMS_CLOUD. |
regex_filter |
Spécifie l'expression REGEX pour filtrer les fichiers. Le modèle d'expression REGEX doit être compatible avec l'opérateur Si vous ne fournissez pas de valeur Pour plus d'informations, reportez-vous à Condition REGEXP_LIKE. |
format |
Spécifie les options de configuration supplémentaires pour l'opération de fichier. Ces options sont indiquées sous forme de chaîne JSON. Les options de format prises en charge sont les suivantes :
Si vous ne fournissez pas de valeur |
operation_id |
Utilisez ce paramètre pour suivre la progression et le statut final de l'opération de chargement sous l'ID correspondant dans la vue USER_LOAD_OPERATIONS. |
Exemple
BEGIN
DBMS_CLOUD.BULK_DELETE (
credential_name => 'OCI_CRED',
location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
format => JSON_OBJECT ('logretention' value 5, 'logprefix' value 'BULKDEL')
);
END;
/
Procédure BULK_DOWNLOAD
Cette procédure télécharge les fichiers dans un répertoire de base de données Autonomous AI à partir de Cloud Object Storage. La forme surchargée permet d'utiliser le paramètre operation_id. Vous pouvez filtrer la liste des fichiers à télécharger à l'aide d'un modèle d'expression régulière compatible avec l'opérateur REGEXP_LIKE.
Syntaxe
DBMS_CLOUD.BULK_DOWNLOAD (
credential_name IN VARCHAR2 DEFAULT NULL,
location_uri IN VARCHAR2,
directory_name IN VARCHAR2,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL
);
DBMS_CLOUD.BULK_DOWNLOAD (
credential_name IN VARCHAR2 DEFAULT NULL,
location_uri IN VARCHAR2,
directory_name IN VARCHAR2,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL,
operation_id OUT NUMBER
);
Paramètres
| Paramètre | Description |
|---|---|
credential_name |
Nom des informations d'identification permettant d'accéder au stockage d'objet cloud. Si vous ne fournissez pas de valeur |
location_uri |
Spécifie l'URI, qui pointe vers un emplacement Object Storage dans la base de données Autonomous AI. Ce paramètre est obligatoire. URI de fichier source cloud Vous pouvez utiliser des caractères génériques ainsi que des expressions régulières dans les noms de fichier dans les URI de fichier source cloud. Les expressions régulières ne peuvent être utilisées que lorsque le paramètre Les caractères "*" et " ?" sont considérés comme des caractères génériques lorsque le paramètre Les modèles d'expression régulière sont uniquement pris en charge pour le nom de fichier ou le chemin de sous-dossier dans vos URI et la correspondance de modèle est identique à celle effectuée par la fonction Exemple : Le format des URI dépend du service Cloud Object Storage que vous utilisez. Pour en savoir plus, reportez-vous àFormats d'URI de stockage d'objet cloud. Pour plus d'informations sur la condition |
directory_name |
Nom du répertoire sur la base de données Autonomous AI à partir duquel télécharger les fichiers. Ce paramètre est obligatoire. |
regex_filter |
Spécifie l'expression REGEX pour filtrer les fichiers. Le modèle d'expression REGEX doit être compatible avec l'opérateur Si vous ne fournissez pas de valeur Pour plus d'informations, reportez-vous à Condition REGEXP_LIKE. |
format |
Spécifie les options de configuration supplémentaires pour l'opération de fichier. Ces options sont indiquées sous forme de chaîne JSON. Les options de format prises en charge sont les suivantes :
Si vous ne fournissez pas de valeur |
operation_id |
Utilisez ce paramètre pour suivre la progression et le statut final de l'opération de chargement sous l'ID correspondant dans la vue USER_LOAD_OPERATIONS. |
Exemple
BEGIN
DBMS_CLOUD.BULK_DOWNLOAD (
credential_name => 'OCI_CRED',
location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
directory_name => 'BULK_TEST',
format => JSON_OBJECT ('logretention' value 7, 'logprefix' value 'BULKOP')
);
END;
/
Procédure BULK_MOVE
Cette procédure déplace en masse des fichiers d'un bucket ou dossier Cloud Object Storage vers un autre. La forme surchargée permet d'utiliser le paramètre operation_id.
Vous pouvez filtrer la liste des fichiers à supprimer à l'aide d'un modèle d'expression régulière compatible avec l'opérateur REGEXP_LIKE.
Le dossier ou le bucket source et cible peuvent se trouver dans le même fournisseur de banque d'objets cloud ou dans un autre fournisseur.
Lorsque la source et la cible se trouvent dans des banques d'objets distinctes ou ont des comptes différents avec le même fournisseur cloud, vous pouvez donner des noms d'informations d'identification distincts pour les emplacements source et cible.
Par défaut, le nom des informations d'identification source est également utilisé par l'emplacement cible lorsque le nom des informations d'identification cible n'est pas fourni.
La première étape du déplacement des fichiers consiste à les copier vers l'emplacement cible, puis à supprimer les fichiers source, une fois qu'ils ont été copiés.
L'objet est renommé et non déplacé si la banque d'objets autorise les opérations de changement de nom entre les emplacements source et cible.
Syntaxe
DBMS_CLOUD.BULK_MOVE (
source_credential_name IN VARCHAR2 DEFAULT NULL,
source_location_uri IN VARCHAR2,
target_location_uri IN VARCHAR2,
target_credential_name IN VARCHAR2 DEFAULT NULL,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL
);
DBMS_CLOUD.BULK_MOVE (
source_credential_name IN VARCHAR2 DEFAULT NULL,
source_location_uri IN VARCHAR2,
target_location_uri IN VARCHAR2,
target_credential_name IN VARCHAR2 DEFAULT NULL,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL,
operation_id OUT NUMBER
);
Paramètres
| Paramètre | Description |
|---|---|
source_credential_name |
Nom des infos d'identification permettant d'accéder au stockage d'objet cloud source. Si vous ne fournissez pas de valeur |
source_location_uri |
Indique l'URI qui pointe vers l'emplacement du dossier ou du bucket Object Storage source. Ce paramètre est obligatoire. URI de fichier source cloud Vous pouvez utiliser des caractères génériques ainsi que des expressions régulières dans les noms de fichier dans les URI de fichier source cloud. Les expressions régulières ne peuvent être utilisées que lorsque le paramètre Les caractères "*" et " ?" sont considérés comme des caractères génériques lorsque le paramètre Les modèles d'expression régulière sont uniquement pris en charge pour le nom de fichier ou le chemin de sous-dossier dans vos URI et la correspondance de modèle est identique à celle effectuée par la fonction Exemple d'utilisation d'expressions régulières : Exemple avec des caractères génériques : Le format des URI dépend du service Cloud Object Storage que vous utilisez. Pour en savoir plus, reportez-vous àFormats d'URI de stockage d'objet cloud. Pour plus d'informations sur la condition |
target_location_uri |
Indique l'URI du bucket ou dossier Object Storage cible, où les fichiers doivent être déplacés. Ce paramètre est obligatoire. Le format des URI dépend du service Cloud Object Storage que vous utilisez. Pour en savoir plus, reportez-vous àFormats d'URI de stockage d'objet cloud. |
target_credential_name |
Nom des données d'identification permettant d'accéder à l'emplacement de stockage d'objet cloud cible. Si vous ne fournissez pas de valeur |
regex_filter |
Spécifie l'expression REGEX pour filtrer les fichiers. Le modèle d'expression REGEX doit être compatible avec l'opérateur Si vous ne fournissez pas de valeur Pour plus d'informations, reportez-vous à Condition REGEXP_LIKE. |
format |
Spécifie les options de configuration supplémentaires pour l'opération de fichier. Ces options sont indiquées sous forme de chaîne JSON. Les options de format prises en charge sont les suivantes :
Si vous ne fournissez pas de valeur |
operation_id |
Utilisez ce paramètre pour suivre la progression et le statut final de l'opération de chargement sous l'ID correspondant dans la vue USER_LOAD_OPERATIONS. |
Exemple
BEGIN
DBMS_CLOUD.BULK_MOVE (
source_credential_name => 'OCI_CRED',
source_location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname1/o',
target_location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname2/o',
format => JSON_OBJECT ('logretention' value 7, 'logprefix' value 'BULKMOVE')
);
END;
/
Remarque : une erreur est renvoyée lorsque les URI source et cible pointent vers le même bucket ou dossier Object Storage.
Procédure BULK_UPLOAD
Cette procédure copie les fichiers dans Cloud Object Storage à partir d'un répertoire de base de données Autonomous AI. La forme surchargée permet d'utiliser le paramètre operation_id.
Syntaxe
DBMS_CLOUD.BULK_UPLOAD (
credential_name IN VARCHAR2 DEFAULT NULL,
location_uri IN VARCHAR2,
directory_name IN VARCHAR2,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL
);
DBMS_CLOUD.BULK_UPLOAD (
credential_name IN VARCHAR2 DEFAULT NULL,
location_uri IN VARCHAR2,
directory_name IN VARCHAR2,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL,
operation_id OUT NUMBER
);
Paramètres
| Paramètre | Description |
|---|---|
credential_name |
Nom des informations d'identification permettant d'accéder au stockage d'objet cloud. Si vous ne fournissez pas de valeur |
location_uri |
Spécifie l'URI, qui pointe vers un emplacement Object Storage pour télécharger des fichiers. Ce paramètre est obligatoire. Le format des URI dépend du service Cloud Object Storage. Pour plus d'informations, reportez-vous à Formats d'URI de stockage d'objet cloud de fichier de package DBMS_CLOUD. |
directory_name |
Nom du répertoire sur la base de données Autonomous AI à partir duquel vous téléchargez des fichiers. Ce paramètre est obligatoire. Répertoire Vous pouvez indiquer un répertoire et un ou plusieurs noms de fichier ou utiliser une liste de répertoires et de noms de fichier séparés par des virgules. Le format pour spécifier un répertoire est : Les expressions régulières ne sont pas prises en charge lors de la spécification des noms de fichier dans un répertoire. Vous pouvez uniquement utiliser des caractères génériques pour indiquer des noms de fichier dans un répertoire. Le caractère "*" peut être utilisé comme générique pour plusieurs caractères, et le caractère " ?" peut être utilisé comme générique pour un seul caractère. Par exemple : Pour spécifier plusieurs répertoires, utilisez une liste de répertoires séparés par des virgules : par exemple : Utilisez des guillemets doubles pour indiquer un nom de répertoire sensible à la casse. Par exemple : Pour inclure un guillemet, utilisez deux guillemets. Par exemple : |
regex_filter |
Spécifie l'expression REGEX pour filtrer les fichiers. Le modèle d'expression REGEX doit être compatible avec l'opérateur Si vous ne fournissez pas de valeur Pour plus d'informations, reportez-vous à Condition REGEXP_LIKE. |
format |
Spécifie les options de configuration supplémentaires pour l'opération de fichier. Ces options sont indiquées sous forme de chaîne JSON. Les options de format prises en charge sont les suivantes :
Si vous ne fournissez pas de valeur |
operation_id |
Utilisez ce paramètre pour suivre la progression et le statut final de l'opération de chargement sous l'ID correspondant dans la vue USER_LOAD_OPERATIONS. |
Exemple
BEGIN
DBMS_CLOUD.BULK_UPLOAD (
credential_name => 'OCI_CRED',
location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
directory_name => 'BULK_TEST',
format => JSON_OBJECT ('logretention' value 5, 'logprefix' value 'BULKUPLOAD')
);
END;
/