Consultez la liste des connecteurs compatibles avec Application Integration.
Insérer des données dans BigQuery à l'aide d'une tâche pour chaque parallélisme
Dans ce tutoriel, vous allez créer une intégration d'applications et une sous-intégration pour traiter une série d'enregistrements. Pour chaque enregistrement, l'intégration principale appelle de manière asynchrone la sous-intégration, qui prend les données de chaque enregistrement et les insère en tant que ligne dans une table d'un ensemble de données BigQuery.
Dans ce tutoriel, vous allez effectuer les tâches suivantes :
- Configurer une connexion BigQuery
- Configurer une sous-intégration
- Configurer l'intégration principale
- Tester votre intégration
Avant de commencer
- Vérifiez que vous avez accès à Application Integration.
-
Procédez comme suit dans votre projet Google Cloud :
- Attribuez les rôles suivants au compte de service que vous souhaitez utiliser pour créer la connexion :
roles/bigquery.dataEditor
roles/bigquery.readSessionUser
roles/secretmanager.viewer
roles/secretmanager.secretAccessor
- Activez les services suivants :
secretmanager.googleapis.com
(API Secret Manager)connectors.googleapis.com
(API Connectors)
Si ces services n'ont pas encore été activés pour votre projet, vous êtes invité à les activer lors de la création de la connexion sur la page "Créer une connexion".
- Attribuez les rôles suivants au compte de service que vous souhaitez utiliser pour créer la connexion :
Configurer une connexion BigQuery
Commencez par créer la table et l'ensemble de données BigQuery à utiliser dans ce tutoriel. Une fois l'ensemble de données et la table créés, créez une connexion BigQuery. Vous utiliserez cette connexion dans une intégration plus loin dans ce tutoriel.
Configurer un ensemble de données et une table BigQuery
Pour configurer votre ensemble de données et votre table BigQuery, procédez comme suit :
- Dans la console Cloud, sélectionnez votre projet Google Cloud.
- Pour lancer une session Cloud Shell à partir de la console Google Cloud, cliquez sur l'icône Activer Cloud Shell de la console Cloud. Une session s'ouvre dans le volet inférieur de la console Google Cloud.
-
Pour activer les API BigQuery, saisissez les commandes suivantes dans votre terminal Cloud Shell :
Dans cette commande, remplacez :export PROJECT_ID=project_id export REGION=region gcloud services enable --project "${PROJECT_ID}" \ bigquery.googleapis.com \ bigquerystorage.googleapis.com
project_id
par l'ID de votre projet Google Cloud.region
par la région que vous souhaitez utiliser pour créer votre ensemble de données BigQuery.
- Pour créer un ensemble de données BigQuery nommé
bq_tutorial
, saisissez la commande suivante dans votre terminal Cloud Shell :bq --project_id ${PROJECT_ID} --location ${REGION} mk bq_tutorial
- Pour créer une table BigQuery nommée
tutorial
, saisissez la commande suivante dans votre terminal Cloud Shell :bq --project_id ${PROJECT_ID} \ query \ --nouse_legacy_sql \ 'create table bq_tutorial.tutorial ( unique_key STRING NOT NULL, created_date STRING, closed_date STRING, agency STRING, agency_name STRING, complaint_type STRING, descriptor STRING, location_type STRING, incident_zip STRING, incident_address STRING, street_name STRING, cross_street_1 STRING, cross_street_2 STRING, intersection_street_1 STRING, intersection_street_2 STRING, address_type STRING, city STRING, landmark STRING, facility_type STRING, status STRING, due_date STRING, resolution_action_updated_date STRING, community_board STRING, borough STRING, x_coordinate_state_plane STRING, y_coordinate_state_plane STRING, park_facility_name STRING, park_borough STRING, school_name STRING, school_number STRING, school_region STRING, school_code STRING, school_phone_number STRING, school_address STRING, school_city STRING, school_state STRING, school_zip STRING, school_not_found STRING, school_or_citywide_complaint STRING, vehicle_type STRING, taxi_company_borough STRING, taxi_pick_up_location STRING, bridge_highway_name STRING, bridge_highway_direction STRING, bridge_highway_segment STRING, road_ramp STRING, garage_lot_name STRING, ferry_direction STRING, ferry_terminal_name STRING, latitude STRING, longitude STRING, location STRING ) '
-
Vérifiez que la table BigQuery est créée.
- Sur la page console Cloud, cliquez sur le menu de navigation .
- Dans la section Analyse, cliquez sur BigQuery.
-
Développez votre projet et vérifiez que l'ensemble de données
bq_tutorial
est répertorié. -
Développez l'ensemble de données bq_tutorial et vérifiez que la table
tutorial
est répertoriée. - Cliquez sur la table des documents pour afficher le schéma.
Créer une connexion BigQuery
Vous allez ensuite créer une connexion BigQuery. La connexion BigQuery vous permet d'insérer, de lire, de mettre à jour et de supprimer des lignes dans une table BigQuery, et d'utiliser le résultat obtenu dans une intégration. Une fois la connexion BigQuery créée, vous l'utiliserez dans une intégration ultérieure de ce tutoriel pour ajouter des lignes à la table BigQuery.
Pour créer une connexion BigQuery, procédez comme suit :
- Dans la console Cloud, sélectionnez votre projet Google Cloud.
- Ouvrez la page Connexions.
- Cliquez sur + CRÉER pour ouvrir la page Créer une connexion.
- Configurez la connexion :
- Dans la section Créer une connexion, procédez comme suit :
- Connecteur : sélectionnez BigQuery dans la liste déroulante des connecteurs disponibles.
- Version du connecteur: sélectionnez la dernière version du connecteur dans la liste déroulante des versions disponibles.
- Dans le champ Nom de connexion, saisissez un nom pour l'instance de connexion. Pour ce tutoriel, saisissez connector-bq-tutorial.
- Ajoutez éventuellement une description de l'instance de connexion.
- Compte de service : sélectionnez un compte de service disposant des rôles requis.
- ID du projet : saisissez l'ID du projet Google Cloud dans lequel se trouvent les données BigQuery.
- ID de l'ensemble de données : saisissez l'ID de l'ensemble de données BigQuery que vous souhaitez utiliser. Pour ce tutoriel, saisissez bq_tutorial.
- Vous pouvez également cliquer sur + AJOUTER UN LIBELLÉ pour ajouter un libellé sous la forme d'une paire clé/valeur.
- Cliquez sur Suivant.
- Emplacement : sélectionnez une région dans laquelle la connexion sera exécutée. Les régions disponibles pour les connecteurs incluent les suivantes :
- Cliquez sur Suivant.
Pour obtenir la liste de toutes les régions disponibles, consultez la section Emplacements.
- Authentication : La connexion BigQuery ne nécessite pas de configuration d'authentification. Cliquez sur Suivant.
- Examiner : vérifiez les détails de configuration de vos connexions. Dans cette section, les détails de la connexion et les détails d'authentification de la nouvelle connexion s'affichent pour que vous les examiniez.
- Dans la section Créer une connexion, procédez comme suit :
- Cliquez sur Créer.
Configurer une sous-intégration
Dans ce tutoriel, la sous-intégration prend chaque enregistrement qui lui est envoyé par l'intégration principale et l'insère en tant que ligne dans la table tutorial
de l'ensemble de données bq_tutorial
.
Créer une sous-intégration
Pour créer la sous-intégration, procédez comme suit :
- Dans la console Google Cloud, accédez à la page Application Integration.
- Dans le menu de navigation, cliquez sur Integrations (Intégrations). La page Liste des intégrations s'affiche.
- Cliquez sur Créer une intégration.
- Dans la boîte de dialogue Créer une intégration, procédez comme suit :
- Saisissez un nom. Par exemple, saisissez Process-each-record
- (Facultatif) Saisissez une description. Par exemple, saisissez Déclencheur d'API pour traiter chaque enregistrement (sous-intégration).
- Sélectionnez la région dans laquelle vous souhaitez créer votre intégration.
- Cliquez sur Créer pour ouvrir l'éditeur d'intégration.
Ajouter un déclencheur d'API
Pour ajouter un déclencheur d'API à l'intégration, procédez comme suit :
- Dans l'éditeur d'intégration, sélectionnez Ajouter une tâche/déclencheur > Déclencheurs pour afficher la liste des déclencheurs disponibles.
- Faites glisser l'élément Déclencheur d'API vers l'éditeur d'intégration.
Ajouter une tâche de mappage de données
Pour ajouter une tâche de mappage de données dans l'intégration, procédez comme suit :
- Sélectionnez + Ajouter une tâche/un déclencheur > Tâches dans l'éditeur d'intégration pour afficher la liste des tâches disponibles.
- Faites glisser l'élément Mappage des données vers l'éditeur d'intégration.
Configurer la connexion BigQuery
Vous êtes maintenant prêt à utiliser la connexion BigQuery que vous avez créée précédemment dans la sous-intégration. Pour configurer la connexion BigQuery dans cette intégration, procédez comme suit :
- Sélectionnez + Ajouter une tâche/un déclencheur > Tâches dans l'éditeur d'intégration pour afficher la liste des tâches disponibles.
- Faites glisser l'élément Connecteurs vers l'éditeur d'intégration.
- Cliquez sur l'élément de tâche Connecteurs dans le concepteur pour afficher le volet de configuration de la tâche.
- Cliquez sur l'icône de modification dans le panneau de droite et mettez à jour le libellé pour insérer une ligne dans BigQuery.
- Cliquez sur Configurer la tâche.
La boîte de dialogue Configurer la tâche de connecteur s'affiche.
- Dans la boîte de dialogue Configurer la tâche de connecteur, procédez comme suit :
- Sélectionnez la région de connexion dans laquelle vous avez créé votre connexion BigQuery.
- Sélectionnez la connexion BigQuery que vous souhaitez utiliser. Pour ce tutoriel, sélectionnez connector-bq-tutorial.
- Une fois la connexion sélectionnée, la colonne Type s'affiche. Sélectionnez Entités, puis tutoriel dans la liste des entités disponibles.
- Une fois le type choisi, la colonne Opération s'affiche. Sélectionnez Créer.
- Cliquez sur Terminé pour terminer la configuration de la connexion et fermer la boîte de dialogue.
Connecter les éléments d'intégration
Ensuite, ajoutez des connexions périphériques pour connecter le déclencheur d'API à la tâche de mappage de données et la tâche de mappage des données aux connecteurs. Une connexion périphérique est une connexion entre deux éléments d'une intégration. Pour plus d'informations sur les périphérie et les conditions périphériques, consultez la section Périphéries.
Pour ajouter les connexions périphériques, procédez comme suit :
- Cliquez sur le point de contrôle Dupliquer en bas de l'élément Déclencheur d'API. Faites glisser la connexion périphérique au point de contrôle Jointure en haut de l'élément Mappage de données.
- Cliquez sur le point de contrôle Dupliquer en bas de l'élément Mappage de données. Faites glisser la connexion périphérique au niveau du point de contrôle Jointure en haut de l'élément Connecteurs.
Configurer la tâche Mappage de données
Pour configurer la tâche de mappage des données, procédez comme suit :
- Dans l'éditeur d'intégration, cliquez sur la tâche Mappage de données pour afficher le volet de configuration de la tâche.
- Cliquez sur Ouvrir l'éditeur de mappage de données.
- Dans l'éditeur de mappage de données, cliquez sur Ajouter pour ajouter une variable.
- Dans la boîte de dialogue Créer une variable, saisissez les informations suivantes :
- Nom : saisissez record.
- Type de données : sélectionnez JSON.
-
Schéma : sélectionnez Inférer à partir d'un exemple de charge utile JSON. Saisissez l'exemple de charge utile JSON suivant :
{ "unique_key":"304271", "created_date":"02/06/2007 12:00:00 AM", "closed_date":"03/01/2007 12:00:00 AM", "agency":"TLC", "agency_name":"Taxi and Limousine Commission", "complaint_type":"Taxi Complaint", "descriptor":"Driver Complaint", "location_type":"Street", "incident_zip":"10001", "incident_address":"", "street_name":"", "cross_street_1":"", "cross_street_2":"", "intersection_street_1":"WEST 29 STREET", "intersection_street_2":"7 AVENUE", "address_type":"INTERSECTION", "city":"NEW YORK", "landmark":"", "facility_type":"N/A", "status":"Closed", "due_date":"02/28/2007 12:00:00 AM", "resolution_action_updated_date":"03/01/2007 12:00:00 AM", "community_board":"05 MANHATTAN", "borough":"MANHATTAN", "x_coordinate_state_plane":"986215", "y_coordinate_state_plane":"211740", "park_facility_name":"", "park_borough":"MANHATTAN", "school_name":"", "school_number":"", "school_region":"", "school_code":"", "school_phone_number":"", "school_address":"", "school_city":"", "school_state":"", "school_zip":"", "school_not_found":"", "school_or_citywide_complaint":"", "vehicle_type":"", "taxi_company_borough":"", "taxi_pick_up_location":"Other", "bridge_highway_name":"", "bridge_highway_direction":"", "road_ramp":"", "bridge_highway_segment":"", "garage_lot_name":"", "ferry_direction":"", "ferry_terminal_name":"", "latitude":"40.74785373937869", "longitude":"-73.99290823133913", "location":"(40.74785373937869, -73.99290823133913)" }
- Cliquez sur Créer.
- Une fois la variable créée, procédez comme suit dans l'éditeur de mappage de données :
- Faites glisser la nouvelle variable record dans la colonne Entrée.
- Faites glisser la variable connectorInputPayload vers la colonne Sortie.
- Fermez l'éditeur de mappage de données pour revenir à l'éditeur d'intégration.
Publier la sous-intégration
Pour publier la sous-intégration, cliquez sur Publier dans l'éditeur d'intégration.
Configurer l'intégration principale
Dans cette section, vous allez configurer l'intégration principale, qui utilise une tâche Pour chaque parallélisme pour traiter chaque enregistrement. Cette intégration principale appelle ensuite la sous-intégration pour chaque enregistrement.
Créer l'intégration principale
Pour créer l'intégration principale, procédez comme suit :
- Dans la console Google Cloud, accédez à la page Application Integration.
- Dans le menu de navigation, cliquez sur Integrations (Intégrations). La page Liste des intégrations s'affiche.
- Cliquez sur Créer une intégration.
- Dans la boîte de dialogue Créer une intégration, procédez comme suit :
- Saisissez un nom. Par exemple, saisissez process-records.
- (Facultatif) Saisissez une description. Par exemple, saisissez Déclencheur d'API pour traiter chaque enregistrement (sous-intégration).
- Sélectionnez la région dans laquelle vous souhaitez créer votre intégration.
- Cliquez sur Créer pour ouvrir l'éditeur d'intégration.
Ajouter un déclencheur d'API
Pour ajouter un déclencheur d'API à l'intégration, procédez comme suit :
- Dans l'éditeur d'intégration, sélectionnez Ajouter une tâche/déclencheur > Déclencheurs pour afficher la liste des déclencheurs disponibles.
- Faites glisser l'élément Déclencheur d'API vers l'éditeur d'intégration.
Ajouter une tâche pour chaque tâche en parallèle
Pour ajouter une tâche pour chaque parallèle dans l'intégration, procédez comme suit :
- Sélectionnez + Ajouter une tâche/un déclencheur > Tâches dans l'éditeur d'intégration pour afficher la liste des tâches disponibles.
- Faites glisser l'élément Pour chaque parallèle dans l'éditeur d'intégration.
Connecter les éléments d'intégration
Ensuite, ajoutez une connexion périphérique pour connecter le déclencheur d'API à la tâche pour chaque parallèle.
Pour ajouter la connexion périphérique, cliquez sur le point de contrôle Duplication en bas de l'élément "Déclencheur d'API". Faites glisser la connexion périphérique au niveau du point de contrôle Jointure en haut de l'élément de tâche "Pour chaque parallèle".
Configurer la tâche pour chaque parallèle
Pour configurer la tâche "Pour chaque parallèle", procédez comme suit :
- Dans l'éditeur d'intégration, cliquez sur la tâche For Every Parallel (Pour chaque parallèle) pour afficher le volet de configuration de la tâche.
- Sous Sélection de tableau > Liste à itérer, cliquez sur Ajouter une variable pour ajouter une nouvelle variable.
- Dans la boîte de dialogue Créer une variable, saisissez les informations suivantes :
-
Nom:saisissez
records
. - Type de données : sélectionnez JSON.
-
Schéma : sélectionnez Inférer à partir d'un exemple de charge utile JSON. Saisissez l'exemple de charge utile JSON suivant :
[{ "unique_key":"304271", "created_date":"02/06/2007 12:00:00 AM", "closed_date":"03/01/2007 12:00:00 AM", "agency":"TLC", "agency_name":"Taxi and Limousine Commission", "complaint_type":"Taxi Complaint", "descriptor":"Driver Complaint", "location_type":"Street", "incident_zip":"10001", "incident_address":"", "street_name":"", "cross_street_1":"", "cross_street_2":"", "intersection_street_1":"WEST 29 STREET", "intersection_street_2":"7 AVENUE", "address_type":"INTERSECTION", "city":"NEW YORK", "landmark":"", "facility_type":"N/A", "status":"Closed", "due_date":"02/28/2007 12:00:00 AM", "resolution_action_updated_date":"03/01/2007 12:00:00 AM", "community_board":"05 MANHATTAN", "borough":"MANHATTAN", "x_coordinate_state_plane":"986215", "y_coordinate_state_plane":"211740", "park_facility_name":"", "park_borough":"MANHATTAN", "school_name":"", "school_number":"", "school_region":"", "school_code":"", "school_phone_number":"", "school_address":"", "school_city":"", "school_state":"", "school_zip":"", "school_not_found":"", "school_or_citywide_complaint":"", "vehicle_type":"", "taxi_company_borough":"", "taxi_pick_up_location":"Other", "bridge_highway_name":"", "bridge_highway_direction":"", "road_ramp":"", "bridge_highway_segment":"", "garage_lot_name":"", "ferry_direction":"", "ferry_terminal_name":"", "latitude":"40.74785373937869", "longitude":"-73.99290823133913", "location":"(40.74785373937869, -73.99290823133913)" }]
-
Nom:saisissez
- Cliquez sur Créer.
- Dans la section Détails de la sous-intégration, saisissez les informations suivantes :
- ID de déclencheur d'API : sélectionnez l'élément de déclencheur d'API dans la sous-intégration. Par exemple, sélectionnez Process-each-record_API_1.
- Stratégie d'exécution : sélectionnez ASYNC.
- Sélectionnez Run a single integration (Exécuter une intégration unique).
- Dans la section À chaque exécution, pour Où mapper des éléments individuels du tableau, saisissez le nom de la variable dans la tâche de mappage de données de la sous-intégration. Dans ce cas, saisissez enregistrement. Les variables de sous-intégration ne sont listées que pour les intégrations publiées. Si les variables ne sont pas listées, actualisez la page, car un certain temps peut s'écouler avant qu'elles soient visibles après la publication de la sous-intégration.
Publier l'intégration principale
Pour publier l'intégration principale, cliquez sur Publier dans l'éditeur d'intégration.
Tester votre intégration
Pour tester votre intégration, procédez comme suit :
- Téléchargez des exemples de données dans Cloud Shell :
- Pour lancer une session Cloud Shell à partir de la console Google Cloud, cliquez sur l'icône Activer Cloud Shell de la console Cloud. Une session s'ouvre dans le volet inférieur de la console Cloud.
- Saisissez la commande suivante dans votre terminal Cloud Shell :
wget https://raw.githubusercontent.com/GoogleCloudPlatform/application-integration-samples/main/assets/bq-sample-dataset.json
- Pour vérifier que les exemples de données ont été téléchargés, saisissez la commande suivante dans votre terminal Cloud Shell :
Le fichier téléchargé est répertorié dans le terminal Cloud Shell.ls -la bq-sample-dataset.json
- Pour sélectionner trois entrées aléatoires dans l'exemple d'ensemble de données et les stocker de manière à les transmettre à l'intégration, saisissez les commandes suivantes dans votre terminal Cloud Shell:
AUTH=$(gcloud auth print-access-token) export SAMPLE_DOCS=$(jq $(r=$((RANDOM % 1000)) ; echo ".[$r:$((r + 3))]") < bq-sample-dataset.json | jq -Rs '.') generate_post_data() { cat <<EOF { "triggerId": "api_trigger/process-records_API_1", "inputParameters": { "records": { "jsonValue": $SAMPLE_DOCS } } } EOF }
- Pour lancer les tests, saisissez la commande suivante dans votre terminal Cloud Shell:
Dans cette commande, remplacez :curl -X POST \ https://integrations.googleapis.com/v1/projects/project_id/locations/region/integrations/process-records:execute \ -H "Authorization: Bearer $AUTH" \ -H "Content-Type: application/json" \ -d "$(generate_post_data)"
project_id
par l'ID de votre projet Google Cloud.region
par la région dans laquelle vous avez créé votre intégration.
- Pour vérifier que votre table BigQuery contient désormais ces enregistrements, procédez comme suit :
- Sur la page console Cloud, cliquez sur le menu de navigation .
- Dans la section Analyse, cliquez sur BigQuery.
-
Développez votre projet, puis cliquez sur l'ensemble de données
bq_tutorial
. -
Développez l'ensemble de données bq_tutorial et cliquez sur la table
tutorial
. - Cliquez sur l'onglet Explorateur de tables pour afficher les enregistrements insérés.
Étapes suivantes
Essayez de créer des intégrations avec d'autres connecteurs. Pour obtenir la liste de tous les connecteurs compatibles, consultez la Documentation de référence sur les connecteurs.