Ensemble DBMS_CLOUD_PIPELINE
L'ensemble DBMS_CLOUD_PIPELINE vous permet de créer des pipelines de données pour charger et exporter des données dans le nuage. Ce package prend en charge le chargement incrémentiel continu des données des fichiers du magasin d'objets dans la base de données. DBMS_CLOUD_PIPELINE prend également en charge l'exportation incrémentielle continue des données de table ou des résultats d'interrogation de la base de données vers le magasin d'objets en fonction d'une colonne d'horodatage.
Conditions requises
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éalables 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.
Une connectivité sortante doit avoir été configurée à l'aide d'une passerelle NAT, par l'administrateur de votre parc, comme décrit ci-dessous :
-
Créez une passerelle NAT dans le réseau en nuage virtuel (VCN) où résident vos ressources de base de données d'intelligence artificielle autonome 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 les ressources de la base de données IA autonome afin que ces ressources puissent utiliser la passerelle pour obtenir une clé publique à partir de votre instance Azure AD :
-
Allez à la page Détails du sous-réseau pour le sous-réseau.
-
Dans l'onglet Informations sur le sous-réseau, cliquez sur le nom de la table de routage du sous-réseau pour afficher sa 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
-
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 avec ces caractéristiques.
-
-
Retournez à la page Détails du sous-réseau pour le 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 sa 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 :Tous
Si une telle règle n'existe pas, cliquez sur Ajouter des règles sortantes et ajoutez une règle sortante 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.
Ces paramètres sont définis par l'administrateur de votre parc lors de la création de l'infrastructure Exadata Cloud@Customer, comme décrit sous Utilisation de la console pour provisionner le service Exadata Database sur Cloud@Customer.
Note : La configuration réseau, y compris le mandataire HTTP, ne peut être modifiée que jusqu'à ce que l'infrastructure Exadata soit à 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.
Sommaire des sous-programmes DBMS_CLOUD_PIPELINE
Ce tableau résume les sous-programmes inclus dans l'ensemble DBMS_CLOUD_PIPELINE.
| Sous-programme | Description |
|---|---|
| Procédure CREATE_PIPELINE | Crée un pipeline de données. |
| Procédure DROP_PIPELINE | Supprime un pipeline de données existant. |
| Procédure RESET_PIPELINE | Réinitialise l'état de suivi d'un pipeline de données. Utilisez le pipeline de réinitialisation pour redémarrer le pipeline à partir de l'état initial de chargement ou d'exportation des données. Facultativement, la réinitialisation du pipeline peut épurer les données dans la base de données ou dans le magasin d'objets, selon le type de pipeline. |
| Procédure RUN_PIPELINE_ONCE | Exécute une exécution sur demande du pipeline dans la session en avant-plan courante, au lieu d'une tâche programmée. |
| Procédure SET_ATTRIBUTE | Définit les attributs de pipeline. Il existe deux procédures surchargées, l'une pour définir un seul attribut et l'autre pour définir plusieurs attributs à l'aide d'un document JSON de paires nom/valeur d'attribut |
| Procédure START_PIPELINE | Démarre le pipeline de données. Lorsqu'un pipeline est démarré, l'opération de pipeline s'exécute en continu dans une tâche programmée en fonction de l'"intervalle" configuré dans les attributs de pipeline. |
| Procédure STOP_PIPELINE | Arrête le pipeline de données. Lorsqu'un pipeline est arrêté, aucune tâche future n'est programmée pour le pipeline. |
Procédure CREATE_PIPELINE
La procédure crée un nouveau pipeline de données.
Syntaxe
DBMS_CLOUD_PIPELINE.CREATE_PIPELINE(
pipeline_name IN VARCHAR2,
pipeline_type IN VARCHAR2,
attributes IN CLOB DEFAULT NULL,
description IN VARCHAR2 DEFAULT NULL
);
Paramètres
| Paramètre | Description |
|---|---|
pipeline_name |
Spécifie un nom pour le pipeline. Le nom du pipeline doit respecter les règles d'attribution de nom des identificateurs SQL Oracle. Pour plus d'informations, voir Identificateurs dans Informations de référence sur le langage PL/SQL pour Oracle Database Database ou Informations de référence sur le langage PL/SQL pour Oracle Database 26ai Database. Ce paramètre est obligatoire. |
pipeline_type |
Spécifie le type de pipeline. Valeurs valides : Ce paramètre est obligatoire. |
attributes |
Attributs de pipeline au format JSON. Valeur par défaut : Pour plus d'informations, voir Attributs DBMS_CLOUD_PIPELINE. |
description |
Description du pipeline. Valeur par défaut : |
Procédure DROP_PIPELINE
La procédure supprime un pipeline de données existant. Si un pipeline a été démarré, il doit être arrêté avant d'être supprimé.
Syntaxe
DBMS_CLOUD_PIPELINE.DROP_PIPELINE(
pipeline_name IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE
);
Paramètres
| Paramètre | Description |
|---|---|
pipeline_name |
Spécifie un nom de pipeline. Ce paramètre est obligatoire. |
force |
Supprimez de force un pipeline, même s'il est à l'état Démarré. Valeurs valides : Valeur par défaut : |
Note d'utilisation
- Pour supprimer un pipeline qui est à l'état Démarré, réglez le paramètre
forceàTRUE.
Procédure RESET_PIPELINE
Réinitialise l'état de suivi d'un pipeline de données. Utilisez le pipeline de réinitialisation pour redémarrer le pipeline à partir de l'état initial de chargement ou d'exportation des données. Facultativement, la réinitialisation du pipeline peut épurer les données dans la base de données ou dans le magasin d'objets, selon le type de pipeline. Un pipeline de données doit être à l'état Arrêté pour être réinitialisé.
Syntaxe
DBMS_CLOUD_PIPELINE.RESET_PIPELINE(
pipeline_name IN VARCHAR2,
purge_data IN BOOLEAN DEFAULT FALSE
);
Paramètres
| Paramètre | Description |
|---|---|
pipeline_name |
Spécifie un nom pour le pipeline. Ce paramètre est obligatoire. |
purge_data |
L'épuration des données s'applique à un pipeline de chargement ou à un pipeline d'exportation :
Valeurs valides : Valeur par défaut : |
Notes d'utilisation
-
Un pipeline de données doit être à l'état Arrêté pour être réinitialisé. Pour plus d'informations, voir Procédure STOP_PIPELINE.
-
Pour un pipeline de chargement, la réinitialisation du pipeline efface l'enregistrement des fichiers en cours de chargement par le pipeline. Lorsque vous appelez
START_PIPELINEouRUN_PIPELINE_ONCEaprès avoir réinitialisé un pipeline de chargement, celui-ci répète le chargement de données et inclut tous les fichiers présents dans l'emplacement du magasin d'objets.Lorsque
purge_dataest réglé àTRUE,DBMS_CLOUD_PIPELINE.RESET_PIPELINEeffectue les opérations suivantes :-
Tronque les données de la table de base de données du pipeline que vous spécifiez avec l'attribut
table_name. -
Supprime la table de statut du pipeline, ainsi que la table de fichiers incorrects et la table d'erreurs du pipeline (s'ils existent).
-
-
Pour un pipeline d'exportation, la réinitialisation du pipeline efface les dernières données suivies dans la table de base de données. Lorsque vous appelez
START_PIPELINEouRUN_PIPELINE_ONCEaprès avoir réinitialisé un pipeline d'exportation, le pipeline répète l'exportation des données à partir de la table ou de l'interrogation.Lorsque
purge_dataest réglé àTRUE,DBMS_CLOUD_PIPELINE.RESET_PIPELINEsupprime les fichiers existants dans l'emplacement de magasin d'objets spécifié avec l'attributlocation.
Procédure RUN_PIPELINE_ONCE
Cette procédure effectue une exécution sur demande du pipeline dans la session en avant-plan courante, au lieu d'une exécution dans une tâche programmée. Utilisez DBMS_CLOUD_PIPELINE.RUN_PIPELINE_ONCE pour tester un pipeline avant de le démarrer en tant que tâche continue.
Syntaxe
DBMS_CLOUD_PIPELINE.RUN_PIPELINE_ONCE(
pipeline_name IN VARCHAR2
);
Paramètres
| Paramètre | Description |
|---|---|
pipeline_name |
Spécifie un nom pour l'exécution du pipeline. Ce paramètre est obligatoire. |
Notes d'utilisation
-
Après avoir effectué une exécution de test d'un pipeline, vous pouvez réinitialiser l'état du pipeline à l'aide de
DBMS_CLOUD_PIPELINE.RESET_PIPELINE. Cela vous permet de réinitialiser l'état du pipeline avant de démarrer le pipeline dans une tâche programmée. -
Si un pipeline est à l'état Démarré, il ne peut pas être exécuté dans la session en avant-plan.
Procédure SET_ATTRIBUTE
Cette procédure définit les attributs de pipeline. Il existe deux procédures surchargées, l'une pour définir un seul attribut et l'autre pour définir plusieurs attributs à l'aide d'un document JSON de paires nom/valeur d'attribut.
Syntaxe
PROCEDURE DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
pipeline_name IN VARCHAR2,
attribute_name IN VARCHAR2,
attribute_value IN CLOB
);
PROCEDURE DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
pipeline_name IN VARCHAR2,
attributes IN CLOB
);
Paramètres
| Paramètre | Description |
|---|---|
pipeline_name |
Spécifie un nom pour le pipeline de définition des attributs. Ce paramètre est obligatoire. |
attribute_name |
Indique le nom de l'attribut à définir. Pour plus d'informations, voir Attributs DBMS_CLOUD_PIPELINE. |
attribute_value |
Spécifie la valeur de l'attribut de pipeline à définir. Pour plus d'informations, voir Attributs DBMS_CLOUD_PIPELINE. |
attributes |
Spécifie un document JSON contenant des noms et des valeurs d'attribut. Pour plus d'informations, voir Attributs DBMS_CLOUD_PIPELINE. |
Note d'utilisation
Lorsque vous utilisez DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE pour définir plusieurs attributs avec le paramètre attributes, tous les attributs existants sont supprimés et remplacés par les attributs spécifiés dans le document JSON.
Procédure START_PIPELINE
La procédure démarre le pipeline de données. Lorsqu'un pipeline est démarré, l'opération de pipeline s'exécute en continu dans une tâche programmée en fonction de interval configurée avec les attributs de pipeline.
Syntaxe
DBMS_CLOUD_PIPELINE.START_PIPELINE(
pipeline_name IN VARCHAR2,
start_date IN TIMESTAMP WITH TIME ZONE DEFAULT NULL
);
Paramètres
| Paramètre | Description |
|---|---|
pipeline_name |
Spécifie un nom pour le pipeline. Ce paramètre est obligatoire. |
start_date |
Spécifie la date de début de la tâche de pipeline. Valeur par défaut : |
Notes d'utilisation
-
Par défaut, une tâche de pipeline commence immédiatement, dès que le pipeline est démarré. Pour démarrer une tâche de pipeline ultérieurement, spécifiez une date ou un horodatage valide à l'aide du paramètre
start_date. -
Voir Attributs DBMS_CLOUD_PIPELINE pour plus d'informations sur le pipeline
intervalet d'autres attributs de pipeline.
Procédure STOP_PIPELINE
La procédure arrête le pipeline de données. Lorsqu'un pipeline est arrêté, aucune tâche future n'est programmée pour le pipeline.
Syntaxe
DBMS_CLOUD_PIPELINE.STOP_PIPELINE(
pipeline_name IN VARCHAR2,
force IN BOOLEAN DEFAULTFALSE
);
Paramètres
| Paramètre | Description |
|---|---|
pipeline_name |
Spécifie un nom pour le pipeline. Ce paramètre est obligatoire. |
force |
Si le paramètre force est transmis en tant que Valeurs valides : Valeur par défaut : |
Attributs DBMS_CLOUD_PIPELINE
Les attributs permettent de contrôler et de configurer le comportement d'un pipeline de données.
Attributs
Note : Comme indiqué dans la colonne Type de pipeline, selon le type de pipeline LOAD ou EXPORT, un pipeline prend en charge un jeu d'attributs différent.
| Nom d'attribut | Description | Type de pipeline | Modifiable après le démarrage du pipeline |
|---|---|---|---|
credential_name |
Nom des données d'identification pour accéder au stockage d'objets en nuage source. Valeur par défaut : Si vous n'indiquez pas |
LOAD, EXPORT |
Oui |
field_list |
Identifie les champs des fichiers sources et leur type de données. La syntaxe de cet argument est identique à celle de la clause Valeur par défaut : La valeur par défaut spécifie les champs et leurs types de données sont déterminés par les colonnes de la table spécifiée dans l'attribut |
LOAD |
Oui |
format |
Options décrivant le format du type de pipeline.
L'extraction de données Cet attribut est obligatoire pour les pipelines |
LOAD, EXPORT |
Oui |
interval |
Intervalle en minutes entre les exécutions consécutives de la tâche de pipeline programmée. Valeur par défaut : 15 minutes |
LOAD, EXPORT |
Oui |
key_column |
Une colonne d'horodatage ou de date dans Valeur par défaut : NULL Si |
EXPORT |
Non |
location |
Ce paramètre spécifie l'URI du fichier source ou les répertoires et les fichiers sources. Vous pouvez utiliser des caractères génériques dans les noms de fichier. Ce paramètre est obligatoire. URI de fichier source en nuage Vous pouvez spécifier un URI de fichier source pour le seau ou le sous-dossier. Vous pouvez utiliser des caractères génériques pour spécifier des sous-dossiers ou des modèles de nom de fichier. Le caractère "\*" peut être utilisé comme caractère générique pour plusieurs caractères, et le caractère "?" peut être utilisé comme caractère générique pour un seul caractère. Exemple utilisant des caractères génériques :
Le format des URI dépend du service de stockage d'objets en nuage que vous utilisez. Pour plus de détails, voir Formats d'URI du service de stockage d'objets en nuage. Répertoire Vous pouvez spécifier un répertoire et un nom de fichier. Le format pour spécifier un répertoire est Vous ne pouvez utiliser que des caractères génériques pour spécifier des noms de fichier dans un répertoire. Le caractère Par exemple : Utilisez des guillemets doubles pour spécifier un nom de répertoire sensible à la casse. Par exemple : Pour inclure un caractère de guillemet, utilisez deux guillemets. Par exemple : |
||
priority |
Spécifie une valeur de chaîne qui détermine le nombre d'opérations parallèles effectuées pour le pipeline.
Une opération avec une priorité plus élevée consomme plus de ressources de base de données et est terminée plus tôt. Valeurs valides :
Valeur par défaut : Le nombre maximal d'opérations de fichier concurrent est limité à 64. |
LOAD, EXPORT |
Oui |
query |
Spécifie un énoncé Par exemple : Valeur par défaut : Pour un pipeline d'exportation, |
EXPORT |
Non |
table_name |
Spécifie le nom de la table cible pour le chargement ou l'exportation des données. Pour un pipeline de chargement, Pour un pipeline d'exportation, |
LOAD, EXPORT |
Non |
table_owner |
Nom du schéma dans lequel réside la table cible pour le chargement ou l'exportation des données. Valeur par défaut : Avec une valeur |
LOAD, EXPORT |
Non |