Show Menu
SUJETS×

Création d’un connecteur Google BigQuery à l’aide de l’API du service de flux

Le connecteur Google BigQuery est en version bêta. Les fonctionnalités et la documentation peuvent être modifiées.
Le service de flux permet de collecter et de centraliser les données client à partir de diverses sources disparates dans Adobe Experience Platform. Le service fournit une interface utilisateur et une API RESTful à partir de laquelle toutes les sources prises en charge sont connectables.
Ce didacticiel utilise l’API du service de flux pour vous guider dans les étapes de connexion de la plateforme d’expérience à Google BigQuery (ci-après appelée "BigQuery").

Prise en main

Ce guide nécessite une bonne compréhension des composants suivants d’Adobe Experience Platform :
  • Sources : Experience Platform permet d’importer des données à partir de diverses sources tout en vous permettant de structurer, d’étiqueter et d’améliorer les données entrantes à l’aide des services de la plate-forme.
  • Sandbox : Experience Platform fournit des sandbox virtuels qui partitionnent une instance de plateforme unique en environnements virtuels distincts pour aider à développer et à développer des applications d’expérience numérique.
Les sections suivantes contiennent des informations supplémentaires dont vous aurez besoin pour vous connecter à BigQuery à l’aide de l’API du service de flux.

Collecte des informations d’identification requises

Pour que le service de flux se connecte à BigQuery, vous devez fournir les propriétés de connexion suivantes :
Informations d’identification
Description
project
ID du projet BigQuery par défaut à requête.
clientID
Valeur d’ID utilisée pour générer le jeton d’actualisation.
clientSecret
Valeur secrète utilisée pour générer le jeton d’actualisation.
refreshToken
Jeton d’actualisation obtenu auprès de Google utilisé pour autoriser l’accès à BigQuery.
Pour plus d'informations sur ces valeurs, consultez ce document BigQuery.

Lecture des exemples d’appels d’API

Ce didacticiel fournit des exemples d’appels d’API pour montrer comment formater vos requêtes. Il s’agit notamment des chemins d’accès, des en-têtes requis et des charges de requête correctement formatées. L’exemple JSON renvoyé dans les réponses de l’API est également fourni. Pour plus d’informations sur les conventions utilisées dans la documentation pour les exemples d’appels d’API, voir la section sur comment lire des exemples d’appels d’API dans le guide de dépannage d’Experience Platform.

Rassembler les valeurs des en-têtes requis

Pour lancer des appels aux API de plateforme, vous devez d’abord suivre le didacticiel d’ authentification. Le didacticiel d’authentification fournit les valeurs de chacun des en-têtes requis dans tous les appels d’API de plateforme d’expérience, comme indiqué ci-dessous :
  • Autorisation : Porteur {ACCESS_TOKEN}
  • x-api-key : {API_KEY}
  • x-gw-ims-org-id: {IMS_ORG}
Toutes les ressources de la plate-forme d’expérience, y compris celles appartenant au service de flux, sont isolées dans des sandbox virtuels spécifiques. Toutes les requêtes d’API de plateforme nécessitent un en-tête spécifiant le nom du sandbox dans lequel l’opération aura lieu :
  • x-sandbox-name : {SANDBOX_NAME}
Toutes les requêtes qui contiennent une charge utile (POST, PUT, PATCH) nécessitent un en-tête de type de support supplémentaire :
  • Content-Type : application/json

Rechercher les spécifications de connexion

Pour créer une connexion BigQuery, un ensemble de spécifications de connexion BigQuery doit exister dans le service de flux. La première étape de la connexion de Platform à BigQuery consiste à récupérer ces spécifications.
Format d’API
Chaque source disponible possède son propre ensemble de spécifications de connexion unique pour décrire les propriétés du connecteur, telles que les exigences d'authentification. Vous pouvez rechercher les spécifications de connexion pour BigQuery en exécutant une requête GET et en utilisant des paramètres de requête.
L'envoi d'une demande GET sans paramètres de requête retournera les spécifications de connexion pour toutes les sources disponibles. Vous pouvez inclure la requête property=name=="google-big-query" pour obtenir des informations spécifiques à BigQuery.
GET /connectionSpecs
GET /connectionSpecs?property=name=="google-big-query"

Requête
La requête suivante récupère les spécifications de connexion pour BigQuery.
curl -X GET \
    'https://platform.adobe.io/data/foundation/flowservice/connectionSpecs?property=name=="google-big-query"' \
    -H 'Authorization: Bearer {ACCESS_TOKEN}' \
    -H 'x-api-key: {API_KEY}' \
    -H 'x-gw-ims-org-id: {IMS_ORG}' \
    -H 'x-sandbox-name: {SANDBOX_NAME}'

Réponse
Une réponse réussie renvoie les spécifications de connexion pour BigQuery, y compris son identifiant unique ( id ). Cet identifiant est requis à l’étape suivante pour créer une connexion de base.
{
    "items": [
        {
            "id": "3c9b37f8-13a6-43d8-bad3-b863b941fedd",
            "name": "google-big-query",
            "providerId": "0ed90a81-07f4-4586-8190-b40eccef1c5a",
            "version": "1.0",
            "authSpec": [
                {
                    "name": "Basic Authentication",
                    "spec": {
                        "$schema": "http://json-schema.org/draft-07/schema#",
                        "type": "object",
                        "description": "defines auth params",
                        "properties": {
                            "project": {
                                "type": "string",
                                "description": "The project ID of the default BigQuery project to query against"
                            },
                            "clientId": {
                                "type": "string",
                                "description": "ID of the application used to generate the refresh token."
                            },
                            "clientSecret": {
                                "type": "string",
                                "description": "Secret of the application used to generate the refresh token.",
                                "format": "password"
                            },
                            "refreshToken": {
                                "type": "string",
                                "description": "The refresh token obtained from Google used to authorize access to BigQuery.",
                                "format": "password"
                            }
                        },
                        "required": [
                            "project",
                            "clientId",
                            "clientSecret",
                            "refreshToken"
                        ]
                    }
                }
            ]
        }
    ]
}

Créer une connexion de base

Une connexion de base spécifie une source et contient vos informations d’identification pour cette source. Une seule connexion de base est requise par compte BigQuery, car elle peut être utilisée pour créer plusieurs connecteurs de source afin d'importer des données différentes.
Format d’API
POST /connections

Requête
curl -X POST \
    'https://platform.adobe.io/data/foundation/flowservice/connections' \
    -H 'Authorization: Bearer {ACCESS_TOKEN}' \
    -H 'x-api-key: {API_KEY}' \
    -H 'x-gw-ims-org-id: {IMS_ORG}' \
    -H 'x-sandbox-name: {SANDBOX_NAME}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "BigQuery base connection",
        "description": "Base connection for Google BigQuery",
        "auth": {
            "specName": "Basic Authentication",
            "params": {
                "project": "{PROJECT}",
                "clientId": "{CLIENT_ID}",
                "clientSecret": "{CLIENT_SECRET}",
                "refreshToken": "{REFRESH_TOKEN}"
            }
        },
        "connectionSpec": {
            "id": "3c9b37f8-13a6-43d8-bad3-b863b941fedd",
            "version": "1.0"
    }'

Propriété
Description
auth.params.project
ID du projet BigQuery par défaut à requête. contre.
auth.params.clientId
Valeur d’ID utilisée pour générer le jeton d’actualisation.
auth.params.clientSecret
Valeur cliente utilisée pour générer le jeton d’actualisation.
auth.params.refreshToken
Jeton d’actualisation obtenu auprès de Google utilisé pour autoriser l’accès à BigQuery.
connectionSpec.id
Spécification id de connexion de votre compte BigQuery récupérée à l’étape précédente.
Réponse
Une réponse réussie renvoie les détails de la connexion de base nouvellement créée, y compris son identifiant unique ( id ). Cet identifiant est nécessaire pour explorer vos données dans le didacticiel suivant.
{
    "id": "26ced882-729b-470f-8ed8-82729b570f03",
    "etag": "\"6507cfd8-0000-0200-0000-5e18fc600000\""
}

Étapes suivantes

En suivant ce didacticiel, vous avez créé une connexion de base BigQuery à l'aide de l'API Flow Service et obtenu la valeur d'ID unique de la connexion. Vous pouvez utiliser cet ID de connexion de base dans le didacticiel suivant lorsque vous apprendrez à explorer des bases de données ou des systèmes NoSQL à l’aide de l’API Flow Service.