Ultimate
Flow Service API を使用した Google PubSub ソース接続の作成
作成対象:
- 開発者
このチュートリアルでは、 Flow Service API を使用して Google PubSub(以下「PubSub」)を Experience Platform に接続する手順を詳しく説明します。
はじめに
このガイドは、Adobe Experience Platform の次のコンポーネントを実際に利用および理解しているユーザーを対象としています。
次の節では、Flow Service API を使用してExperience Platformに正しく接続するために必要 PubSub 追加情報を示します。
必要な資格情報の収集
PubSub アカウントを Flow Service に接続するには、以下に説明する接続プロパティの値を指定する必要があります。 認証と前提条件の設定について詳しくは、PubSub source 概要を参照してください。
資格情報 | 説明 |
---|---|
projectId | PubSub の認証に必要なプロジェクト ID。 |
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、購読を使用すると、メッセージの公開先のトピックを購読することで、メッセージを受信できます。 メモ:1 つの PubSub 購読は、1 つのデータフローに対してのみ使用できます。 複数のデータフローを作成するには、複数の購読が必要です。 配信登録名の形式は projects/{PROJECT_ID}/subscriptions/{SUBSCRIPTION_ID} です。 |
connectionSpec.id | 接続仕様は、ベース接続とソースターゲット接続の作成に関連する認証仕様を含む、ソースのコネクタプロパティを返します。 PubSub 接続仕様 ID は 70116022-a743-464a-bbfe-e226a7f8210c です。 |
これらの値について詳しくは、この PubSub 認証ドキュメントを参照してください。 サービスアカウントベースの認証を使用するには、こちらの PubSub サービスアカウントの作成に関するガイドで、資格情報の生成手順を確認してください。
Experience Platform API の使用
Experience Platform API を正常に呼び出す方法について詳しくは、Experience Platform API の概要を参照してください。
ベース接続の作成
ソース接続を作成する最初の手順は、PubSub ソースを認証し、ベース接続 ID を生成することです。ベース接続 ID を使用すると、ソース内を移動してファイルを探索し、データのタイプや形式に関する情報など、取り込みたい特定の項目を識別できます。
ベース接続 ID を作成するには、/connections
エンドポイントに対して POST リクエストを実行し、その際に PubSub 認証資格情報をリクエストパラメーターの一部として指定します。
PubSub ソースでは、認証時に許可するアクセスの種類を指定できます。 ルートアクセス権を持つように、または特定の PubSub トピックおよび購読へのアクセスを制限するために、アカウントを設定できます。
API 形式
POST /connections
プロジェクトベースの認証を使用したベース接続を作成するには、/connections
エンドポイントに対して POST リクエストを実行し、リクエスト本文で projectId
と credentials
を指定します。
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
auth.params.credentials
connectionSpec.id
70116022-a743-464a-bbfe-e226a7f8210c
。リクエストが成功した場合は、一意の ID(id
)を含む、新しく作成した接続の詳細が返されます。このベース接続 ID は、次の手順でソース接続を作成する際に必要になります。
{
"id": "4cb0c374-d3bb-4557-b139-5712880adc55",
"etag": "\"6507cfd8-0000-0200-0000-5e18fc600000\""
}
トピックおよび購読ベースの認証を使用したベース接続を作成するには、/connections
エンドポイントに対して POST リクエストを実行し、リクエスト本文で credentials
、topicName
、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
auth.params.topicName
auth.params.subscriptionName
connectionSpec.id
70116022-a743-464a-bbfe-e226a7f8210c
。リクエストが成功した場合は、一意の ID(id
)を含む、新しく作成した接続の詳細が返されます。このベース接続 ID は、次の手順でソース接続を作成する際に必要になります。
{
"id": "4cb0c374-d3bb-4557-b139-5712880adc55",
"etag": "\"6507cfd8-0000-0200-0000-5e18fc600000\""
}
ソース接続の作成
ソース接続は、データの取り込み元となる外部ソースへの接続を作成および管理します。ソース接続は、データソース、データ形式、データフローの作成に必要なソース接続 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
connectionSpec.id
70116022-a743-464a-bbfe-e226a7f8210c
です。data.format
json
のみです。params.topicName
params.subscriptionName
params.dataType
raw
および xdm
を含むデータタイプがサポートされています。応答
リクエストが成功した場合は、新しく作成されたソース接続の一意の ID(id
)が返されます。この ID は、次のチュートリアルでデータフローを作成する際に必要です。
{
"id": "e96d6135-4b50-446e-922c-6dd66672b6b2",
"etag": "\"66013508-0000-0200-0000-5f6e2ae70000\""
}
次の手順
このチュートリアルでは、Flow Service API を使用して PubSub ソース接続を作成しました。次のチュートリアルでは、このソース接続 ID を使用して、 Flow Service API を使用したストリーミングデータフローの作成を行います。