Exécution des requêtes API

Ce tutoriel décrit un cas d'utilisation qui explique comment utiliser Application Integration pour acheminer et récupérer des informations pour une requête d'API d'entrée.

Présentation

Dans ce tutoriel, vous allez créer une intégration avec un déclencheur d'API qui reçoit des requêtes d'API pour récupérer des informations sur les clients. Selon l'emplacement de la requête API, l'intégration récupère les informations sur le client à partir d'une base de données MySQL ou Oracle.

Diagramme d'exécution de l'API Diagramme d'exécution de l'API

Préparer votre environnement

Configurer une base de données MySQL

Connectez-vous à votre serveur MySQL, puis créez une base de données et une table que vous utiliserez dans ce tutoriel. Ce tutoriel utilise une base de données contenant un tableau nommé Customers avec les lignes suivantes :

  +-------------+---------------+--------------------+------------------+
  | customer_id | customer_name | customer_emailID   | customer_city    |
  +-------------+---------------+--------------------+------------------+
  |           1 | Alex          | test-01@test.com   | New York         |
  |           2 | Dana          | test-02@test.com   | Seattle          |
  +-------------+---------------+--------------------+------------------+
  

Pour savoir comment créer et utiliser une base de données MySQL, consultez la documentation MySQL.

Configurer une base de données Oracle

Connectez-vous à votre base de données Oracle et créez une table à utiliser dans ce tutoriel. Ce tutoriel utilise une base de données contenant une table SQL nommée Customers avec les lignes suivantes :

  +-------------+---------------+--------------------+------------------+
  | customer_id | customer_name | customer_emailID   | customer_city    |
  +-------------+---------------+--------------------+------------------+
  |           1 | Amal          | test-01@test.com   | Delhi            |
  |           2 | Hao           | test-02@test.com   | Beijing          |
  +-------------+---------------+--------------------+------------------+
  

Pour savoir comment créer et utiliser une base de données Oracle, consultez la documentation Oracle.

Configurer les connexions

Pour ce tutoriel, vous devez configurer les connexions suivantes dans Integration Connectors :

Connexion MySQL
Configurez une connexion MySQL dans Integration Connectors pour obtenir les entités des tables Customer. Pour savoir comment configurer un connecteur MySQL, consultez Connecteur MySQL.
Connexion Oracle DB
Configurez une connexion Oracle DB dans Integration Connectors pour obtenir les entités de tables Customer. Pour savoir comment configurer un connecteur MySQL, consultez Connecteur Oracle DB.

Créer une intégration

Pour créer une intégration, procédez comme suit :

  1. Dans la console Google Cloud, accédez à la page Application Integration.

    Accéder à Application Integration

  2. Cliquez sur Intégrations dans le menu de navigation de gauche pour ouvrir la page Intégrations.
  3. Cliquez sur Créer une intégration, puis fournissez les informations suivantes sur la page Créer une intégration :
    1. Nom de l'intégration : saisissez api_fulfilment.
    2. Description : saisissez Demo integration created for tutorial.
    3. Région : sélectionnez us-central1 dans la liste des régions compatibles.
    4. Cliquez sur Créer pour ouvrir l'éditeur d'intégration.

Configurer un déclencheur d'intégration

Une fois l'intégration créée, vous pouvez ajouter et configurer un déclencheur d'intégration qui l'invoque pour un événement identifié.

Pour ce tutoriel, un déclencheur d'API est utilisé pour appeler l'intégration à chaque nouvelle requête d'API. Pour ajouter et configurer un déclencheur d'API dans votre intégration api_fulfilment, procédez comme suit :

  1. Dans l'éditeur d'intégrations, cliquez sur Déclencheurs pour afficher la liste des déclencheurs disponibles.
  2. Cliquez sur l'élément Déclencheur d'API et placez-le dans l'éditeur d'intégrations.

    Application Integration renseigne automatiquement le libellé, le nom et l'ID du déclencheur. L'ID du déclencheur est un ID généré automatiquement au format api_trigger/TRIGGER_NAME. Il est utilisé dans la requête API.

  3. Aucune configuration supplémentaire n'est requise pour ce déclencheur.

Créer des variables d'intégration

Les variables d'intégration sont semblables aux variables utilisées dans un langage de programmation. Les données des variables peuvent être lues et écrites tout au long de l'exécution de l'intégration. Pour créer les variables requises pour ce tutoriel, procédez comme suit :

  1. Cliquez sur (Afficher/Masquer le panneau) dans la barre de navigation du concepteur pour afficher le volet Variables.
  2. Cliquez sur + Créer et créez les variables d'intégration suivantes :
    Nom de la variable Type de données Variable type
    location STRING Saisie pour l'intégration
    customer_id STRING Entrée de l'intégration
    customer_record JSON Sortie de l'intégration

Récupérer les données client à partir d'une base de données MySQL

Si la requête d'API d'entrée provient de l'emplacement US, procédez comme suit pour récupérer les données client à partir de la base de données MySQL.

Se connecter à la base de données MySQL

Procédez comme suit pour ajouter et configurer une tâche Connecteurs afin de récupérer les informations sur les clients à partir de la table MySQL Customers :

  1. Dans l'éditeur d'intégrations, cliquez sur Tâches pour afficher la liste des tâches disponibles.
  2. Cliquez sur l'élément Connecteurs et placez-le dans l'éditeur d'intégrations.
  3. Sélectionnez l'élément de tâche Connecteurs dans le concepteur pour afficher le volet de configuration de la tâche Connecteurs.
  4. Cliquez sur et renommez le libellé Connecteurs en Fetch MySQL Data.
  5. Cliquez sur Configurer le connecteur.
  6. Procédez comme suit sur la page Éditeur de tâches Connectors :
    1. Sous Sélectionner une connexion, sélectionnez la région us-central1.
    2. Sélectionnez votre connexion Salesforce dans la liste des connexions disponibles.
    3. Cliquez sur Suivant.
    4. Sous Type, sélectionnez Entités.
    5. Sous Définir les entités/actions, sélectionnez Clients dans la liste des entités disponibles, puis Obtenir comme Opération.
    6. Cliquez sur OK pour terminer la configuration de la connexion et fermer le volet.

Mapper l'ID client au connecteur MySQL

Une tâche Mappage de données est utilisée pour mapper l'ID client au connecteur MySQL. Pour ajouter et configurer le mappage de données dans votre intégration, procédez comme suit :

  1. Dans l'éditeur d'intégrations, cliquez sur Tâches pour afficher la liste des tâches disponibles.
  2. Cliquez sur l'élément Mappage de données et placez-le dans l'éditeur d'intégrations.
  3. Sélectionnez l'élément Mappage de données dans le concepteur pour afficher le volet de configuration de la tâche.
  4. Cliquez sur et renommez la tâche Mappage de données en Map to MySQL.
  5. Cliquez sur Ouvrir l'éditeur de mappage de données.

    L'éditeur de mappage de données vous permet de mapper les variables d'entrée avec les variables de sortie souhaitées à l'aide des fonctions de transformation disponibles. Le résultat est ensuite disponible en tant que variable pour toute autre tâche ou tout autre déclencheur d'intégration. Pour en savoir plus sur le mappage des variables, consultez Ajouter un mappage.

  6. Mappez la variable d'intégration du déclencheur —customer_id— à la variable d'entrée du connecteur générée automatiquement —entityId(Fetch MySQL Data)—.

    Une fois le mappage terminé, fermez le volet. Toutes les modifications seront enregistrées automatiquement.

  7. Ajoutez une connexion de périphérie de la tâche Mapper à MySQL au connecteur Récupérer les données MySQL.

Récupérer les informations client MySQL

Pour récupérer les informations client à partir du connecteur MySQL, procédez comme suit :

  1. Dans l'éditeur d'intégrations, cliquez sur Tâches pour afficher la liste des tâches disponibles.
  2. Cliquez sur l'élément Mappage de données et placez-le dans l'éditeur d'intégrations.
  3. Cliquez sur l'élément Mappage de données dans le concepteur pour afficher le volet de configuration de la tâche.
  4. Cliquez sur et renommez la tâche Mappage de données en Get MySQL data.
  5. Cliquez sur Ouvrir l'éditeur de mappage de données.
  6. Mappez la variable de sortie MySQL connectorOutputPayload (Fetch MySQL Data) à la variable d'intégration customer_record.

    Une fois le mappage terminé, fermez le volet. Toutes les modifications seront enregistrées automatiquement.

  7. Ajoutez une connexion de périphérie du connecteur Récupérer les données MySQL à la tâche Obtenir les données MySQL.

Récupérer les données client à partir d'une base de données Oracle

Si la requête API d'entrée provient de l'emplacement APAC, procédez comme suit pour récupérer les données client de la base de données Oracle.

Se connecter à la base de données Oracle

Procédez comme suit pour ajouter et configurer une tâche Connecteurs afin de récupérer les informations sur les clients à partir de la table Oracle Customers :

  1. Dans l'éditeur d'intégrations, cliquez sur Tâches pour afficher la liste des tâches disponibles.
  2. Cliquez sur l'élément Connecteurs et placez-le dans l'éditeur d'intégrations.
  3. Sélectionnez l'élément de tâche Connecteurs dans le concepteur pour afficher le volet de configuration de la tâche Connecteurs.
  4. Cliquez sur et renommez le libellé Connecteurs en Fetch Oracle Data.
  5. Cliquez sur Configurer le connecteur.
  6. Procédez comme suit sur la page Éditeur de tâches Connectors :
    1. Sous Sélectionner une connexion, sélectionnez la région us-central1.
    2. Sélectionnez votre connexion Salesforce dans la liste des connexions disponibles.
    3. Cliquez sur Suivant.
    4. Sous Type, sélectionnez Entités.
    5. Sous Définir les entités/actions, sélectionnez Clients dans la liste des entités disponibles, puis Obtenir comme Opération.
    6. Cliquez sur OK pour terminer la configuration de la connexion et fermer le volet.

Associer un numéro client au connecteur Oracle

Pour ajouter et configurer le mappage de données dans votre intégration, procédez comme suit :

  1. Dans l'éditeur d'intégrations, cliquez sur Tâches pour afficher la liste des tâches disponibles.
  2. Cliquez sur l'élément Mappage de données et placez-le dans l'éditeur d'intégrations.
  3. Sélectionnez l'élément Mappage de données dans le concepteur pour afficher le volet de configuration de la tâche.
  4. Cliquez sur et renommez la tâche Mappage de données en Map to Oracle.
  5. Cliquez sur Ouvrir l'éditeur de mappage de données.
  6. Mappez la variable d'intégration du déclencheur —customer_id— à la variable d'entrée du connecteur générée automatiquement —entityId(Fetch Oracle Data)—.

    Une fois le mappage terminé, fermez le volet. Toutes les modifications seront enregistrées automatiquement.

  7. Ajoutez une connexion de périphérie de la tâche Mapper à Oracle au connecteur Récupérer les données Oracle.

Récupérer les informations sur le client Oracle

Pour récupérer les informations client à partir du connecteur Oracle, procédez comme suit :

  1. Dans l'éditeur d'intégrations, cliquez sur Tâches pour afficher la liste des tâches disponibles.
  2. Cliquez sur l'élément Mappage de données et placez-le dans l'éditeur d'intégrations.
  3. Cliquez sur l'élément Mappage de données dans le concepteur pour afficher le volet de configuration de la tâche.
  4. Cliquez sur et renommez la tâche Mappage de données en Get Oracle data.
  5. Cliquez sur Ouvrir l'éditeur de mappage de données.
  6. Mappez la variable de sortie Oracle — connectorOutputPayload (Fetch Oracle Data) — à la variable d'intégration customer_record.

    Une fois le mappage terminé, fermez le volet. Toutes les modifications seront enregistrées automatiquement.

  7. Ajoutez une connexion de périphérie du connecteur Récupérer les données Oracle à la tâche Obtenir les données Oracle.

Ajouter une condition de périphérie

Une condition d'arête vous permet de spécifier les conditions à remplir pour que le contrôle d'une intégration soit transmis à la tâche connectée par l'arête. Maintenant que vous avez ajouté et configuré les tâches requises, vous pouvez ajouter une condition périphérique pour définir le flux de l'intégration.

La condition d'arête suivante contrôle le flux de l'intégration en fonction de la variable d'intégration location :

  1. Ajoutez une connexion périphérique du déclencheur API à la tâche Mapper à MySQL avec la condition périphérique suivante :
      $location$ = "US"
  2. Ajoutez une autre connexion périphérique du déclencheur API à la tâche Mapper à Oracle avec la condition périphérique suivante :
      $location$ = "APAC"

Exemple de flux d'intégration

La figure suivante présente un exemple de mise en page de l'intégration créée à l'aide de ce tutoriel.

Exemple d'image montrant le flux d'intégration Exemple d'image montrant le flux d'intégration

Publier l'intégration

Pour publier l'intégration, cliquez sur Publier dans la barre d'outils de l'éditeur d'intégrations.

Une fois l'intégration publiée, vous pouvez afficher et inspecter les journaux d'exécution qui s'y rapportent. Pour afficher les journaux, cliquez sur image montrant l'icône des journaux d'exécutionAfficher les journaux d'exécution pour cette intégration. La page Journaux d'exécution s'affiche.

Tester l'intégration

Tester l'intégration à partir de l'éditeur d'intégration

Pour tester l'intégration à partir de l'éditeur d'intégration, procédez comme suit :

  1. Cliquez sur Tester dans la barre d'outils de l'éditeur d'intégrations.

    Le volet Tester l'intégration s'affiche.

  2. Vous êtes invité à saisir les valeurs de test pour les variables d'entrée de l'intégration. Pour ce test, procédez comme suit :
    • customer_id: : saisissez 1.
    • location : saisissez APAC.
  3. Cliquez sur Tester l'intégration.

L'intégration s'exécute correctement et la valeur client suivante s'affiche :

{ 
  "CUSTOMER_ID": 1,
  "CUSTOMER_NAME": "Amal"
  "CUSTOMER_EMAILID": "test-01@test.com "
  "CUSTOMER_CITY": "Delhi"
}

Pour en savoir plus sur les tests, consultez la page Tester et publier des intégrations.

Tester à l'aide d'un appel d'API REST

Maintenant que l'intégration est publiée et en cours d'exécution, vous pouvez l'appeler à l'aide de l'appel REST POST suivant :

URL :
https://integrations.googleapis.com/v1/projects/project-name/locations/-/integrations/api_fulfilment:execute 
Corps de la requête :
{"trigger_id":"api_trigger/api_fulfilment_API_1"}

Exemple : Envoyer une requête d'API avec des entrées personnalisées

curl -v -X POST -H "Content-Type: application/json" 'https://integrations.googleapis.com/v1/projects/connectors-ip-test/locations/us-central1/integrations/api-fulfillment-integration:execute' -H "Authorization: Bearer $(gcloud auth AUTH_PROFILE)" -d  '{ "triggerId": "api_trigger/api-fulfillment-integration_API_1", "inputParameters": { "customer_id": {"string_value": 1}, "location" : {"string_value" : "US"}} }'

L'API renvoie la réponse d'exécution de l'intégration contenant l'ensemble du code JSON suivant :

  { 
    "CUSTOMER_ID": 2,
    "CUSTOMER_NAME": "Dana"
    "CUSTOMER_EMAILID": "test-02@test.com "
    "CUSTOMER_CITY": "Seattle"
  }
  

Effectuer un nettoyage

Pour éviter que les ressources utilisées dans ce tutoriel soient facturées sur votre compte Google Cloud, annulez la publication de l'intégration et supprimez les connexions créées dans Integration Connectors.

  • Pour annuler la publication de cette intégration, cliquez sur Annuler la publication dans la barre d'outils de l'éditeur d'intégrations. Pour en savoir plus, consultez Supprimer des intégrations.
  • Pour savoir comment supprimer une connexion, consultez Gérer les connecteurs.