Event Hubs とは

Azure Event Hubs は、データをある場所から別の場所に転送して更なる処理や分析をするためのストリーミングデータインジェストサービスのこと。なんらかのデータイベントが発生するたびにストリーミング処理を行うことからイベントインジェスターともいう。

イベントインジェスターとは、例えば イベント駆動ドリブン はイベントパブリッシャー・イベントコンシューマーを構成するが、そのイベントを処理するためにイベントパブリッシャーとイベントコンシューマーの間に置かれる。

Event Hubs はフルマネージドの PaaS であるため、Kafka などを用いたい場合におけるクラスター管理・構成などの設計・構築が大幅に軽減される。 今回は Spring Boot アプリケーションから Event Hubs を使用する手順に関してまとめていく。

やってみる

リソースを準備する

送信イベント用 Maven プロジェクトの注意点

Maven で作成した Empty Project の pom.xml に以下を追加する。

1
2
3
4
5
    <dependency>
        <groupId>com.azure</groupId>
        <artifactId>azure-messaging-eventhubs</artifactId>
        <version>5.7.0</version>
    </dependency>
  • この際、必ず Maven をリロードすること。 reload-maven

Event Hubs へ接続する際に使用する接続文字列の取得方法

1
Endpoint=sb://<NamespaceName>.servicebus.windows.net/;SharedAccessKeyName=<KeyName>;SharedAccessKey=<KeyValue>
  • 詳細についてはこちらに確認手順が書かれているため参照のこと。

受信イベント用 Maven プロジェクトの注意点

Azure Storage と BLOB コンテナーを作成する

Azure Storage Blob に関する概要は別記事にまとめた。

依存関係の追加

  • 送信イベント用プロジェクトと同様に pom.xml ファイルを更新後リロードすることを忘れないようにする

終わりに

手順どおりにやればかなり簡単にできた。次はこちらを試す。

References