The 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 の次のコンポーネントに関する十分な知識が必要です。
以下の節では、Flow Service API を使用して PubSub を Platform に正しく接続するために必要な追加情報を示します。
Flow Service を PubSub に接続するには、次の接続プロパティの値を指定する必要があります。
資格情報 | 説明 |
---|---|
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 購読。 In PubSubを使用すると、購読を使用して、メッセージの公開先のトピックを購読することでメッセージを受け取ることができます。 注意:単一の PubSub サブスクリプションは 1 つのデータフローに対してのみ使用できます。 複数のデータフローを作成するには、複数のサブスクリプションが必要です。 購読名の形式は次のとおりです。 projects/{PROJECT_ID}/subscriptions/{SUBSCRIPTION_ID} . |
connectionSpec.id |
接続仕様は、ベース接続とソースターゲット接続の作成に関連する認証仕様を含む、ソースのコネクタプロパティを返します。 PubSub 接続仕様 ID は 70116022-a743-464a-bbfe-e226a7f8210c です。 |
これらの値について詳しくは、こちらの PubSub 認証に関するドキュメントを参照してください。サービスアカウントベースの認証を使用するには、こちらのPubSub サービスアカウントの作成に関するガイドで、資格情報の生成手順を確認してください。
サービスアカウントベースの認証を使用している場合は、サービスアカウントに十分なユーザーアクセス権が付与され、資格情報をコピー&ペーストする際に、JSON 内に余分な空白がないことを確認してください。
Platform API への呼び出しを正常に実行する方法について詳しくは、Platform API の概要を参照してください。
作成後は、 Google PubSub ベース接続。 認証タイプを変更するには、新しいベース接続を作成する必要があります。
ソース接続を作成する最初の手順は、PubSub ソースを認証し、ベース接続 ID を生成することです。ベース接続 ID を使用すると、ソース内を移動してファイルを探索し、データのタイプや形式に関する情報など、取り込みたい特定の項目を識別できます。
ベース接続 ID を作成するには、/connections
エンドポイントに対して POST リクエストを実行し、その際に PubSub 認証資格情報をリクエストパラメーターの一部として指定します。
The PubSub 「ソース」では、認証時に許可するアクセスのタイプを指定できます。 アカウントを設定して、ルートアクセスを持たせたり、特定のアクセスに対してアクセスを制限したりできます PubSub トピックおよび購読。
に割り当てられたプリンシパル(ロール) PubSub プロジェクトは、 PubSub プロジェクト。 プリンシパル(役割)に特定のトピックへのアクセス権を付与する場合は、そのプリンシパル(役割)もトピックの対応するサブスクリプションに追加する必要があります。 詳しくは、 [PubSub アクセス制御に関するドキュメント] (https://cloud.google.com/pubsub/docs/access-control).
API 形式
POST /connections
プロジェクトベースの認証を使用してベース接続を作成するには、 /connections
エンドポイントを設定し、 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 |
PubSub の認証に必要なプロジェクト ID。 |
auth.params.credentials |
PubSub の認証に必要な資格情報またはキー。 |
connectionSpec.id |
PubSub 接続仕様 ID:70116022-a743-464a-bbfe-e226a7f8210c 。 |
リクエストが成功した場合は、一意の ID(id
)を含む、新しく作成した接続の詳細が返されます。このベース接続 ID は、次の手順でソース接続を作成する際に必要になります。
{
"id": "4cb0c374-d3bb-4557-b139-5712880adc55",
"etag": "\"6507cfd8-0000-0200-0000-5e18fc600000\""
}
トピックおよび購読ベースの認証を使用してベース接続を作成するには、 /connections
エンドポイントを設定し、 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 |
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 は、次の手順でソース接続を作成する際に必要になります。
{
"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 |
前の手順で生成された PubSub ソースのベース接続 ID。 |
connectionSpec.id |
PubSub の固定接続仕様 ID。この ID は 70116022-a743-464a-bbfe-e226a7f8210c です。 |
data.format |
取り込む PubSub データの形式。現在、サポートされているデータ形式は json のみです。 |
params.topicName |
お客様の PubSub トピック。 In PubSubの場合、トピックは、メッセージのフィードを表す名前付きリソースです。 |
params.subscriptionName |
特定のトピックに対応する購読名。 In PubSubを使用すると、購読を使用してトピックからメッセージを読み取ることができます。 1 つ以上の購読を 1 つのトピックに割り当てることができます。 |
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 を使用したストリーミングデータフローの作成を行います。