Show Menu
主题×

使用Flow Service API创建Google BigQuery连接器

Google BigQuery连接器处于测试阶段。 有关使用 测试版标记 的连接器的更多信息,请参阅源概述。
流服务用于收集和集中Adobe Experience Platform内不同来源的客户数据。 该服务提供用户界面和RESTful API,所有支持的源都可从中连接。
本教程使用Flow Service API指导您完成将Experience Platform连接到Google BigQuery(以下简称“BigQuery”)的步骤。

入门指南

本指南需要对Adobe Experience Platform的以下组件有充分的了解:
  • 来源 : Experience Platform允许从各种来源摄取数据,同时使您能够使用Platform服务来构建、标记和增强传入数据。
  • 沙箱 : Experience Platform提供虚拟沙箱,将单个Platform实例分为单独的虚拟环境,以帮助开发和发展数字体验应用程序。
以下各节提供了使用Flow Service API成功连接到BigQuery所需了解的其他信息。

收集所需的凭据

要使流服务与BigQuery连接,必须提供以下连接属性:
凭据
描述
project
要查询的默认BigQuery项目的项目ID。
clientID
用于生成刷新令牌的ID值。
clientSecret
用于生成刷新令牌的机密值。
refreshToken
从Google获取的用于授权访问BigQuery的刷新令牌。
有关这些值的详细信息,请参 阅此BigQuery文档

读取示例API调用

本教程提供示例API调用,以演示如何设置请求的格式。 这包括路径、必需的标头和格式正确的请求负载。 还提供API响应中返回的示例JSON。 有关示例API调用文档中使用的惯例的信息,请参阅Experience Platform疑 难解答指南中有关如何阅读示例API调 用的章节。

收集所需标题的值

要调用PlatformAPI,您必须先完成身份验证 教程 。 完成身份验证教程将提供所有Experience PlatformAPI调用中每个所需标头的值,如下所示:
  • 授权: 承载者 {ACCESS_TOKEN}
  • x-api-key: {API_KEY}
  • x-gw-ims-org-id: {IMS_ORG}
Experience Platform中的所有资源(包括属于流服务的资源)都与特定虚拟沙箱隔离。 对PlatformAPI的所有请求都需要一个标头,它指定操作将在中进行的沙箱的名称:
  • x-sandbox-name: {SANDBOX_NAME}
所有包含有效负荷(POST、PUT、PATCH)的请求都需要额外的媒体类型标头:
  • 内容类型: application/json

查找连接规范

要创建BigQuery连接,流服务中必须存在一组BigQuery连接规范。 将Platform连接到BigQuery的第一步是检索这些规范。
API格式
每个可用源都有其自己的唯一连接规范集,用于描述连接器属性,如身份验证要求。 您可以通过执行GET请求和使用查询参数来查找BigQuery的连接规范。
发送不带查询参数的GET请求将返回所有可用源的连接规范。 您可以包含查询 property=name=="google-big-query" 以获取BigQuery的专用信息。
GET /connectionSpecs
GET /connectionSpecs?property=name=="google-big-query"

请求
以下请求检索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}'

响应
成功的响应会返回BigQuery的连接规范,包括其唯一标识符( id )。 下一步需要此ID才能创建基本连接。
{
    "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"
                        ]
                    }
                }
            ]
        }
    ]
}

创建基本连接

基本连接指定源并包含该源的凭据。 每个BigQuery帐户只需要一个基本连接,因为它可用于创建多个源连接器以导入不同的数据。
API格式
POST /connections

请求
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"
    }'

属性
描述
auth.params.project
默认BigQuery项目的项目ID至查询。 反对。
auth.params.clientId
用于生成刷新令牌的ID值。
auth.params.clientSecret
用于生成刷新令牌的客户端值。
auth.params.refreshToken
从Google获取的用于授权访问BigQuery的刷新令牌。
connectionSpec.id
在上一步 id 中检索的BigQuery帐户的连接规范。
响应
成功的响应会返回新创建的基本连接的详细信息,包括其唯一标识符( id )。 在下一个教程中浏览数据时需要此ID。
{
    "id": "26ced882-729b-470f-8ed8-82729b570f03",
    "etag": "\"6507cfd8-0000-0200-0000-5e18fc600000\""
}

后续步骤

通过本教程,您已使用Flow Service API创建了BigQuery基连接,并获得了该连接的唯一ID值。 在下一个教程中,您可以使用此基本连接ID,因为您将学习 如何使用流服务API浏览数据库或NoSQL系统