MySQL

Le connecteur MySQL vous permet d'insérer, de lire, de mettre à jour et de supprimer des lignes dans une base de données MySQL.

Versions compatibles

MySQL 5.0 à 8.0

Avant de commencer

Avant d'utiliser le connecteur MySQL, effectuez les tâches suivantes :

  • Dans votre projet Google Cloud :
    • Accordez 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. Cliquez sur + Créer pour ouvrir la page Créer une connexion.
  2. Dans la section Emplacement, choisissez l'emplacement de la connexion.
    1. Dans la liste Région, sélectionnez la région dans laquelle vous souhaitez créer la connexion.

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

    2. Cliquez sur Suivant.
  3. Dans la section Détails de connexion, saisissez les informations suivantes :
    1. Dans la liste Connecteur, sélectionnez MySQL (bêta).
    2. Dans la liste Version du connecteur, sélectionnez la version du connecteur.
    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 :

      • Utilisez des lettres, des chiffres ou des traits d'union.
      • Les lettres doivent être en minuscules.
      • Les noms doivent commencer par une lettre et se terminer par une lettre ou un chiffre.
      • Les noms ne peuvent pas dépasser 63 caractères.
    4. Facultatif : dans le champ Description, ajoutez une description de l'instance de connexion.
    5. Facultatif : activez Cloud Logging.
    6. Dans la liste Compte de service, sélectionnez un compte de service disposant des rôles requis.
    7. Dans le champ Nom de la base de données, saisissez le nom de la base de données MySQL.
    8. 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. Pour traiter plus de transactions pour une connexion, plus de nœuds sont nécessaires. À l'inverse, moins de nœuds sont nécessaires pour traiter moins de transactions. Pour comprendre comment les nœuds affectent 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.

    9. Utiliser un proxy : cochez cette case pour configurer un serveur proxy pour la connexion, et spécifiez les valeurs suivantes :
      • Schéma d'authentification du proxy : sélectionnez le type d'authentification pour l'authentification auprès du serveur proxy. Les types d'authentification suivants sont compatibles :
        • Basique : authentification HTTP de base.
        • Condensé : authentification HTTP par condensé.
      • Utilisateur du proxy : nom d'utilisateur à utiliser pour l'authentification auprès du serveur proxy.
      • Mot de passe du proxy : secret Secret Manager du mot de passe de l'utilisateur.
      • Type SSL du proxy : type SSL à utiliser lors de la connexion au serveur proxy. Les types d'authentification suivants sont compatibles :
        • Auto : paramètre par défaut. Dans le cas d'une URL HTTPS, l'option "Tunnel" est utilisée. Dans le cas d'une URL HTTP, l'option "JAMAIS" est utilisée.
        • Toujours : la connexion SSL est toujours activée.
        • Jamais : la connexion n'est pas activée pour SSL.
        • Tunnel : la connexion s'effectue via un proxy de tunnelisation. Le serveur proxy ouvre une connexion à l'hôte distant et le trafic transite par le proxy.
      • Dans la section Serveur proxy, saisissez les détails du serveur proxy.
        1. Cliquez sur + Ajouter une destination.
        2. Sélectionnez un type de destination.
          • Adresse de l'hôte : spécifiez le nom d'hôte ou l'adresse IP de la destination.

            Si vous souhaitez établir une connexion privée à votre système backend, procédez comme suit :

    10. Facultatif : pour ajouter un libellé à la connexion, cliquez sur + Ajouter un libellé.
    11. Cliquez sur Suivant.
    12. Dans la section Destinations, saisissez les informations concernant l'hôte distant (système backend) auquel vous souhaitez vous connecter.
      • Dans la liste Type de destination, sélectionnez une adresse hôte.
        • Dans la liste, sélectionnez Host address (Adresse de l'hôte) pour spécifier le nom d'hôte ou l'adresse IP de la destination.
        • Si vous souhaitez établir une connexion privée à vos systèmes de backend, sélectionnez Rattachement de point de terminaison dans la liste, puis sélectionnez le rattachement de point de terminaison requis dans la liste Rattachement de point de terminaison.

        Si vous souhaitez établir une connexion publique avec vos systèmes backend avec une sécurité supplémentaire, vous pouvez envisager de configurer des adresses IP sortantes statiques pour vos connexions, puis configurer vos règles de pare-feu pour n'ajouter à la liste d'autorisation que les adresses IP statiques spécifiques.

        Pour saisir d'autres destinations, cliquez sur + Ajouter une destination.

      • Cliquez sur Suivant.
    13. Dans la section Authentification, vous pouvez fournir des identifiants :
      • Dans le champ Nom d'utilisateur, saisissez le nom d'utilisateur MySQL pour la connexion.
      • Dans le champ Mot de passe, saisissez le secret Secret Manager contenant le mot de passe associé au nom d'utilisateur MySQL.
        • Si vous avez déjà créé un secret et qu'il n'est pas disponible dans la liste, sélectionnez Saisir le secret manuellement. Dans la boîte de dialogue Ajouter un secret par ID de ressource, copiez et collez l'ID de ressource à partir de Secret Manager.
          • Pour utiliser la dernière version, copiez et collez l'ID de ressource à partir du secret parent, au format suivant : "projects/project-number/secrets/secret-name"
          • Pour sélectionner une version spécifique, copiez et collez l'ID de ressource de cette version spécifique au format "projects/project-number/secrets/secret-name/versions/1".

          Pour ajouter le secret, cliquez sur Ajouter un secret.

        • Si vous n'avez pas créé de secret à utiliser avec MySQL, cliquez sur Nouveau secret. Dans la boîte de dialogue Create Secret (Créer un secret), saisissez les détails suivants :
          • Dans le champ Nom, saisissez le nom du secret.
          • Dans le champ Valeur du secret, saisissez le contenu du secret ou importez un fichier contenant le secret.
          • Cliquez sur Créer un secret.
      • Dans la liste Version du secret, sélectionnez la version du secret mot de passe dans la liste déroulante des versions disponibles.
      • Cliquez sur Suivant.
  4. Dans la section Vérifier, examinez vos informations de connexion et d'authentification.
  5. 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 MySQL à utiliser pour la connexion.
    • Mot de passe : secret Secret Manager contenant le mot de passe associé au nom d'utilisateur MySQL.

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'accepte 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. Normalement, une action comporte des paramètres d'entrée et un paramètre de sortie. 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 MySQL peut traiter 10 transactions par seconde et par nœud, et limite toutes les transactions au-delà de cette limite. Par défaut, Integration Connectors alloue deux nœuds (pour une meilleure disponibilité) à une connexion.

Pour en savoir plus sur les limites applicables à Integration Connectors, consultez 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 ENTRÉE
  • HEURE
  • TIMESTAMP
  • TINY INT
  • VARBINARY
  • VARCHAR

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 afficher un exemple de modèle Terraform pour la création de 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 Obligatoire Description
database_name STRING Vrai Nom de la base de données MySQL à laquelle se connecter.
proxy_enabled VALEUR BOOLÉENNE Faux Cochez cette case pour configurer un serveur proxy pour la connexion.
proxy_auth_scheme ENUM Faux Type d'authentification à utiliser pour s'authentifier auprès du proxy ProxyServer. Les valeurs acceptées sont: BASIC, DIGEST, NONE
proxy_user STRING Faux Nom d'utilisateur permettant de s'authentifier auprès du proxy ProxyServer.
proxy_password SECRET Faux Mot de passe à utiliser pour l'authentification auprès du proxy ProxyServer.
proxy_ssltype ENUM Faux Type SSL à utiliser lors de la connexion au proxy ProxyServer. Les valeurs acceptées sont: AUTO, ALWAYS, NEVER et TUNNEL.

Actions

Ce connecteur permet l'exécution des actions suivantes:

  • Procédures et fonctions stockées définies par l'utilisateur. Si des procédures et des fonctions sont stockées dans votre backend, elles sont répertoriées dans la colonne Actions de la boîte de dialogue Configure connector task.
  • Requêtes SQL personnalisées. Pour exécuter des requêtes SQL personnalisées, le connecteur fournit l'action Execute custom query (Exécuter une 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 Execute custom query (Exécuter une requête personnalisée), puis cliquez sur Done (OK).

      image montrant la commande "execute-custom-query-action" image montrant la commande "execute-custom-query-action"

    4. Développez la section Task input (Entrée de la tâche), puis procédez comme suit :
      1. Dans le champ Délai avant expiration après, saisissez le nombre de secondes d'exécution de la requête.

        Valeur par défaut: 180 secondes.

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

        Valeur par défaut : 25

      3. Pour mettre à jour la requête personnalisée, cliquez sur Modifier le script personnalisé. La boîte de dialogue Éditeur de scripts s'ouvre.

        image montrant une requête "custom-sql-query" image montrant une requête "custom-sql-query"

      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 paramètre unique 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 pour 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 chaque point d'interrogation. Lors de l'exécution de l'intégration, ces paramètres remplacent successivement 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 dans l'ordre.

        image montrant l'ajout d'un paramètre de requête image montrant l'ajout d'un paramètre de requête

        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.

Exemples d'actions

Exemple – Déterminer la valeur la plus élevée

Cet exemple montre comment exécuter une fonction définie par l'utilisateur. Dans cet exemple, la fonction find_greater compare deux entiers et renvoie l'entier supérieur.

  1. Dans la boîte de dialogue Configure connector task, cliquez sur Actions.
  2. Sélectionnez l'action find_greater, puis cliquez sur OK.
  3. 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 :
    {
    "$1": 1.0,
    "$2": 5.0
    }
  4. Si l'exécution de l'action aboutit, le champ connectorOutputPayload de la tâche de connecteur aura une valeur semblable à celle-ci:

    [{
    "bignum": 5.0
    }]

Exemples d'opérations sur les entités

Exemple : Lister les enregistrements d'une entité

Cet exemple répertorie les enregistrements de l'entité Users.

  1. Dans la boîte de dialogue Configure connector task, cliquez sur Entities.
  2. Sélectionnez Users dans la liste Entity.
  3. Sélectionnez l'opération List, puis cliquez sur OK.
  4. Dans la section Task Input (Entrée de la tâche) de la tâche Connectors (Connecteurs), vous pouvez définir la clause filterClause selon vos besoins.

    Par exemple, si vous définissez la clause de filtre sur employeeCode='5100' and startDate='2010-01-01 00:00:00', vous ne répertoriez que les enregistrements dont le code employeeCode correspond à 5100 et dont la valeur startDate est 2010-01-01 00:00:00.

Exemple : Obtenir un enregistrement unique à partir d'une entité

Cet exemple extrait un enregistrement de l'entité Users.

  1. Dans la boîte de dialogue Configure connector task, cliquez sur Entities.
  2. Sélectionnez User 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, puis saisissez 103032 dans le champ Default Value (Valeur par défaut).

    Ici, 103032 est la valeur de clé primaire de l'entité Users.

Exemple : supprimer un enregistrement d'une entité

Cet exemple supprime un enregistrement de l'entité Users.

  1. Dans la boîte de dialogue Configure connector task, cliquez sur Entities.
  2. Sélectionnez Users dans la liste Entity.
  3. Sélectionnez l'opération Delete, 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, puis saisissez 113132 dans le champ Default Value (Valeur par défaut).

    Si l'entité possède des clés primaires composites au lieu de spécifier entityId, vous pouvez définir filterClause. Exemple :employeeCode='5100' and startDate='2010-01-01 00:00:00'

Exemple – Créer un enregistrement dans une entité

Cet exemple crée un enregistrement dans l'entité Users.

  1. Dans la boîte de dialogue Configure connector task, cliquez sur Entities.
  2. Sélectionnez Users 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 à celle-ci dans le champ Default Value :
    {
    "employeeCode": "5100",
    "startDate": "2010-01-01 00:00:00.0",
    "country": "US"
    }
    
  5. Si l'intégration réussit, le champ connectorOutputPayload de la tâche de connecteur contient la réponse à l'opération de création.

Exemple – Mettre à jour un enregistrement dans une entité

Cet exemple met à jour un enregistrement dans l'entité Users.

  1. Dans la boîte de dialogue Configure connector task, cliquez sur Entities.
  2. Sélectionnez Users 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 à celle-ci dans le champ Default Value :
    {
    "country": "IN"
    }
  5. Dans la section Task Input (Entrée de la tâche) de la tâche Connectors (Connecteurs), cliquez sur entityId, puis saisissez 113132 dans le champ Default Value (Valeur par défaut).

    Si l'entité possède des clés primaires composites au lieu de spécifier entityId, vous pouvez définir filterClause. Exemple :employeeCode='5100' and startDate='2010-01-01 00:00:00'

  6. Si l'intégration réussit, le champ connectorOutputPayload de la tâche de connecteur contient la réponse de l'opération de mise à jour.

Utiliser la connexion MySQL dans une intégration

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

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

Consultez également le tutoriel Effectuer des opérations CRUD sur une base de données MySQL qui explique comment créer une connexion MySQL et comment utiliser cette connexion dans une intégration pour effectuer des opérations de lecture et d'écriture.

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