BizTalk のイベント ハブ アダプター
- [アーティクル]
-
-
BizTalk Server 2016 Feature Pack 2 以降では、BizTalk ServerとAzure Event Hubsの間でメッセージを送受信できます。
Azure Event Hubsは拡張性の高いデータ ストリーミング プラットフォームであり、1 秒あたり何百万ものイベントを受信して処理できます。 Event Hubs とは は、詳細を提供します。
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 の機能の概要 について詳しく説明します。 |
完了すると、プロパティは次のようになります。
省略可能。 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 ファイルをイベント ハブに送信します。
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 とその機能の詳細については、以下を参照してください。
Event Hubs の機能の概要
Event Hubs とは