Share via


BizTalk のイベント ハブ アダプター

概要

BizTalk Server 2016 Feature Pack 2 以降では、BizTalk ServerとAzure Event Hubsの間でメッセージを送受信できます。

Azure Event Hubsは拡張性の高いデータ ストリーミング プラットフォームであり、1 秒あたり何百万ものイベントを受信して処理できます。 Event Hubs とは は、詳細を提供します。

前提条件

Event Hubs が作成され、イベントの送受信に必要な接続文字列が手元にあります。

Event Hub へのメッセージ送信

  1. BizTalk Server管理コンソールで、[送信ポート] を右クリックし、[新規] を選択して、[静的一方向送信ポート] を選択します。

    送信ポートを作成すると、 いくつかのガイダンスが提供されます。

  2. [名前] を入力します。 [トランスポート] で、[種類] を [EventHub] に設定し、[構成] を選択します

  3. Azure アカウントのプロパティを構成します。

    プロパティ 目的
    サインイン Azure アカウントにサインインする
    サブスクリプション EventHubs 名前空間を持つサブスクリプションを選択します
    リソース グループ EventHubs 名前空間を持つリソース グループを選択する
  4. エンドポイントのプロパティを構成します。

    プロパティ 目的
    Namespace Event Hubs 名前空間を選択します。これは、sb:// eventhubnamespace.servicebus.windows.net/
    名前 (Event Hubs 名前空間内に作成された) Event Hub の名前を選択します。
    既定のパーティション キー 省略可能。 Event Hubs プログラミング ガイドでは、 このキーの詳細について説明します。
    認証 名前空間アクセス署名 が既定であり、Event Hubs 名前空間の作成時に作成された RootManageSharedAccessKey が自動的に使用されます。

    エンティティ アクセス署名 は、(Event Hubs 名前空間レベルではなく) イベント ハブ レベルで作成できる SAS ポリシーです。

    Event Hubs の機能の概要 について詳しく説明します。

    完了すると、プロパティは次のようになります。

    Event Hub アダプターの名前空間、名前、パーティション キー、認証プロパティのサンプルは、BizTalk Serverのポート エンドポイント プロパティを送信します

  5. 省略可能。 Message プロパティを構成します。 [ユーザー定義メッセージ プロパティの名前空間] の値は、Event Hubs メッセージ プロパティにマップされたコンテキスト プロパティの名前空間を表します。 これは、プロパティ スキーマを使用して実現できます。

  6. [ OK] を選択 して変更を保存します。

送信ポートをテストする

単純なファイル受信ポートと場所を使用して、Azure Event Hub にメッセージを送信できます。

  1. ファイル アダプターを使用して受信ポートを作成します。 受信場所内で、 受信フォルダーC:\Temp\In\ に設定し、ファイル マスクを *.xmlに設定します。

  2. イベント ハブの送信ポートのプロパティで、[ フィルター] を に BTS.ReceivePortName == FileReceivePort設定します。

  3. 次の内容をテキスト エディターに貼り付け、ファイルを EventHubMessage.xmlとして保存します。 これがサンプル メッセージです。

    <Data>
      <DataID>DataID_0</DataID>
      <DataDetails>DataDetails_0</DataDetails>
    </Data>
    
  4. ファイルの受信場所とイベント ハブの送信ポートを開始します。

  5. サンプル メッセージEventHubMessage.xml receive フォルダー (C:\Temp\In) にコピーします。 送信ポートは、XML ファイルをイベント ハブに送信します。

Event Hubs からメッセージを受信する

  1. BizTalk Server管理コンソールで、[受信ポート] を右クリックし、[新規] を選択して、[一方向の受信ポート] を選択します。

    受信ポートを作成すると、 いくつかのガイダンスが提供されます。

  2. 名前を入力し、[ 受信場所] を選択します。

  3. [ 新規] を選択し、受信場所に 名前を付 けます。 [トランスポート] で、[種類] ドロップダウン リストから [EventHub] を選択し、[構成] を選択します。

  4. Azure アカウントのプロパティを構成します。

    プロパティ 目的
    サインイン Azure アカウントにサインインする
    サブスクリプション EventHubs 名前空間を持つサブスクリプションを選択します
    リソース グループ EventHubs 名前空間を持つリソース グループを選択する
  5. エンドポイントのプロパティを構成します。

    プロパティ 目的
    Namespace Event Hubs 名前空間を選択します。これは、sb:// eventhubnamespace.servicebus.windows.net/
    名前 (Event Hubs 名前空間内に作成された) Event Hub の名前を選択します。
    コンシューマー グループ イベント ハブ内のコンシューマー グループを選択します。 既定のグループが自動的に作成されます。

    Event Hubs の機能の概要 では、詳細について説明します。
    認証 名前空間アクセス署名 が既定であり、Event Hubs 名前空間の作成時に作成された RootManageSharedAccessKey が自動的に使用されます。

    エンティティ アクセス署名 は、(Event Hubs 名前空間レベルではなく) イベント ハブ レベルで作成できる SAS ポリシーです。

    Event Hubs の機能の概要 について詳しく説明します。

    完了すると、プロパティは次のようになります。

    Event Hub アダプターの名前空間、名前、コンシューマー グループ、認証プロパティのサンプルは、BizTalk Serverの場所エンドポイント プロパティを受け取ります

  6. Checkpoint プロパティを構成します。 このアダプターは、Azure BLOB ストレージ アカウントを使用して、チェックポイントを使用してイベントを確実に読み取り、再起動から再開します。

    ストレージ認証
    認証方法を選択します。 通常は、Shared Access Signature を使用することをお勧めします。 次のリンクは、シナリオに適した方法を決定するのに役立つ適切なリソースです。

    Azure ストレージ アカウントについて
    Shared Access Signatures (SAS) の使用

    完了すると、プロパティは次のようになります。

    チェックポイントのプロパティ

  7. Message プロパティを構成します。

    プロパティ 目的
    ユーザー定義メッセージ プロパティの名前空間 http://schemas.microsoft.com/BizTalk/EventHubAdapter/EventData/User は既定のスキーマですが、別のスキーマを入力できます。 この値は、Event Hubs メッセージ プロパティにマップされた BizTalk メッセージ スキーマを表します。
    ユーザー定義プロパティの昇格 省略可能。 必要に応じて、これらのプロパティを昇格させることができます。


    昇格する必要があるプロパティには、イベントを受信する 前に プロパティ スキーマがデプロイされている必要があります。
  8. [ OK] を選択 して変更を保存します。

受信設定をテストする

単純なファイル送信ポートを使用して、Azure Event Hub からメッセージを受信できます。

  1. ファイル アダプターを使用して送信ポートを作成します。 送信ポートのプロパティ内で、 Destination フォルダーC:\Temp\Out\ に設定し、 と [ファイル名 ] を %MessageID%.xmlに設定します。
  2. [ファイル送信ポート] プロパティで、[ フィルター] を に BTS.ReceivePortName == EHReceivePort設定します。
  3. イベント ハブの受信場所とファイル送信ポートを開始します。
  4. 宛先フォルダー (c:\temp\out) 内のメッセージを探します。

その他の操作

Event Hubs は、Azure Data Lake、HD Insight など、他の多くの Azure サービスの "フロント ドア" と見なされます。 多くのメッセージを処理し、高速に処理するように設計されています。 Event Hubs とその機能の詳細については、以下を参照してください。

Event Hubs の機能の概要
Event Hubs とは