Show Menu
TEMAS×

Creación de un Google BigQuery conector mediante la Flow Service API

El Google BigQuery conector está en versión beta. Consulte la descripción general de Fuentes para obtener más información sobre el uso de conectores con etiquetas beta.
Flow Service se utiliza para recopilar y centralizar datos de clientes de diversas fuentes dentro de Adobe Experience Platform. El servicio proporciona una interfaz de usuario y una API RESTful desde la que se pueden conectar todas las fuentes admitidas.
Este tutorial utiliza la Flow Service API para guiarle por los pasos para conectarse Experience Platform a Google BigQuery (en adelante, "BigQuery").

Primeros pasos

Esta guía requiere un conocimiento práctico de los siguientes componentes de Adobe Experience Platform:
  • Fuentes : Experience Platform permite la ingesta de datos desde varias fuentes, al tiempo que le permite estructurar, etiquetar y mejorar los datos entrantes mediante Platform servicios.
  • Simuladores : Experience Platform proporciona entornos limitados virtuales que dividen una sola Platform instancia en entornos virtuales independientes para ayudar a desarrollar y desarrollar aplicaciones de experiencia digital.
Las secciones siguientes proporcionan información adicional que deberá conocer para conectarse correctamente a BigQuery mediante la Flow Service API.

Recopilar las credenciales necesarias

Para Flow Service conectarse con BigQuery, debe proporcionar las siguientes propiedades de conexión:
Credencial
Descripción
project
ID de proyecto del BigQuery proyecto predeterminado con el que se realizará la consulta.
clientID
El valor de ID utilizado para generar el token de actualización.
clientSecret
El valor secreto utilizado para generar el token de actualización.
refreshToken
El autentificador de actualización obtenido de Google utilizado para autorizar el acceso a BigQuery.
Para obtener más información sobre estos valores, consulte este documento BigQuery.

Leer llamadas de API de muestra

Este tutorial proporciona ejemplos de llamadas a API para mostrar cómo dar formato a las solicitudes. Estas incluyen rutas, encabezados requeridos y cargas de solicitud con el formato adecuado. También se proporciona el JSON de muestra devuelto en las respuestas de API. Para obtener información sobre las convenciones utilizadas en la documentación de las llamadas de API de muestra, consulte la sección sobre cómo leer llamadas de API de ejemplo en la guía de solución de problemas Experience Platform .

Recopilar valores para encabezados necesarios

Para realizar llamadas a Platform API, primero debe completar el tutorial de autenticación. Al completar el tutorial de autenticación se proporcionan los valores para cada uno de los encabezados necesarios en todas las llamadas Experience Platform de API, como se muestra a continuación:
  • Autorización: Portador {ACCESS_TOKEN}
  • x-api-key: {API_KEY}
  • x-gw-ims-org-id: {IMS_ORG}
Todos los recursos de Experience Platform, incluidos los que pertenecen al Flow Service, están aislados en entornos limitados virtuales específicos. Todas las solicitudes a Platform las API requieren un encabezado que especifique el nombre del entorno limitado en el que se realizará la operación:
  • x-sandbox-name: {SANDBOX_NAME}
Todas las solicitudes que contienen una carga útil (POST, PUT, PATCH) requieren un encabezado de tipo de medio adicional:
  • Content-Type: application/json

Buscar especificaciones de conexión

Para crear una BigQuery conexión, debe existir un conjunto de especificaciones de BigQuery conexión dentro de Flow Service. El primer paso para conectarse Platform a BigQuery es recuperar estas especificaciones.
Formato API
Cada fuente disponible tiene su propio conjunto exclusivo de especificaciones de conexión para describir propiedades del conector, como los requisitos de autenticación. Puede consultar las especificaciones de conexión BigQuery mediante una solicitud de GET y parámetros de consulta.
El envío de una solicitud de GET sin parámetros de consulta devolverá las especificaciones de conexión para todos los orígenes disponibles. Puede incluir la consulta property=name=="google-big-query" para obtener información específica para BigQuery.
GET /connectionSpecs
GET /connectionSpecs?property=name=="google-big-query"

Solicitud
La siguiente solicitud recupera las especificaciones de conexión para 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}'

Respuesta
Una respuesta correcta devuelve las especificaciones de conexión para BigQuery, incluido su identificador único ( id ). Este ID es necesario en el paso siguiente para crear una conexión 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"
                        ]
                    }
                }
            ]
        }
    ]
}

Creación de una conexión base

Una conexión base especifica un origen y contiene sus credenciales para ese origen. Solo se requiere una conexión base por BigQuery cuenta, ya que se puede utilizar para crear varios conectores de origen para traer datos diferentes.
Formato API
POST /connections

Solicitud
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"
    }'

Propiedad
Descripción
auth.params.project
ID de proyecto del BigQuery proyecto predeterminado que se va a consulta. en contra.
auth.params.clientId
El valor de ID utilizado para generar el token de actualización.
auth.params.clientSecret
El valor de cliente utilizado para generar el token de actualización.
auth.params.refreshToken
El autentificador de actualización obtenido de Google utilizado para autorizar el acceso a BigQuery.
connectionSpec.id
La especificación id de conexión de su BigQuery cuenta recuperada en el paso anterior.
Respuesta
Una respuesta correcta devuelve detalles de la conexión base recién creada, incluido su identificador único ( id ). Este ID es necesario para explorar los datos en el siguiente tutorial.
{
    "id": "26ced882-729b-470f-8ed8-82729b570f03",
    "etag": "\"6507cfd8-0000-0200-0000-5e18fc600000\""
}

Pasos siguientes

Siguiendo este tutorial, ha creado una conexión BigQuery base mediante la Flow Service API y ha obtenido el valor de ID único de la conexión. Puede utilizar este ID de conexión base en el siguiente tutorial a medida que aprenda a explorar bases de datos o sistemas NoSQL mediante la API de servicio de flujo.