BizTalk のイベント ハブ アダプター
概要
BizTalk Server 2016 Feature Pack 2 以降では、BizTalk ServerとAzure Event Hubsの間でメッセージを送受信できます。
Azure Event Hubsは拡張性の高いデータ ストリーミング プラットフォームであり、1 秒あたり何百万ものイベントを受信して処理できます。 Event Hubs とは は、詳細を提供します。
前提条件
- Azure イベント ハブの名前空間とイベント ハブを作成する
- コンテナーを使用して Azure BLOB ストレージ アカウントを作成する
- BizTalk Serverに Feature Pack 2 をインストールする
Event Hubs が作成され、イベントの送受信に必要な接続文字列が手元にあります。
Event Hub へのメッセージ送信
BizTalk Server管理コンソールで、[送信ポート] を右クリックし、[新規] を選択して、[静的一方向送信ポート] を選択します。
送信ポートを作成すると、 いくつかのガイダンスが提供されます。
[名前] を入力します。 [トランスポート] で、[種類] を [EventHub] に設定し、[構成] を選択します。
Azure アカウントのプロパティを構成します。
プロパティ 目的 サインイン Azure アカウントにサインインする サブスクリプション EventHubs 名前空間を持つサブスクリプションを選択します リソース グループ EventHubs 名前空間を持つリソース グループを選択する エンドポイントのプロパティを構成します。
プロパティ 目的 Namespace Event Hubs 名前空間を選択します。これは、sb:// eventhubnamespace.servicebus.windows.net/ 名前 (Event Hubs 名前空間内に作成された) Event Hub の名前を選択します。 既定のパーティション キー 省略可能。 Event Hubs プログラミング ガイドでは、 このキーの詳細について説明します。 認証 名前空間アクセス署名 が既定であり、Event Hubs 名前空間の作成時に作成された RootManageSharedAccessKey が自動的に使用されます。
エンティティ アクセス署名 は、(Event Hubs 名前空間レベルではなく) イベント ハブ レベルで作成できる SAS ポリシーです。
Event Hubs の機能の概要 について詳しく説明します。完了すると、プロパティは次のようになります。
省略可能。 Message プロパティを構成します。 [ユーザー定義メッセージ プロパティの名前空間] の値は、Event Hubs メッセージ プロパティにマップされたコンテキスト プロパティの名前空間を表します。 これは、プロパティ スキーマを使用して実現できます。
[ OK] を選択 して変更を保存します。
送信ポートをテストする
単純なファイル受信ポートと場所を使用して、Azure Event Hub にメッセージを送信できます。
ファイル アダプターを使用して受信ポートを作成します。 受信場所内で、 受信フォルダー を C:\Temp\In\ に設定し、ファイル マスクを *.xmlに設定します。
イベント ハブの送信ポートのプロパティで、[ フィルター] を に
BTS.ReceivePortName == FileReceivePort
設定します。次の内容をテキスト エディターに貼り付け、ファイルを EventHubMessage.xmlとして保存します。 これがサンプル メッセージです。
<Data> <DataID>DataID_0</DataID> <DataDetails>DataDetails_0</DataDetails> </Data>
ファイルの受信場所とイベント ハブの送信ポートを開始します。
サンプル メッセージEventHubMessage.xml receive フォルダー (C:\Temp\In) にコピーします。 送信ポートは、XML ファイルをイベント ハブに送信します。
Event Hubs からメッセージを受信する
BizTalk Server管理コンソールで、[受信ポート] を右クリックし、[新規] を選択して、[一方向の受信ポート] を選択します。
受信ポートを作成すると、 いくつかのガイダンスが提供されます。
名前を入力し、[ 受信場所] を選択します。
[ 新規] を選択し、受信場所に 名前を付 けます。 [トランスポート] で、[種類] ドロップダウン リストから [EventHub] を選択し、[構成] を選択します。
Azure アカウントのプロパティを構成します。
プロパティ 目的 サインイン Azure アカウントにサインインする サブスクリプション EventHubs 名前空間を持つサブスクリプションを選択します リソース グループ EventHubs 名前空間を持つリソース グループを選択する エンドポイントのプロパティを構成します。
プロパティ 目的 Namespace Event Hubs 名前空間を選択します。これは、sb:// eventhubnamespace.servicebus.windows.net/ 名前 (Event Hubs 名前空間内に作成された) Event Hub の名前を選択します。 コンシューマー グループ イベント ハブ内のコンシューマー グループを選択します。 既定のグループが自動的に作成されます。
Event Hubs の機能の概要 では、詳細について説明します。認証 名前空間アクセス署名 が既定であり、Event Hubs 名前空間の作成時に作成された RootManageSharedAccessKey が自動的に使用されます。
エンティティ アクセス署名 は、(Event Hubs 名前空間レベルではなく) イベント ハブ レベルで作成できる SAS ポリシーです。
Event Hubs の機能の概要 について詳しく説明します。完了すると、プロパティは次のようになります。
Checkpoint プロパティを構成します。 このアダプターは、Azure BLOB ストレージ アカウントを使用して、チェックポイントを使用してイベントを確実に読み取り、再起動から再開します。
ストレージ認証
認証方法を選択します。 通常は、Shared Access Signature を使用することをお勧めします。 次のリンクは、シナリオに適した方法を決定するのに役立つ適切なリソースです。
Azure ストレージ アカウントについて
Shared Access Signatures (SAS) の使用完了すると、プロパティは次のようになります。
Message プロパティを構成します。
プロパティ 目的 ユーザー定義メッセージ プロパティの名前空間 http://schemas.microsoft.com/BizTalk/EventHubAdapter/EventData/User
は既定のスキーマですが、別のスキーマを入力できます。 この値は、Event Hubs メッセージ プロパティにマップされた BizTalk メッセージ スキーマを表します。ユーザー定義プロパティの昇格 省略可能。 必要に応じて、これらのプロパティを昇格させることができます。
注
昇格する必要があるプロパティには、イベントを受信する 前に プロパティ スキーマがデプロイされている必要があります。[ OK] を選択 して変更を保存します。
受信設定をテストする
単純なファイル送信ポートを使用して、Azure Event Hub からメッセージを受信できます。
- ファイル アダプターを使用して送信ポートを作成します。 送信ポートのプロパティ内で、 Destination フォルダー を C:\Temp\Out\ に設定し、 と [ファイル名 ] を %MessageID%.xmlに設定します。
- [ファイル送信ポート] プロパティで、[ フィルター] を に
BTS.ReceivePortName == EHReceivePort
設定します。 - イベント ハブの受信場所とファイル送信ポートを開始します。
- 宛先フォルダー (c:\temp\out) 内のメッセージを探します。
その他の操作
Event Hubs は、Azure Data Lake、HD Insight など、他の多くの Azure サービスの "フロント ドア" と見なされます。 多くのメッセージを処理し、高速に処理するように設計されています。 Event Hubs とその機能の詳細については、以下を参照してください。