Base de données Oracle (version 2)

Le connecteur de base de données Oracle vous permet de vous connecter à une instance de base de données Oracle (version 11.2 ou ultérieure) et d'effectuer les opérations de base de données compatibles.

Avant de commencer

Avant d'utiliser le connecteur de base de données Oracle, effectuez les tâches suivantes :

  • Dans votre projet Google Cloud :
    • Attribuez le rôle IAM roles/connectors.admin à l'utilisateur qui configure le connecteur.
    • Attribuez les rôles IAM suivants au compte de service que vous souhaitez utiliser pour le connecteur :
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor

      Un compte de service est un compte Google spécial destiné à représenter un utilisateur non humain qui doit s'authentifier et obtenir les autorisations permettant d'accéder aux données des API Google. Si vous ne possédez pas de compte de service, vous devez en créer un. Pour plus d'informations, consultez la section Créer un compte de service.

    • Activez les services suivants :
      • secretmanager.googleapis.com (API Secret Manager)
      • connectors.googleapis.com (API Connectors)

      Pour savoir comment activer des services, consultez la page Activer des services.

    Si ces services ou autorisations n'ont pas encore été activés pour votre projet, vous êtes invité à les activer lors de la configuration du connecteur.

Configurer le connecteur

Pour configurer le connecteur, vous devez créer une connexion à votre source de données (système backend). Une connexion est spécifique à une source de données. Cela signifie que si vous disposez de nombreuses sources de données, vous devez créer une connexion distincte pour chacune d'elles. Pour créer une connexion, procédez comme suit :

  1. Dans la console Cloud, accédez à la page Integration Connectors > Connections (Connecteurs d'intégration > Connexions), puis sélectionnez ou créez un projet Google Cloud.

    Accéder à la page "Connexions"

  2. Cliquez sur + Créer pour ouvrir la page Créer une connexion.
  3. Dans la section Emplacement, choisissez l'emplacement de la connexion.
    1. Région : sélectionnez un emplacement dans la liste déroulante.

      Pour obtenir la liste de toutes les régions disponibles, consultez la page Emplacements.

    2. Cliquez sur Suivant.
  4. Dans la section Détails de connexion, procédez comme suit :
    1. Connecteur : sélectionnez Oracle DB dans la liste déroulante des connecteurs disponibles.
    2. Version du connecteur: sélectionnez la version 2 dans la liste déroulante des versions disponibles.
    3. Dans le champ Nom de connexion, saisissez un nom pour l'instance de connexion.

      Les noms de connexion doivent répondre aux critères suivants :

      • Les noms de connexion peuvent contenir des lettres, des chiffres ou des traits d'union.
      • Les lettres doivent être en minuscules.
      • Les noms de connexion doivent commencer par une lettre et se terminer par une lettre ou un chiffre.
      • Les noms de connexion ne peuvent pas dépasser 63 caractères.
    4. Saisissez éventuellement une Description pour l'instance de connexion.
    5. Vous pouvez également sélectionner Activer Cloud Logging pour activer Cloud Logging.
    6. Compte de service : sélectionnez un compte de service disposant des rôles requis.
    7. Vous pouvez également configurer les paramètres du nœud de connexion :

      • Nombre minimal de nœuds : saisissez le nombre minimal de nœuds de connexion.
      • Nombre maximal de nœuds : saisissez le nombre maximal de nœuds de connexion.

      Un nœud est une unité (ou instance répliquée) de connexion qui traite des transactions. Un plus grand nombre de nœuds est nécessaire afin de traiter plus de transactions pour une connexion. À l'inverse, moins de nœuds sont nécessaires pour traiter moins de transactions. Pour comprendre l'impact des nœuds sur la tarification de votre connecteur, consultez la section Tarifs des nœuds de connexion. Si vous ne saisissez aucune valeur, le nombre minimal de nœuds est défini par défaut sur 2 (pour une meilleure disponibilité) et le nombre maximal sur 50.

    8. ServiceName : nom du service de la base de données Oracle.
    9. DataSource : Oracle Net Services Name, Connect Descriptor (également appelé "TNS Connect String") ou un nom de connexion simple qui identifie la base de données à laquelle se connecter.
    10. Vous pouvez également sélectionner Inclure des synonymes.
    11. Délai avant expiration de la connexion abandonnée: saisissez la valeur du délai avant expiration (en secondes) qui spécifie la durée pendant laquelle une connexion empruntée peut rester inutilisée avant d'être considérée comme abandonnée.
    12. Délai d'expiration de la connexion inactive: saisissez la valeur du délai d'expiration de la connexion (en secondes).
    13. Max Connection Reuse Time (Temps de réutilisation de la connexion maximal) : saisissez le temps de réutilisation de la connexion (en secondes).
    14. Délai d'expiration de la connexion TTL: saisissez le délai maximal d'utilisation de la connexion (en secondes).
    15. Schémas consultables: saisissez les noms des schémas, séparés par une virgule, à utiliser lors de la récupération des entités et des actions. Par exemple, schemaA, schemaB, schemaC.
    16. Vous pouvez également cliquer sur + AJOUTER UN LIBELLÉ pour ajouter un libellé à la connexion sous la forme d'une paire clé/valeur.
    17. Cliquez sur NEXT (Suivant).
  5. Dans la section Destinations, saisissez les informations concernant l'hôte distant (système backend) auquel vous souhaitez vous connecter.
    1. Type de destination : sélectionnez un type de destination.
      1. Dans le champ Host address (Adresse de l'hôte), spécifiez le nom d'hôte ou l'adresse IP de la destination.
        1. Si vous souhaitez établir une connexion privée à vos systèmes backend, procédez comme suit :
          1. Créez un rattachement de service PSC.
          2. Créez un rattachement de point de terminaison, puis saisissez les détails du rattachement de point de terminaison dans le champ Adresse de l'hôte.
        2. Si vous souhaitez établir une connexion publique à vos systèmes backend avec une sécurité supplémentaire, vous pouvez envisager de configurer des adresses IP sortantes statiques pour vos connexions, puis de configurer vos règles de pare-feu pour ajouter à la liste d'autorisation uniquement les adresses IP statiques spécifiques.

      Pour saisir d'autres destinations, cliquez sur + AJOUTER UNE DESTINATION.

    2. Cliquez sur NEXT (Suivant).
  6. Dans la section Authentification, saisissez les informations d'authentification.
    1. Sélectionnez un type d'authentification, puis saisissez les informations appropriées.

      Les types d'authentification suivants sont compatibles avec la connexion Oracle DB :

      • Nom d'utilisateur et mot de passe
    2. Pour comprendre comment configurer ces types d'authentification, consultez la section Configurer l'authentification.

    3. Cliquez sur NEXT (Suivant).
  7. Vérifiez vos informations de connexion et d'authentification.
  8. Cliquez sur Créer.

Configurer l'authentification

Saisissez les détails en fonction de l'authentification que vous souhaitez utiliser.

  • Nom d'utilisateur et mot de passe
    • Nom d'utilisateur : nom d'utilisateur du compte Oracle utilisé pour l'authentification.
    • Mot de passe : secret de Secret Manager contenant le mot de passe associé au nom d'utilisateur du compte Oracle.

Entités, opérations et actions

Tous les connecteurs Integration Connectors fournissent une couche d'abstraction pour les objets de l'application connectée. Vous ne pouvez accéder aux objets d'une application que via cette abstraction. L'abstraction vous est présentée en tant qu'entités, opérations et actions.

  • Entité : une entité peut être considérée comme un objet ou un ensemble de propriétés dans l'application ou le service connecté. La définition d'une entité diffère d'un connecteur à l'autre. Par exemple, dans un connecteur de base de données, les tables sont les entités, dans un connecteur de serveur de fichiers, les dossiers sont les entités et, dans un connecteur de système de messagerie, les files d'attente sont les entités.

    Toutefois, il est possible qu'un connecteur ne soit pas compatible ou ne possède aucune entité. Dans ce cas, la liste Entities est vide.

  • Opération : une opération est l'activité que vous pouvez effectuer sur une entité. Vous pouvez effectuer l'une des opérations suivantes sur une entité :

    La sélection d'une entité dans la liste disponible génère une liste d'opérations disponibles pour l'entité. Pour obtenir une description détaillée des opérations, consultez les opérations d'entité de la tâche de connecteur. Toutefois, si un connecteur n'est compatible avec aucune des opérations d'entité, celles-ci ne sont pas répertoriées dans la liste Operations.

  • Action : une action est une fonction de première classe mise à la disposition de l'intégration via l'interface du connecteur. Une action vous permet de modifier une ou plusieurs entités, et varie d'un connecteur à l'autre. Toutefois, il est possible qu'un connecteur ne prenne en charge aucune action, auquel cas la liste Actions est vide.

Limites du système

Le connecteur de base de données Oracle peut traiter un maximum de 70 transactions par seconde et par nœud, et limite les transactions au-delà de cette limite. Par défaut, Integration Connectors alloue deux nœuds par connexion (pour une meilleure disponibilité).

Pour en savoir plus sur les limites applicables à Integration Connectors, consultez la section Limites.

Types de données acceptés

Les types de données compatibles avec ce connecteur sont les suivants:

  • BIGINT
  • BINARY
  • BIT
  • VALEUR BOOLÉENNE
  • CHAR
  • DATE
  • DÉCIMAL
  • DOUBLE
  • FLOAT
  • INTEGER
  • VARCHAR LONGN
  • VARCHAR LONG
  • NCHAR
  • NUMERIC
  • NVARCHAR
  • REAL
  • PETITE INT
  • HEURE
  • TIMESTAMP
  • TINY INT
  • VARBINARY
  • VARCHAR

Actions

Le connecteur de base de données Oracle vous permet d'exécuter vos procédures stockées, vos fonctions et vos requêtes SQL personnalisées au format compatible avec votre base de données Oracle. Pour exécuter des requêtes SQL personnalisées, le connecteur propose l'action Exécuter la requête personnalisée.

Pour créer une requête personnalisée, procédez comme suit:

  1. Suivez les instructions détaillées pour ajouter une tâche de connecteurs.
  2. Lorsque vous configurez la tâche de connecteur, sélectionnez Actions dans le type d'action à effectuer.
  3. Dans la liste Action, sélectionnez Exécuter la requête personnalisée, puis cliquez sur OK.
  4. Développez la section Task input (Entrée de tâche), puis procédez comme suit :
    1. Dans le champ Délai avant expiration après, saisissez le délai d'exécution de la requête (en secondes).

      Valeur par défaut: 180 secondes.

    2. Dans le champ Nombre maximal de lignes, saisissez le nombre maximal de lignes à renvoyer par la base de données.

      Valeur par défaut : 25

    3. Pour mettre à jour la requête personnalisée, cliquez sur Modifier la requête personnalisée. La boîte de dialogue Éditeur de scripts s'ouvre.
    4. Dans la boîte de dialogue Éditeur de scripts, saisissez la requête SQL, puis cliquez sur Enregistrer.

      Vous pouvez utiliser un point d'interrogation (?) dans une instruction SQL pour représenter un seul paramètre qui doit être spécifié dans la liste des paramètres de requête. Par exemple, la requête SQL suivante sélectionne toutes les lignes de la table Employees correspondant aux valeurs spécifiées dans la colonne LastName:

      SELECT * FROM Employees where LastName=?

    5. Si vous avez utilisé des points d'interrogation dans votre requête SQL, vous devez ajouter le paramètre en cliquant sur + Ajouter un nom de paramètre pour chacun d'eux. Lors de l'exécution de l'intégration, ces paramètres remplacent de manière séquentielle les points d'interrogation (?) dans la requête SQL. Par exemple, si vous avez ajouté trois points d'interrogation (?), vous devez ajouter trois paramètres dans l'ordre indiqué. Pour ajouter des paramètres de requête, procédez comme suit :
      1. Dans la liste Type, sélectionnez le type de données du paramètre.
      2. Dans le champ Valeur, saisissez la valeur du paramètre.
      3. Pour ajouter plusieurs paramètres, cliquez sur + Ajouter un paramètre de requête.

Pour comprendre comment utiliser l'action de requête personnalisée, consultez Exemples d'actions.

Exemples d'actions

Cette section décrit comment effectuer certaines des actions associées à ce connecteur.

Exemple : Exécuter une requête avec regroupement

  1. Dans la boîte de dialogue Configurer la tâche de connecteur, sélectionnez Actions.
  2. Sélectionnez l'action Exécuter la requête personnalisée, puis cliquez sur OK.
  3. Dans la section Task Input (Entrée de la tâche) de la tâche Connectors (Connecteurs), cliquez sur Edit Custom Query (Modifier la requête personnalisée). La boîte de dialogue Requête personnalisée s'ouvre.
  4. Dans la boîte de dialogue Requête personnalisée, saisissez la requête SQL suivante, puis cliquez sur Enregistrer:
          Select E.EMPLOYEE_ID, E.EMPLOYEE_NAME, E.CITY
          FROM EMPLOYEES E
          LEFT JOIN EMPLOYEE_DEPARTMENT ED ON E.EMPLOYEE_ID=ED.ID
          WHERE E.EMPLOYEE_NAME = 'John'
          GROUP BY E.CITY,E.EMPLOYEE_ID,E.EMPLOYEE_NAME
        

    Dans cet exemple, les enregistrements d'employés sont sélectionnés à partir des tables EMPLOYEES et EMPLOYEE_DEPARTMENT. Si l'action aboutit, le résultat de la requête sera défini pour le paramètre de réponse connectorOutputPayload de votre tâche de connecteur.

Exemple – Exécuter une requête paramétrée

  1. Dans la boîte de dialogue Configurer la tâche de connecteur, sélectionnez Actions.
  2. Sélectionnez l'action Exécuter la requête personnalisée, puis cliquez sur OK.
  3. Dans la section Task Input (Entrée de la tâche) de la tâche Connectors (Connecteurs), définissez les valeurs suivantes dans le champ :
    1. Délai avant expiration après: 10
    2. Nombre maximal de lignes:3
  4. Cliquez sur + Ajouter un nom de paramètre pour saisir les valeurs suivantes :
    1. Type : VARCHAR
    2. Valeur : John
  5. Cliquez sur Modifier la requête personnalisée. La boîte de dialogue Requête personnalisée s'ouvre.
  6. Dans la boîte de dialogue Requête personnalisée, saisissez la requête SQL suivante, puis cliquez sur Enregistrer:
      Select C.ID,C.NAME,C.CITY,C.O_DATE,E.EMPLOYEE_ID
      FROM customqueries C,Employees E
      WHERE C.ID=E.Employee_id and C.NAME=?
    
  7. Cet exemple sélectionne les dossiers d'employés dont le nom est John. Notez que le nom de l'employé est paramétré. Si l'action aboutit, le paramètre de réponse connectorOutputPayload de la tâche de connecteur prend une valeur semblable à la suivante:

    [{
    "NAME": "John",
    "O_DATE": "2023-06-01 00:00:00.0",
    "EMPLOYEE_ID": 1.0
    }, {
    "NAME": "John",
    "O_DATE": "2021-07-01 00:00:00.0",
    "EMPLOYEE_ID": 3.0
    }, {
    "NAME": "John",
    "O_DATE": "2022-09-01 00:00:00.0",
    "EMPLOYEE_ID": 4.0
    }]

Exemple – Insérer un enregistrement en utilisant une valeur séquentielle

  1. Dans la boîte de dialogue Configurer la tâche de connecteur, sélectionnez Actions.
  2. Sélectionnez l'action Exécuter la requête personnalisée, puis cliquez sur OK.
  3. Dans la boîte de dialogue Requête personnalisée, saisissez la requête SQL suivante, puis cliquez sur Enregistrer:
      INSERT INTO AUTHOR(id,title) VALUES(author_table_id_seq.NEXTVAL,'Sample_book_title')
    
  4. Cet exemple insère un enregistrement dans la table AUTHOR à l'aide d'un objet de séquence author_table_id_seq existant. Si l'action aboutit, le paramètre de réponse connectorOutputPayload de la tâche de connecteur prend une valeur semblable à la suivante:

    [{
    }]

Exemple : Exécuter une requête avec une fonction d'agrégation

  1. Dans la boîte de dialogue Configurer la tâche de connecteur, sélectionnez Actions.
  2. Sélectionnez l'action Exécuter la requête personnalisée, puis cliquez sur OK.
  3. Dans la boîte de dialogue Requête personnalisée, saisissez la requête SQL suivante, puis cliquez sur Enregistrer:
      SELECT SUM(SALARY) as Total FROM EMPLOYEES
      
  4. Cet exemple calcule la valeur totale des salaires dans la table EMPLOYEES. Si l'action aboutit, le paramètre de réponse connectorOutputPayload de la tâche de connecteur prend une valeur semblable à la suivante:

    [{
    "TOTAL": 13000.0
    }]
      

Exemple : Créer une table

  1. Dans la boîte de dialogue Configurer la tâche de connecteur, sélectionnez Actions.
  2. Sélectionnez l'action Exécuter la requête personnalisée, puis cliquez sur OK.
  3. Dans la boîte de dialogue Requête personnalisée, saisissez la requête SQL suivante, puis cliquez sur Enregistrer:
        CREATE TABLE TEST1 (ID INT, NAME VARCHAR(40),DEPT VARCHAR(20),CITY VARCHAR(10))
     
  4. Cet exemple crée la table TEST1. Si l'action aboutit, le paramètre de réponse connectorOutputPayload de la tâche de connecteur prend une valeur semblable à la suivante:

    [{
    }]

Exemples d'opérations d'entité

Exemple – Lister tous les employés

Cet exemple liste tous les employés de l'entité Employee.

  1. Dans la boîte de dialogue Configure connector task, cliquez sur Entities.
  2. Sélectionnez Employee dans la liste Entity.
  3. Sélectionnez l'opération List, puis cliquez sur OK.
  4. Si vous le souhaitez, dans la section Entrée de tâche de la tâche Connecteurs, vous pouvez filtrer votre ensemble de résultats en spécifiant une clause de filtre.

Exemple : Obtenir des informations sur un employé

Dans cet exemple, les informations sur l'employé dont l'ID est 45 sont récupérées à partir de l'entité Employee.

  1. Dans la boîte de dialogue Configure connector task, cliquez sur Entities.
  2. Sélectionnez Employee dans la liste Entity.
  3. Sélectionnez l'opération Get, puis cliquez sur OK.
  4. Dans la section Task Input (Entrée de la tâche) de la tâche Connectors (Connecteurs), cliquez sur EntityId (ID d'entité), puis saisissez 45 dans le champ Default Value (Valeur par défaut).

    Ici, 45 est la valeur de clé primaire de l'entité Employee.

Exemple : Créer un dossier d'employé

Dans cet exemple, un nouvel enregistrement d'employé est ajouté dans l'entité Employee.

  1. Dans la boîte de dialogue Configure connector task, cliquez sur Entities.
  2. Sélectionnez Employee dans la liste Entity.
  3. Sélectionnez l'opération Create, puis cliquez sur OK.
  4. Dans la section Task Input (Entrée de la tâche) de la tâche Connectors (Connecteurs), cliquez sur connectorInputPayload, puis saisissez une valeur semblable à la suivante dans le champ Default Value:
    {
    "EMPLOYEE_ID": 69.0,
    "EMPLOYEE_NAME": "John",
    "CITY": "Bangalore"
    }

    Si l'intégration réussit, le champ connectorOutputPayload de votre tâche de connecteur aura une valeur semblable à celle-ci:

     {
    "ROWID": "AAAoU0AABAAAc3hAAF"
    }

Exemple : Mettre à jour un dossier d'employé

Cet exemple met à jour l'enregistrement de l'employé dont l'ID est 69 dans l'entité Employee.

  1. Dans la boîte de dialogue Configure connector task, cliquez sur Entities.
  2. Sélectionnez Employee dans la liste Entity.
  3. Sélectionnez l'opération Update, puis cliquez sur OK.
  4. Dans la section Task Input (Entrée de la tâche) de la tâche Connectors (Connecteurs), cliquez sur connectorInputPayload, puis saisissez une valeur semblable à la suivante dans le champ Default Value:
    {
    "EMPLOYEE_NAME": "John",
    "CITY": "Mumbai"
    }
  5. Cliquez sur entityId, puis saisissez 69 dans le champ Default Value (Valeur par défaut).

    Au lieu de spécifier le champ entityId, vous pouvez également définir le champ filterClause sur 69.

    Si l'intégration aboutit, le champ connectorOutputPayload de votre tâche de connecteur aura une valeur semblable à celle-ci:

    {
    }

Exemple : Supprimer un dossier d'employé

Cet exemple supprime l'enregistrement de l'employé dont l'ID est 35 dans l'entité Employee.

  1. Dans la boîte de dialogue Configure connector task, cliquez sur Entities.
  2. Sélectionnez Employee dans la liste Entity.
  3. Sélectionnez l'opération Delete, puis cliquez sur OK.
  4. Dans la section Entrée de tâche de la tâche Connecteurs, cliquez sur entityId, puis saisissez 35 dans le champ Valeur par défaut.

Utiliser Terraform pour créer des connexions

Vous pouvez utiliser la ressource Terraform pour créer une connexion.

Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.

Pour voir un exemple de modèle Terraform pour créer des connexions, consultez cet exemple de modèle.

Lorsque vous créez cette connexion à l'aide de Terraform, vous devez définir les variables suivantes dans votre fichier de configuration Terraform:

Nom du paramètre Type de données Requis Description
service_name STRING Faux Nom de service de la base de données Oracle.
data_source STRING Faux Nom Oracle Net Services, le descripteur de connexion (également appelé chaîne de connexion TNS) ou un nom facile à connecter qui identifie la base de données à laquelle se connecter.
include_synonyms VALEUR BOOLÉENNE Faux Interrogez les métadonnées pour trouver des synonymes et mettez-les à disposition en tant qu'entités. Définir la propriété sur "false" peut améliorer les performances des métadonnées.
abandoned_connection_timeout INTEGER Faux Le délai avant expiration de la connexion empruntée (en secondes) détermine la durée pendant laquelle une connexion empruntée peut rester inutilisée avant d'être considérée comme abandonnée et récupérée par le pool de connexions.
inactive_connection_timeout INTEGER Faux Le délai avant expiration de la connexion inactive (en secondes) détermine la durée pendant laquelle une connexion disponible reste dans le pool de connexions avant d'être supprimée du pool.
max_connection_reuse_time INTEGER Faux La durée maximale de réutilisation d'une connexion (en secondes) indique le temps maximal qu'une connexion peut potentiellement être réutilisé, au terme duquel le pool supprime et ferme une connexion.
ttl_connection_timeout INTEGER Faux Durée maximale d'utilisation (en secondes) d'une connexion.
browsable_schemas STRING Faux Les schémas séparés par une virgule (par exemple, schémaA, schémaB) à utiliser lors de la récupération d'entités et d'actions pour la connexion. Utilise le schéma de l'utilisateur par défaut

Utiliser la connexion à la base de données Oracle dans une intégration

Une fois la connexion créée, elle devient disponible dans Apigee Integration et Application Integration. Vous pouvez utiliser la connexion dans une intégration via la tâche "Connecteurs".

  • Pour découvrir comment créer et utiliser la tâche "Connecteurs" dans Apigee Integration, consultez la page Tâche Connecteurs.
  • Pour découvrir comment créer et utiliser la tâche "Connecteurs" dans Application Integration, consultez la section Tâche Connecteurs.

Obtenir de l'aide auprès de la communauté Google Cloud

Vous pouvez publier vos questions et discuter de ce connecteur sur les forums Cloud de la communauté Google Cloud.

Étapes suivantes