本教學課程將逐步引導您完成連線的步驟 Google PubSub (以下稱"PubSub")進行Experience Platform,使用 [Flow Service API] (https://www.adobe.io/experience-platform-apis/references/flow-service/).
本指南需要您實際瞭解下列Adobe Experience Platform元件:
以下小節提供成功連線所需瞭解的其他資訊 PubSub 至平台,使用 Flow Service API。
為了 Flow Service 以連線到 PubSub,您必須提供下列連線屬性的值:
認證 | 說明 |
---|---|
projectId |
驗證所需的專案ID PubSub. |
credentials |
驗證所需的認證或金鑰 PubSub. |
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 建立服務帳戶的指南 瞭解如何產生認證的步驟。
如果您使用以服務帳戶為基礎的驗證,在複製和貼上您的認證時,請確保您已授予足夠的使用者存取權給您的服務帳戶,並且JSON中沒有額外的空格。
如需如何成功呼叫Platform API的詳細資訊,請參閱以下指南中的 Platform API快速入門.
建立來源連線的第一個步驟是驗證您的 PubSub 來源並產生基本連線ID。 基礎連線ID可讓您瀏覽和瀏覽來源內的檔案,並識別您要擷取的特定專案,包括其資料型別和格式的資訊。
POST若要建立基本連線ID,請向 /connections
端點,同時提供 PubSub 要求引數中的驗證認證。
此 PubSub 來源可讓您指定在驗證期間允許使用的存取型別。 您可以將帳戶設定為擁有根存取權,或限制特定專案的存取權 PubSub 主題和訂閱。
指派給使用者的主體(角色) PubSub 專案會繼承內建立的所有主題和訂閱 PubSub 專案。 如果您希望主參與者(角色)有權存取特定主題,則也必須將該主參與者(角色)新增至主題的對應訂閱。 如需詳細資訊,請閱讀 [PubSub 存取控制檔案] (https://cloud.google.com/pubsub/docs/access-control).
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: {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 . |
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 |
此引數會定義所擷取的資料型別。 支援的資料型別包括: raw 和 xdm . |
回應
成功的回應會傳回唯一識別碼(id
)。 在下個教學課程中,需要此ID才能建立資料流。
{
"id": "e96d6135-4b50-446e-922c-6dd66672b6b2",
"etag": "\"66013508-0000-0200-0000-5f6e2ae70000\""
}
依照本教學課程,您已建立 PubSub 來源連線使用 Flow Service API。 您可以在下一個教學課程中使用此來源連線ID來 使用建立串流資料流 Flow Service API.