Show Menu
SUJETS×

Création d’un Google BigQuery connecteur à l’aide de l’ Flow Service API

Le Google BigQuery connecteur est en version bêta. Pour plus d’informations sur l’utilisation de connecteurs bêta, consultez l’aperçu des sources.
Flow Service est utilisée pour collecter et centraliser les données client provenant de diverses sources disparates à 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’ Flow Service API pour vous guider dans les étapes à suivre pour vous connecter Experience Platform à Google BigQuery (ci-après "BigQuery").

Prise en main

Ce guide nécessite une compréhension professionnelle des composants suivants d’Adobe Experience Platform :
  • Sources : Experience Platform permet l’assimilation de données à partir de diverses sources tout en vous permettant de structurer, d’étiqueter et d’améliorer les données entrantes à l’aide de Platform services.
  • Sandbox : Experience Platform fournit des sandbox virtuels qui partitionnent une Platform instance unique en environnements virtuels distincts pour aider à développer et développer des applications d'expérience numérique.
The following sections provide additional information that you will need to know in order to successfully connect to BigQuery using the Flow Service API.

Collecte des informations d’identification requises

Pour Flow Service se connecter à BigQuery, vous devez fournir les propriétés de connexion suivantes :
Informations d’identification
Description
project
ID du projet par défaut sur lequel le BigQuery projet doit être 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 à partir de Google utilisé pour autoriser l’accès à BigQuery.
Pour plus d'informations sur ces valeurs, consultez ce document BigQuery.

Lecture d’exemples d’appels API

Ce tutoriel fournit des exemples d’appels API pour démontrer comment formater vos requêtes. Il s’agit notamment de chemins d’accès, d’en-têtes requis et de payloads de requêtes correctement formatés. L’exemple JSON renvoyé dans les réponses de l’API est également fourni. For information on the conventions used in documentation for sample API calls, see the section on how to read example API calls in the Experience Platform troubleshooting guide.

Collecte des valeurs des en-têtes requis

In order to make calls to Platform APIs, you must first complete the authentication tutorial . Completing the authentication tutorial provides the values for each of the required headers in all Experience Platform API calls, as shown below:
  • Authorization: Bearer {ACCESS_TOKEN}
  • x-api-key: {API_KEY}
  • x-gw-ims-org-id: {IMS_ORG}
All resources in Experience Platform, including those belonging to the Flow Service, are isolated to specific virtual sandboxes. All requests to Platform APIs require a header that specifies the name of the sandbox the operation will take place in:
  • x-sandbox-name: {SANDBOX_NAME}
Toutes les requêtes qui contiennent un payload (POST, PUT, PATCH) nécessitent un en-tête de type de média supplémentaire :
  • Content-Type: application/json

Rechercher les spécifications de connexion

Pour créer une BigQuery connexion, un ensemble de spécifications de BigQuery connexion doit exister dans Flow Service. La première étape pour se connecter Platform à BigQuery est de 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 en BigQuery exécutant une demande de GET et en utilisant les paramètres de requête.
L'envoi d'une demande de GET sans paramètres de requête retournera des 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 pour 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 BigQuery compte, car elle peut être utilisée pour créer plusieurs connecteurs 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 de projet du BigQuery projet 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 à partir de Google utilisé pour autoriser l’accès à BigQuery.
connectionSpec.id
Spécification id de connexion de votre BigQuery compte 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 BigQuery de base à l’aide de l’ Flow Service API 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.