Présentation
Dans ce tutoriel, vous allez créer une intégration avec un déclencheur d'API qui reçoit des requêtes API pour récupérer des informations sur les clients. En fonction de 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 d'une base de données Oracle.
Objectifs
Ce tutoriel vous explique comment effectuer les tâches suivantes dans votre intégration :
- Ajouter un déclencheur d'API
- Ajouter et configurer des tâches de connecteurs pour les connexions MySQL et Oracle
- Ajouter et configurer des tâches de mappage de données pour extraire et mapper la charge utile de l'API
Coûts
Dans ce tutoriel, vous utilisez les composants facturables suivants de Google Cloud :
Les instructions de ce tutoriel sont conçues pour que votre utilisation des ressources respecte les limites du niveau Toujours sans frais de Google Cloud.
Une fois que vous avez terminé les tâches décrites dans ce document, vous pouvez éviter de continuer à payer des frais en supprimant les ressources que vous avez créées. Pour en savoir plus, consultez la section Effectuer un nettoyage.
Avant de commencer
- Connectez-vous à votre Google Cloud compte. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $de crédits sans frais pour exécuter, tester et déployer des charges de travail.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Create a service account:
-
Ensure that you have the Create Service Accounts IAM role
(
roles/iam.serviceAccountCreator) and the Project IAM Admin role (roles/resourcemanager.projectIamAdmin). Learn how to grant roles. -
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart. - Click Create and continue.
-
Grant the following roles to the service account: Secret Manager Viewer (
roles/secretmanager.viewer), Secret Manager Secret Accessor (roles/secretmanager).To grant a role, find the Select a role list, then select the role.
To grant additional roles, click Add another role and add each additional role.
- Click Continue.
-
Click Done to finish creating the service account.
-
Ensure that you have the Create Service Accounts IAM role
(
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Create a service account:
-
Ensure that you have the Create Service Accounts IAM role
(
roles/iam.serviceAccountCreator) and the Project IAM Admin role (roles/resourcemanager.projectIamAdmin). Learn how to grant roles. -
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart. - Click Create and continue.
-
Grant the following roles to the service account: Secret Manager Viewer (
roles/secretmanager.viewer), Secret Manager Secret Accessor (roles/secretmanager).To grant a role, find the Select a role list, then select the role.
To grant additional roles, click Add another role and add each additional role.
- Click Continue.
-
Click Done to finish creating the service account.
-
Ensure that you have the Create Service Accounts IAM role
(
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 une table nommée 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 en savoir plus sur la création et l'utilisation d'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 que vous utiliserez 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 en savoir plus sur la création et l'utilisation d'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 en savoir plus sur la configuration d'un connecteur MySQL, consultez Connecteur MySQL. - Connexion à une base de données Oracle
- Configurez une connexion à une base de données Oracle dans Integration Connectors pour obtenir les entités des tables
Customer. Pour en savoir plus sur la configuration d'un connecteur MySQL, consultez Connecteur de base de données Oracle.
Créer une intégration
Pour créer une intégration, procédez comme suit :
- Dans la console Google Cloud, accédez à la page Application Integration.
- Dans le menu de navigation de gauche, cliquez sur Integrations (Intégrations) pour ouvrir la page Integrations (Intégrations).
- Cliquez sur Create integration (Créer une intégration), puis saisissez les informations suivantes sur la page Create Integration (Créer une intégration) :
- Integration name (Nom de l'intégration) : saisissez
api_fulfilment. - Description : saisissez
Demo integration created for tutorial. - Région : sélectionnez
us-central1dans la liste des régions compatibles. - Cliquez sur Create (Créer) pour ouvrir l'éditeur d'intégration.
- Integration name (Nom de l'intégration) : saisissez
Configurer un déclencheur d'intégration
Une fois que vous avez créé votre intégration, vous pouvez ajouter et configurer un déclencheur d'intégration qui appelle l'intégration pour un événement identifié.
Pour ce tutoriel, un déclencheur d'API est utilisé pour appeler l'intégration pour chaque nouvelle requête API. Pour ajouter et configurer un déclencheur d'API dans votre intégration api_fulfilment, procédez comme suit :
- Dans l'éditeur d'intégrations, cliquez sur Triggers (Déclencheurs) pour afficher la liste des déclencheurs disponibles.
- Cliquez sur l'élément API trigger (Déclencheur d'API) et placez-le dans l'éditeur d'intégrations.
Application Integration renseigne automatiquement les propriétés du déclencheur Libellé, Nom du déclencheur et ID du déclencheur. L'ID du déclencheur est un ID généré automatiquement au format
api_trigger/TRIGGER_NAMEet est utilisé dans la requête API.
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 :
- Dans la barre de navigation du concepteur, cliquez sur (Afficher/Masquer le panneau) pour afficher le volet Variables.
- Cliquez sur + Create (Créer) et créez les variables d'intégration suivantes :
Nom de la variable Type de données Variable type locationSTRINGEntrée dans l'intégration customer_idSTRINGEntrée dans l'intégration customer_recordJSONSortie de l'intégration
Récupérer les données client à partir d'une base de données MySQL
Si la requête API entrante 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
Pour ajouter et configurer une tâche Connectors (Connecteurs) afin de récupérer les informations sur les clients à partir de la table Customers (Clients) MySQL, procédez comme suit :
- Dans l'éditeur d'intégrations, cliquez sur Tasks (Tâches) pour afficher la liste des tâches disponibles.
- Cliquez sur l'élément Connectors (Connecteurs) et placez-le dans l'éditeur d'intégrations.
- Sélectionnez l'élément de tâche Connectors (Connecteurs) dans le concepteur pour afficher le volet de configuration de la tâche Connectors (Connecteurs).
- Cliquez sur et renommez le libellé Connectors en
Fetch MySQL Data. - Cliquez sur Configure connector (Configurer le connecteur).
- Procédez comme suit sur la page Connectors Task Editor (Éditeur de tâches Connectors) :
- Sous Select connection (Sélectionner une connexion), choisissez la région
us-central1. - Sélectionnez votre connexion Salesforce dans la liste des connexions disponibles.
- Cliquez sur Next (Suivant).
- Sous Type, choisissez Entities (Entités).
- Sous Set entities/actions (Définir les entités/actions), sélectionnez Customers (Clients) dans la liste des entités disponibles, puis sélectionnez Get (Obtenir) comme Operation (Opération).
- Cliquez sur Done (Terminé) pour terminer la configuration de la connexion et fermer le volet.
- Sous Select connection (Sélectionner une connexion), choisissez la région
Mapper l'ID client au connecteur MySQL
Une tâche Data Mapping (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 :
- Dans l'éditeur d'intégrations, cliquez sur Tasks (Tâches) pour afficher la liste des tâches disponibles.
- Cliquez sur l'élément Data Mapping (Mappage de données) et placez-le dans l'éditeur d'intégrations.
- Sélectionnez l'élément Data Mapping (Mappage de données) dans le concepteur pour afficher le volet de configuration de la tâche.
- Cliquez sur et renommez la tâche Data Mapping (Mappage de données) en
Map to MySQL. - Cliquez sur Open Data Mapping Editor (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.
- Mappez la variable d'intégration du déclencheur —
customer_id— à la variable d'entrée du connecteur généré automatiquement —entityId(Fetch MySQL Data).Une fois le mappage terminé, fermez le volet. Toutes les modifications seront enregistrées automatiquement.
- Ajoutez une connexion périphérique de la tâche Map to MySQL (Mapper vers MySQL) au connecteur Fetch MySQL Data (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 :
- Dans l'éditeur d'intégrations, cliquez sur Tasks (Tâches) pour afficher la liste des tâches disponibles.
- Cliquez sur l'élément Data Mapping (Mappage de données) et placez-le dans l'éditeur d'intégrations.
- Cliquez sur l'élément Data Mapping (Mappage de données) dans le concepteur pour afficher le volet de configuration de la tâche.
- Cliquez sur et renommez la tâche Data Mapping (Mappage de données) en
Get MySQL data. - Cliquez sur Open Data Mapping Editor (Ouvrir l'éditeur de mappage de données).
- Mappez la variable de sortie MySQL —
connectorOutputPayload (Fetch MySQL Data)— à la variable d'intégrationcustomer_record.Une fois le mappage terminé, fermez le volet. Toutes les modifications seront enregistrées automatiquement.
- Ajoutez une connexion périphérique du connecteur Fetch MySQL Data (Récupérer les données MySQL) à la tâche Get MySQL data (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 entrante provient de l'emplacement APAC, procédez comme suit pour récupérer les données client à partir de la base de données Oracle.
Se connecter à la base de données Oracle
Pour ajouter et configurer une tâche Connectors (Connecteurs) afin de récupérer les informations sur les clients à partir de la table Customers (Clients) Oracle, procédez comme suit :
- Dans l'éditeur d'intégrations, cliquez sur Tasks (Tâches) pour afficher la liste des tâches disponibles.
- Cliquez sur l'élément Connectors (Connecteurs) et placez-le dans l'éditeur d'intégrations.
- Sélectionnez l'élément de tâche Connectors (Connecteurs) dans le concepteur pour afficher le volet de configuration de la tâche Connectors (Connecteurs).
- Cliquez sur et renommez le libellé Connectors en
Fetch Oracle Data. - Cliquez sur Configure connector (Configurer le connecteur).
- Procédez comme suit sur la page Connectors Task Editor (Éditeur de tâches Connectors) :
- Sous Select connection (Sélectionner une connexion), choisissez la région
us-central1. - Sélectionnez votre connexion Salesforce dans la liste des connexions disponibles.
- Cliquez sur Next (Suivant).
- Sous Type, choisissez Entities (Entités).
- Sous Set entities/actions (Définir les entités/actions), sélectionnez Customers (Clients) dans la liste des entités disponibles, puis sélectionnez Get (Obtenir) comme Operation (Opération).
- Cliquez sur Done (Terminé) pour terminer la configuration de la connexion et fermer le volet.
- Sous Select connection (Sélectionner une connexion), choisissez la région
Mapper l'ID client au connecteur Oracle
Pour ajouter et configurer le mappage de données dans votre intégration, procédez comme suit :
- Dans l'éditeur d'intégrations, cliquez sur Tasks (Tâches) pour afficher la liste des tâches disponibles.
- Cliquez sur l'élément Data Mapping (Mappage de données) et placez-le dans l'éditeur d'intégrations.
- Sélectionnez l'élément Data Mapping (Mappage de données) dans le concepteur pour afficher le volet de configuration de la tâche.
- Cliquez sur et renommez la tâche Data Mapping (Mappage de données) en
Map to Oracle. - Cliquez sur Open Data Mapping Editor (Ouvrir l'éditeur de mappage de données).
- Mappez la variable d'intégration du déclencheur —
customer_id— à la variable d'entrée du connecteur généré automatiquement —entityId(Fetch Oracle Data).Une fois le mappage terminé, fermez le volet. Toutes les modifications seront enregistrées automatiquement.
- Ajoutez une connexion périphérique de la tâche Map to Oracle (Mapper vers Oracle) au connecteur Fetch Oracle Data (Récupérer les données Oracle).
Récupérer les informations client Oracle
Pour récupérer les informations client à partir du connecteur Oracle, procédez comme suit :
- Dans l'éditeur d'intégrations, cliquez sur Tasks (Tâches) pour afficher la liste des tâches disponibles.
- Cliquez sur l'élément Data Mapping (Mappage de données) et placez-le dans l'éditeur d'intégrations.
- Cliquez sur l'élément Data Mapping (Mappage de données) dans le concepteur pour afficher le volet de configuration de la tâche.
- Cliquez sur et renommez la tâche Data Mapping (Mappage de données) en
Get Oracle data. - Cliquez sur Open Data Mapping Editor (Ouvrir l'éditeur de mappage de données).
- Mappez la variable de sortie Oracle —
connectorOutputPayload (Fetch Oracle Data)— à la variable d'intégrationcustomer_record.Une fois le mappage terminé, fermez le volet. Toutes les modifications seront enregistrées automatiquement.
- Ajoutez une connexion périphérique du connecteur Fetch Oracle Data à la tâche Get Oracle data.
Ajouter une condition de périphérie
Une condition de périphérie 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 de périphérie pour définir le flux de l'intégration.
La condition de périphérie suivante contrôle le flux de l'intégration en fonction de la variable d'intégration location :
- Ajoutez une connexion périphérique du déclencheur API à la tâche Map to MySQL (Mapper vers MySQL) avec la condition de périphérie suivante :
$location$ = "US"
- Ajoutez une autre connexion périphérique du déclencheur API à la tâche Map to Oracle (Mapper vers Oracle) avec la condition de périphérie suivante :
$location$ = "APAC"
Exemple de flux d'intégration
L'illustration suivante montre un exemple de mise en page de l'intégration créée à l'aide de ce tutoriel.
Publier une intégration
Pour publier l'intégration, cliquez sur Publish (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
View execution logs for this integration (Afficher les journaux d'exécution pour cette intégration). La page Execution Logs (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 :
- Cliquez sur Test dans la barre d'outils de l'éditeur d'intégrations.
Le volet Test Integration (Tester l'intégration) s'affiche.
- Vous êtes invité à saisir les valeurs de test pour les variables d'entrée d'intégration. Pour ce test, procédez comme suit :.
- customer_id: : saisissez
1. - location : saisissez
APAC.
- customer_id: : saisissez
- Cliquez sur Test Integration (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
{"trigger_id":"api_trigger/api_fulfilment_API_1"}Exemple : Envoyer une requête 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 ne 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 Unpublish (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.