以前の記事では Event Hubs のクイックスタートにて、Event Hubs と Spring Boot アプリケーションをつなげる方法について調べた。 Event Hubs と Kafka アプリケーションを繋げるにはこちらのクイックスタートを使用すればパラメータを設定するだけで簡単にできた。 ただし Event Hubs のレベルは kafka プロトコルに対応したい場合だと Basic では動かないため、Standard にする必要がある
その際に、Event Hubs <-> Kafka アプリケーション間で発生するイベントをキャプチャすることができるようだったので設定してみた。(Azure Blob Storage で行った) なお、操作は IntelliJ 上で行っているが、アプリの実行はターミナルで実施した。
キャプチャが保存されたことを確認する
前提
- 当該リポジトリを clone 済みであり、適切なパラメータが設定済みであること
- リポジトリの README.md に記載のある条件をクリアしていること
TestProducer を起動する
producer のルートディレクトリで以下を実行する
起動すると以下のようなログがターミナルに出力される。
デフォルトでは起動時に100メッセージが送られるような設定となっているため、送信が完了した場合は以下のようなログが出力される。
TestConsumer を起動する
consumer のルートディレクトリで以下を実行する
今回は100メッセージを同時に送っており、下記ログによって受信したことがわかる。
Blob を確認する
設定しておいたストレージアカウントの指定コンテナに以下のように保存されることが確認できた。デフォルトでは日時別に保存されている。
終わりに
ファイル内をみるには この辺りを使う必要がありそう 8/19 追記:試したが Avro ファイルは開けず別の対応が必要みたい。要調査
8/28 補足 Avro ファイルの中身を見る方法
サポートに問い合わせを行い確認したので追記。
- 簡単なのは Apache の Avro Tools jar を使用すること
- 中身を簡単に見たい時は Portal からでもオブジェクトの「編集」タブを押すことで見ることができたので以下の通り共有しておく
なお、肝心の中身については以下のように表示された。確かに一部文字化けしているが使用には困らない。
|
|