Ultimate

建立 Google PubSub 使用流量服務API的來源連線

上次更新: 2023-10-26
  • 主題:
  • Sources
    檢視有關此主題的更多資訊
  • 建立對象:
  • Developer
    User
    Admin
    Leader
重要

此 Google PubSub 已購買Real-time Customer Data Platform Ultimate的使用者可在來源目錄中取得來源。

本教學課程將逐步引導您完成連線的步驟 Google PubSub (以下稱「PubSub")至Experience Platform,使用 [Flow Service API] (https://www.adobe.io/experience-platform-apis/references/flow-service/).

快速入門

本指南需要您深入了解下列 Adobe Experience Platform 元件:

  • 來源:Experience Platform可讓您從各種來源擷取資料,同時使用Platform服務來建構、加標籤及增強傳入資料。
  • 沙箱:Experience Platform提供的虛擬沙箱可將單一Platform執行個體分割成個別的虛擬環境,以利開發及改進數位體驗應用程式。

以下小節提供成功連線所需瞭解的其他資訊 PubSub 至平台,使用 Flow Service API。

收集必要的認證

為了 Flow Service 以連線到 PubSub,您必須提供下列連線屬性的值:

認證 說明
projectId 驗證所需的專案ID PubSub.
credentials 驗證所需的認證 PubSub. 您必須確保在移除認證的空格後,放入完整的JSON檔案。
connectionSpec.id 連線規格會傳回來源的聯結器特性,包括與建立基礎和來源目標連線相關的驗證規格。 此 PubSub 連線規格ID為: 70116022-a743-464a-bbfe-e226a7f8210c.
認證 說明
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 authentication 檔案。 若要使用以服務帳戶為基礎的驗證,請參閱此 PubSub 建立服務帳戶指南 以取得如何產生認證的步驟。

秘訣

如果您使用以服務帳戶為基礎的驗證,在複製和貼上認證時,請確保您已授予足夠的使用者存取權給您的服務帳戶,並且JSON中沒有額外的空格。

使用平台API

如需如何成功呼叫Platform API的詳細資訊,請參閱以下指南: Platform API快速入門.

建立基礎連線

秘訣

建立後,您就無法變更的驗證型別 Google PubSub 基礎連線。 若要變更驗證型別,您必須建立新的基礎連線。

建立來源連線的第一個步驟是驗證您的 PubSub 來源並產生基本連線ID。 基礎連線ID可讓您從來源內部探索及導覽檔案,並識別您要擷取的特定專案,包括其資料型別和格式的資訊。

若要建立基本連線ID,請向以下連線ID發出POST請求: /connections 端點,同時提供 PubSub 要求引數中的驗證認證。

此 PubSub 來源可讓您指定在驗證期間允許使用的存取型別。 您可以將帳戶設定為擁有根存取權,或限制特定專案的存取權 PubSub 主題和訂閱。

注意

指派給的主體(角色) PubSub 專案會繼承內建立的所有主題和訂閱中 PubSub 專案。 如果您希望主參與者(角色)能夠存取特定主題,則也必須將該主參與者(角色)新增到主題的對應訂閱中。 如需詳細資訊,請閱讀 [PubSub 存取控制檔案] (https://cloud.google.com/pubsub/docs/access-control).

API格式

POST /connections

若要使用專案型驗證建立基礎連線,請向以下發出POST請求: /connections 端點,並提供您的 projectIdcredentials 在要求內文中。

 請求
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"
      }
  }'
屬性 說明
auth.params.projectId 驗證所需的專案ID PubSub.
auth.params.credentials 驗證所需的認證或金鑰 PubSub.
connectionSpec.id 此 PubSub 連線規格ID: 70116022-a743-464a-bbfe-e226a7f8210c.
 回應

成功的回應會傳回新建立連線的詳細資料,包括其唯一識別碼(id)。 建立來源連線的下一個步驟需要此基本連線ID。

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

POST若要使用主題和訂閱式驗證建立基礎連線,請向 /connections 端點,並提供您的 credentialstopicName、和 subscriptionName 在要求內文中。

 請求
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"
      }
  }'
屬性 說明
auth.params.credentials 驗證所需的認證或金鑰 PubSub.
auth.params.topicName 專案ID和主題ID配對 PubSub 要提供存取權的來源。
auth.params.subscriptionName 的專案ID和訂閱ID配對 PubSub 要提供存取權的來源。
connectionSpec.id 此 PubSub 連線規格ID: 70116022-a743-464a-bbfe-e226a7f8210c.
 回應

成功的回應會傳回新建立連線的詳細資料,包括其唯一識別碼(id)。 建立來源連線的下一個步驟需要此基本連線ID。

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

建立來源連線

來源連線會建立和管理與擷取資料的外部來源的連線。 來源連線包含資料來源、資料格式等資訊,以及建立資料流所需的來源連線ID。 租使用者和組織專屬的來源連線例項。

POST若要建立來源連線,請向 /sourceConnections 的端點 Flow Service API。

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 您的基本連線ID PubSub 上一步驟中產生的來源。
connectionSpec.id 的固定連線規格ID PubSub. 此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\""
}

後續步驟

依照本教學課程,您已建立 PubSub 來源連線使用 Flow Service API。 您可以在下一個教學課程中使用此來源連線ID: 使用建立串流資料流 Flow Service API.

本頁內容