[Ultimate]{class="badge positive"}

Flow Service APIを使用してAzure Event Hubs ソース接続を作成します

IMPORTANT
Azure Event Hubs ソースは、Real-Time Customer Data Platform Ultimateを購入したユーザーがソースカタログで利用できます。

このチュートリアルでは、Flow Service APIを使用してAzure Event Hubs (以下、「Event Hubs」と呼ぶ)をExperience Platformに接続する方法について説明します。

はじめに

このガイドは、Adobe Experience Platform の次のコンポーネントを実際に利用および理解しているユーザーを対象としています。

  • ソース:Experience Platform を使用すると、データを様々なソースから取得しながら、Experience Platform サービスを使用して受信データの構造化、ラベル付け、拡張を行うことができます。
  • サンドボックス:Experience Platform には、単一の Experience Platform インスタンスを別々の仮想環境に分割して、デジタルエクスペリエンスアプリケーションの開発と発展に役立つ仮想サンドボックスが用意されています。

以下の節では、Flow Service APIを使用してEvent HubsをExperience Platformに正常に接続するために必要な追加情報を示します。

必要な資格情報の収集

Flow ServiceがEvent Hubs アカウントに接続するには、次の接続プロパティの値を指定する必要があります。

標準認証
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2
資格情報 説明
sasKeyName 認証ルールの名前。SAS キー名とも呼ばれます。
sasKey Event Hubs名前空間のプライマリキー。 sasKeyが対応するsasPolicyには、Event Hubs リストを入力するためにmanage権限が設定されている必要があります。
namespace アクセスしているEvent Hubの名前空間。 Event Hub名前空間は、1つ以上のEvent Hubsを作成できる一意のスコープ コンテナを提供します。
connectionSpec.id 接続仕様は、ベース接続とソース接続の作成に関連する認証仕様などの、ソースのコネクタプロパティを返します。 Event Hubs 接続仕様 ID は bf9f5905-92b7-48bf-bf20-455bc6b60a4e です。
SAS認証
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2
資格情報 説明
sasKeyName 認証ルールの名前。SAS キー名とも呼ばれます。
sasKey Event Hubs名前空間のプライマリキー。 sasKeyが対応するsasPolicyには、Event Hubs リストを入力するためにmanage権限が設定されている必要があります。
namespace アクセスしているEvent Hubの名前空間。 Event Hub名前空間は、1つ以上のEvent Hubsを作成できる一意のスコープ コンテナを提供します。
eventHubName Azure Event Hubの名前を入力します。 Event Hub名について詳しくは、Microsoft ドキュメント ​を参照してください。
connectionSpec.id 接続仕様は、ベース接続とソース接続の作成に関連する認証仕様などの、ソースのコネクタプロパティを返します。 Event Hubs 接続仕様 ID は bf9f5905-92b7-48bf-bf20-455bc6b60a4e です。

Event Hubsの共有アクセス署名(SAS)認証について詳しくは、Azure SASの使用に関するガイドを参照してください。

Event Hub Azure Active Directory Auth
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2
資格情報 説明
tenantId 権限をリクエストするテナント ID。 テナント IDは、GUIDまたはわかりやすい名前としてフォーマットできます。 メモ: テナント IDは、Microsoft Azure インターフェイスでは「ディレクトリ ID」と呼ばれます。
clientId アプリに割り当てられたアプリケーション ID。 このIDは、Azure Active Directoryを登録したMicrosoft Entra ID ポータルから取得できます。
clientSecretValue クライアント IDと共に使用されるクライアント シークレットは、アプリの認証に使用されます。 Azure Active Directoryを登録したMicrosoft Entra ID ポータルからクライアントの秘密鍵を取得できます。
namespace アクセスしているEvent Hubの名前空間。 Event Hub名前空間は、1つ以上のEvent Hubsを作成できる一意のスコープ コンテナを提供します。

Azure Active Directoryについて詳しくは、Azureのガイド「Microsoft Entra ID」をご覧ください。

イベントハブがAzure Active Directory認証をスコープしました
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2
資格情報 説明
tenantId 権限をリクエストするテナント ID。 テナント IDは、GUIDまたはわかりやすい名前としてフォーマットできます。 メモ: テナント IDは、Microsoft Azure インターフェイスでは「ディレクトリ ID」と呼ばれます。
clientId アプリに割り当てられたアプリケーション ID。 このIDは、Azure Active Directoryを登録したMicrosoft Entra ID ポータルから取得できます。
clientSecretValue クライアント IDと共に使用されるクライアント シークレットは、アプリの認証に使用されます。 Azure Active Directoryを登録したMicrosoft Entra ID ポータルからクライアントの秘密鍵を取得できます。
namespace アクセスしているEvent Hubの名前空間。 Event Hub名前空間は、1つ以上のEvent Hubsを作成できる一意のスコープ コンテナを提供します。
eventHubName Azure Event Hubの名前を入力します。 Event Hub名について詳しくは、Microsoft ドキュメント ​を参照してください。

これらの値について詳しくは、このイベントハブのドキュメント ​を参照してください。

Experience Platform APIの使用

Experience Platform APIの呼び出しを正常に行う方法について詳しくは、Experience Platform APIの概要に関するガイドを参照してください。

ベース接続の作成

TIP
作成したら、Event Hubs ベース接続の認証タイプを変更することはできません。 認証タイプを変更するには、新しいベース接続を作成する必要があります。

ソース接続を作成する最初の手順は、Event Hubs ソースを認証し、ベース接続 ID を生成することです。 ベース接続 ID を使用すると、ソース内を移動してファイルを探索し、データタイプや形式に関する情報など、取り込みたい特定の項目を識別できます。

ベース接続 ID を作成するには、/connections エンドポイントに対して POST リクエストを実行し、その際に Event Hubs 認証資格情報をリクエストパラメーターの一部として指定します。

API 形式

POST /connections
標準認証

標準認証を使用してアカウントを作成するには、sasKeyNamesasKeynamespaceの値を指定しながら、/connections エンドポイントにPOST リクエストを行います。

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": "Azure Event Hubs connection",
      "description": "Connector for Azure Event Hubs",
      "auth": {
          "specName": "Azure EventHub authentication credentials",
          "params": {
              "sasKeyName": "{SAS_KEY_NAME}",
              "sasKey": "{SAS_KEY}",
              "namespace": "{NAMESPACE}"
          }
      },
      "connectionSpec": {
          "id": "bf9f5905-92b7-48bf-bf20-455bc6b60a4e",
          "version": "1.0"
      }
  }'
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2
プロパティ 説明
auth.params.sasKeyName 認証ルールの名前。SAS キー名とも呼ばれます。
auth.params.sasKey 生成された共有アクセス署名。
auth.params.namespace アクセスしているEvent Hubsの名前空間。
connectionSpec.id Event Hubs接続仕様ID: bf9f5905-92b7-48bf-bf20-455bc6b60a4e
accordion
応答

リクエストが成功した場合は、一意の ID(id)を含め、新しく作成されたベース接続の詳細が返されます。 この接続IDは、次の手順でソース接続を作成する際に必要です。

code language-json
{
    "id": "4cdbb15c-fb1e-46ee-8049-0f55b53378fe",
    "etag": "\"6507cfd8-0000-0200-0000-5e18fc600000\""
}
SAS認証

SAS認証を使用してアカウントを作成するには、sasKeyNamesasKeynamespaceeventHubNameの値を指定しながら、/connections エンドポイントにPOST リクエストを行います。

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": "Azure Event Hubs connection",
      "description": "Connector for Azure Event Hubs",
      "auth": {
          "specName": "Azure EventHub authentication credentials",
          "params": {
              "sasKeyName": "{SAS_KEY_NAME}",
              "sasKey": "{SAS_KEY}",
              "namespace": "{NAMESPACE}",
              "eventHubName": "{EVENT_HUB_NAME}
          }
      },
      "connectionSpec": {
          "id": "bf9f5905-92b7-48bf-bf20-455bc6b60a4e",
          "version": "1.0"
      }
  }'
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2
プロパティ 説明
auth.params.sasKeyName 認証ルールの名前。SAS キー名とも呼ばれます。
auth.params.sasKey 生成された共有アクセス署名。
auth.params.namespace アクセスしているEvent Hubsの名前空間。
params.eventHubName Event Hubs ソースの名前。
connectionSpec.id Event Hubs接続仕様ID: bf9f5905-92b7-48bf-bf20-455bc6b60a4e
accordion
応答

リクエストが成功した場合は、一意の ID(id)を含め、新しく作成されたベース接続の詳細が返されます。 この接続IDは、次の手順でソース接続を作成する際に必要です。

code language-json
{
    "id": "4cdbb15c-fb1e-46ee-8049-0f55b53378fe",
    "etag": "\"6507cfd8-0000-0200-0000-5e18fc600000\""
}
Event Hub Azure Active Directory Auth

Azure Active Directory認証を使用してアカウントを作成するには、tenantIdclientIdclientSecretValuenamespaceの値を指定しながら、/connections エンドポイントにPOST リクエストを行います。

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": "Azure Event Hubs connection",
      "description": "Connector for Azure Event Hubs",
      "auth": {
          "specName": "Event Hub Azure Active Directory Auth",
          "params": {
              "tenantId": "{TENANT_ID}",
              "clientId": "{CLIENT_ID}",
              "clientSecretValue": "{CLIENT_SECRET_VALUE}",
              "namespace": "{NAMESPACE}"
          }
      },
      "connectionSpec": {
          "id": "bf9f5905-92b7-48bf-bf20-455bc6b60a4e",
          "version": "1.0"
      }
  }'
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2
プロパティ 説明
auth.params.tenantId アプリケーションのテナント ID。 メモ: テナント IDは、Microsoft Azure インターフェイスでは「ディレクトリ ID」と呼ばれます。
auth.params.clientId 組織のクライアント ID。
auth.params.clientSecretValue 組織のクライアント秘密値。
auth.params.namespace アクセスしているEvent Hubsの名前空間。
connectionSpec.id Event Hubs接続仕様ID: bf9f5905-92b7-48bf-bf20-455bc6b60a4e
accordion
応答

リクエストが成功した場合は、一意の ID(id)を含め、新しく作成されたベース接続の詳細が返されます。 この接続IDは、次の手順でソース接続を作成する際に必要です。

code language-json
{
    "id": "4cdbb15c-fb1e-46ee-8049-0f55b53378fe",
    "etag": "\"6507cfd8-0000-0200-0000-5e18fc600000\""
}
イベントハブがAzure Active Directory認証をスコープしました

Azure Active Directory認証を使用してアカウントを作成するには、tenantIdclientIdclientSecretValuenamespaceおよびeventHubNameの値を指定しながら、/connections エンドポイントにPOST リクエストを行います。

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": "Azure Event Hubs connection",
      "description": "Connector for Azure Event Hubs",
      "auth": {
          "specName": "Event Hub Scoped Azure Active Directory Auth",
          "params": {
              "tenantId": "{TENANT_ID}",
              "clientId": "{CLIENT_ID}",
              "clientSecretValue": "{CLIENT_SECRET_VALUE}",
              "namespace": "{NAMESPACE}",
              "eventHubName": "{EVENT_HUB_NAME}"
          }
      },
      "connectionSpec": {
          "id": "bf9f5905-92b7-48bf-bf20-455bc6b60a4e",
          "version": "1.0"
      }
  }'
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2
プロパティ 説明
auth.params.tenantId アプリケーションのテナント ID。 メモ: テナント IDは、Microsoft Azure インターフェイスでは「ディレクトリ ID」と呼ばれます。
auth.params.clientId 組織のクライアント ID。
auth.params.clientSecretValue 組織のクライアント秘密値。
auth.params.namespace アクセスしているEvent Hubsの名前空間。
auth.params.eventHubName Event Hubs ソースの名前。
connectionSpec.id Event Hubs接続仕様ID: bf9f5905-92b7-48bf-bf20-455bc6b60a4e
accordion
応答

リクエストが成功した場合は、一意の ID(id)を含め、新しく作成されたベース接続の詳細が返されます。 この接続IDは、次の手順でソース接続を作成する際に必要です。

code language-json
{
    "id": "4cdbb15c-fb1e-46ee-8049-0f55b53378fe",
    "etag": "\"6507cfd8-0000-0200-0000-5e18fc600000\""
}

ソース接続の作成

TIP
Event Hubs コンシューマーグループは、特定の時間に1つのフローにのみ使用できます。

ソース接続は、データの取り込み元となる外部ソースへの接続を作成および管理します。 ソース接続は、データソース、データ形式、データフローの作成に必要なソース接続 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": "Azure Event Hubs source connection",
      "description": "A source connection for Azure Event Hubs",
      "baseConnectionId": "4cdbb15c-fb1e-46ee-8049-0f55b53378fe",
      "connectionSpec": {
          "id": "bf9f5905-92b7-48bf-bf20-455bc6b60a4e",
          "version": "1.0"
      },
      "data": {
          "format": "json"
      },
      "params": {
          "eventHubName": "{EVENT_HUB_NAME}",
          "dataType": "raw",
          "reset": "latest",
          "consumerGroup": "{CONSUMER_GROUP}"
      }
  }'
プロパティ
説明
name
ソース接続の名前。 ソース接続の情報を検索する際に使用できるので、ソース接続の名前はわかりやすいものにしてください。
description
指定するとソース接続に関する詳細情報を含めることができるオプションの値。
baseConnectionId
前の手順で生成されたEvent Hubs ソースの接続ID。
connectionSpec.id
Event Hubs の固定接続仕様 ID。 この ID は bf9f5905-92b7-48bf-bf20-455bc6b60a4e です。
data.format
取り込む Event Hubs データの形式。 現在、サポートされているデータ形式は json のみです。
params.eventHubName
Event Hubs ソースの名前。
params.dataType
このパラメーターは、取り込まれるデータのタイプを定義します。 raw および xdm を含むデータタイプがサポートされています。
params.reset
このパラメーターは、データの読み取り方法を定義します。 latestを使用して最新のデータから読み取りを開始し、earliestを使用してストリームの最初の利用可能なデータから読み取りを開始します。 このパラメーターはオプションで、指定しない場合はデフォルトでearliestになります。
params.consumerGroup
Event Hubsに使用する公開または購読メカニズム。 このパラメーターはオプションで、指定しない場合はデフォルトで$Defaultになります。 詳しくは、このEvent Hubs イベントコンシューマーに関するガイドを参照してください。 : Event Hubs コンシューマーグループは、特定の時点で1つのフローにのみ使用できます。
NOTE
ストリーミングデータフローを作成または更新した後、データの損失やデータの削除の可能性のあるインスタンスを防ぐには、データの取り込みを5分間だけ一時停止する必要があります。

次の手順

このチュートリアルでは、Flow Service APIを使用してEvent Hubs ソース接続を作成しました。 次のチュートリアルでは、このソース接続 ID を使用して、​ Flow Service API を使用したストリーミングデータフローの作成を行います。

recommendation-more-help
experience-platform-help-sources