[Ultimate]{class="badge positive"}

使用流服务API创建Google PubSub Source连接

IMPORTANT
Google PubSub源在源目录中可供已购买Real-time Customer Data Platform Ultimate的用户使用。

本教程将指导您完成使用[Flow Service API] (https://www.adobe.io/experience-platform-apis/references/flow-service/)将Google PubSub(以下称为“PubSub”)连接到Experience Platform的步骤。

快速入门

本指南要求您对 Adobe Experience Platform 的以下组件有一定了解:

  • :Experience Platform允许从各种源摄取数据,同时允许您使用Platform服务来构建、标记和增强传入数据。
  • 沙盒:Experience Platform提供了将单个Platform实例划分为多个单独的虚拟环境的虚拟沙盒,以帮助开发和改进数字体验应用程序。

以下部分提供了使用Flow Service API成功将PubSub连接到Platform所需了解的其他信息。

收集所需的凭据

您必须提供下面列出的连接属性的值,才能将您的PubSub帐户连接到Flow Service。 有关身份验证和先决条件设置的详细信息,请阅读PubSub source 概述

基于项目的身份验证
table 0-row-2 1-row-2 2-row-2 3-row-2
凭据 描述
projectId 验证PubSub时需要项目ID。
credentials 验证PubSub所需的凭据。 您必须确保从凭据中删除空格后放入完整的JSON文件。
connectionSpec.id 连接规范返回源的连接器属性,包括与创建基础和源目标连接相关的身份验证规范。 PubSub连接规范ID为: 70116022-a743-464a-bbfe-e226a7f8210c
基于主题和订阅的身份验证
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2
凭据 描述
credentials 验证PubSub所需的凭据。 您必须确保从凭据中删除空格后放入完整的JSON文件。
topicName 表示消息馈送的资源名称。 如果要提供对PubSub源中特定数据流的访问权限,必须指定主题名称。 主题名称格式为: projects/{PROJECT_ID}/topics/{TOPIC_ID}
subscriptionName PubSub订阅的名称。 在PubSub中,订阅允许您通过订阅消息已发布到的主题来接收消息。 注意:单个PubSub订阅只能用于一个数据流。 要创建多个数据流,您必须有多个订阅。 订阅名称格式为: projects/{PROJECT_ID}/subscriptions/{SUBSCRIPTION_ID}
connectionSpec.id 连接规范返回源的连接器属性,包括与创建基础和源目标连接相关的身份验证规范。 PubSub连接规范ID为: 70116022-a743-464a-bbfe-e226a7f8210c

有关这些值的详细信息,请阅读此PubSub 身份验证文档。 若要使用基于服务帐户的身份验证,请阅读此PubSub 创建服务帐户指南,以了解如何生成凭据的步骤。

TIP
如果您使用的是基于服务帐户的身份验证,请确保在复制和粘贴凭据时,您已经向服务帐户授予了足够的用户访问权限,并且JSON中没有额外的空格。

使用平台API

有关如何成功调用平台API的信息,请参阅平台API快速入门指南。

创建基本连接

TIP
创建后,无法更改Google PubSub基本连接的身份验证类型。 要更改身份验证类型,必须创建新的基本连接。

创建源连接的第一步是验证您的PubSub源并生成基本连接ID。 基本连接ID允许您浏览和浏览源中的文件,并识别要摄取的特定项目,包括有关其数据类型和格式的信息。

要创建基本连接ID,请在提供PubSub身份验证凭据作为POST参数的一部分时,向/connections端点请求请求。

PubSub源允许您指定身份验证期间允许的访问类型。 您可以将帐户设置为具有根访问权限或限制对特定PubSub主题和订阅的访问权限。

NOTE
分配给PubSub项目的主体(角色)在PubSub项目内创建的所有主题和订阅中被继承。 如果希望主体(角色)可以访问特定主题,则还必须将该主体(角色)添加到主题的相应订阅中。 有关详细信息,请阅读有关访问控制[🔗] (https://cloud.google.com/pubsub/docs/access-control)的PubSub 文档。

API格式

POST /connections
基于项目的身份验证

若要创建基于项目的身份验证的基础连接,请向/connections端点发出POST请求,并在请求正文中提供您的projectIdcredentials

accordion
请求
code language-shell
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: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'Content-Type: application/json' \
  -d '{
      "name": "Google PubSub connection",
      "description": "Google PubSub connection",
      "auth": {
          "specName": "Project Based Authentication",
          "params": {
              "projectId": "{PROJECT_ID}",
              "credentials": "{CREDENTIALS}"
          }
      },
      "connectionSpec": {
          "id": "70116022-a743-464a-bbfe-e226a7f8210c",
          "version": "1.0"
      }
  }'
table 0-row-2 1-row-2 2-row-2 3-row-2
属性 描述
auth.params.projectId 验证PubSub时需要项目ID。
auth.params.credentials 验证PubSub所需的凭据或密钥。
connectionSpec.id PubSub连接规范ID: 70116022-a743-464a-bbfe-e226a7f8210c
accordion
响应

成功的响应返回新创建的连接的详细信息,包括其唯一标识符(id)。 在下一步创建源连接时需要此基本连接ID。

code language-json
{
    "id": "4cb0c374-d3bb-4557-b139-5712880adc55",
    "etag": "\"6507cfd8-0000-0200-0000-5e18fc600000\""
}
基于主题和订阅的身份验证

若要创建具有主题和基于订阅的身份验证的基础连接,请向/connections端点发出POST请求,并在请求正文中提供您的credentialstopicNamesubscriptionName

accordion
请求
code language-shell
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: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'Content-Type: application/json' \
  -d '{
      "name": "Google PubSub connection",
      "description": "Google PubSub connection",
      "auth": {
          "specName": "Topic & Subscription Based Authentication",
          "params": {
              "credentials": "{CREDENTIALS}",
              "topicName": "projects/{PROJECT_ID}/topics/{TOPIC_ID}",
              "subscriptionName": "projects/{PROJECT_ID}/subscriptions/{SUBSCRIPTION_ID}"
          }
      },
      "connectionSpec": {
          "id": "70116022-a743-464a-bbfe-e226a7f8210c",
          "version": "1.0"
      }
  }'
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2
属性 描述
auth.params.credentials 验证PubSub所需的凭据或密钥。
auth.params.topicName 要提供访问权限的PubSub源的项目ID和主题ID对。
auth.params.subscriptionName 您要提供访问权限的PubSub源的项目ID和订阅ID对。
connectionSpec.id PubSub连接规范ID: 70116022-a743-464a-bbfe-e226a7f8210c
accordion
响应

成功的响应返回新创建的连接的详细信息,包括其唯一标识符(id)。 在下一步创建源连接时需要此基本连接ID。

code language-json
{
    "id": "4cb0c374-d3bb-4557-b139-5712880adc55",
    "etag": "\"6507cfd8-0000-0200-0000-5e18fc600000\""
}

创建源连接 source

源连接创建和管理与摄取数据的外部源的连接。 源连接由数据源、数据格式和创建数据流所需的源连接ID等信息组成。 源连接实例特定于租户和组织。

要创建源连接,请向Flow Service API的/sourceConnections端点发出POST请求。

API格式

POST /sourceConnections

请求

curl -X POST \
  'https://platform.adobe.io/data/foundation/flowservice/sourceConnections' \
  -H 'authorization: Bearer {ACCESS_TOKEN}' \
  -H 'content-type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -d '{
      "name": "Google PubSub source connection",
      "description": "A source connection for Google PubSub",
      "baseConnectionId": "4cb0c374-d3bb-4557-b139-5712880adc55",
      "connectionSpec": {
          "id": "70116022-a743-464a-bbfe-e226a7f8210c",
          "version": "1.0"
      },
      "data": {
          "format": "json"
      },
      "params": {
          "topicName": "projects/{PROJECT_ID}/topics/{TOPIC_ID}",
          "subscriptionName": "projects/{PROJECT_ID}/subscriptions/{SUBSCRIPTION_ID}",
          "dataType": "raw"
      }
  }'
属性
描述
name
源连接的名称。 请确保源连接的名称是描述性的,因为您可以使用此名称查找有关源连接的信息。
description
可提供的可选值,用于包含有关源连接的更多信息。
baseConnectionId
在上一步中生成的PubSub源的基本连接ID。
connectionSpec.id
PubSub的固定连接规范ID。 此ID为: 70116022-a743-464a-bbfe-e226a7f8210c
data.format
要摄取的PubSub数据的格式。 当前,唯一支持的数据格式为json
params.topicName
PubSub主题的名称。 在PubSub中,主题是一个表示消息馈送的命名资源。
params.subscriptionName
与给定主题对应的订阅名称。 在PubSub中,订阅允许您从主题中读取消息。 可以将一个或多个订阅分配给单个主题。
params.dataType
此参数定义正在摄取的数据的类型。 支持的数据类型包括: rawxdm

响应

成功的响应返回新创建的源连接的唯一标识符(id)。 在下一个教程中,创建数据流时需要此ID。

{
    "id": "e96d6135-4b50-446e-922c-6dd66672b6b2",
    "etag": "\"66013508-0000-0200-0000-5f6e2ae70000\""
}

后续步骤

通过学习本教程,您已使用Flow Service API创建了PubSub源连接。 您可以在下一个教程中使用此源连接ID来使用 Flow Service API创建流式数据流。

recommendation-more-help
337b99bb-92fb-42ae-b6b7-c7042161d089