Event Hubs Capture でイベントデータをキャプチャする

以前の記事では 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 のルートディレクトリで以下を実行する 1 2 mvn clean package mvn exec:java -Dexec.mainClass="TestProducer" 起動すると以下のようなログがターミナルに出力される。 デフォルトでは起動時に100メッセージが送られるような設定となっているため、送信が完了した場合は以下のようなログが出力される。 TestConsumer を起動する consumer のルートディレクトリで以下を実行する 1 2 mvn clean package mvn exec:java -Dexec....

August 18, 2022 · 1 min · Sayaka Nakagawa

Azure Blob Storage とは何か

Azure Blob Storage について、Amazon S3 と類似しているサービスであることは知っていますが、機能についてよくわかっていないのでメモを残していこうと思います。まずは概要から。 概要 Azure Blob Storage とは Azure のストレージサービス。安価で大量の非構造化データが保存できる。 非構造化データとは、特定のデータ モデルや定義に従っていないデータであり、テキスト データやバイナリ データなど ユーザーまたはクライアント アプリケーションは、世界のどこからでも、HTTP/HTTPS 経由で Blob Storage 内のオブジェクトにアクセスできる。 リソースの種類 Blob リソースには3種類存在する。ストレージアカウント→コンテナ→Blob の順で構築が必要となる。 1. ストレージアカウント Azure 内にユニークなネームスペースを準備する 格納されたオブジェクトにはそれぞれネームスペースを用いたアドレスが発行されることとなる 以下はその一例(アカウント名:mystorageaccount)ハイフンなどが使えないことに留意 1 http://mystorageaccount.blob.core.windows.net 2. コンテナ ファイル システムのディレクトリと同じように、コンテナーを使用して BLOB のセットを整理する コンテナ数や Blob 数に制限はない 3. BLOB コンテナ内に格納されるオブジェクトのこと。3 種類の BLOB がある。 ブロック BLOB テキストとバイナリ データが格納される。 最大約 190.7 TiB のデータを格納できる 追加 BLOB ブロック BLOB と同様にブロックで構成されますが、追加操作用に最適化されています。 追加 BLOB は、仮想マシンのデータのログ記録などのシナリオに最適...

August 15, 2022 · 1 min · Sayaka Nakagawa

Spring Boot Application から Azure Event Hubs にアクセスする

Event Hubs とは Azure Event Hubs は、データをある場所から別の場所に転送して更なる処理や分析をするためのストリーミングデータインジェストサービスのこと。なんらかのデータイベントが発生するたびにストリーミング処理を行うことからイベントインジェスターともいう。 イベントインジェスターとは、例えば イベント駆動ドリブン はイベントパブリッシャー・イベントコンシューマーを構成するが、そのイベントを処理するためにイベントパブリッシャーとイベントコンシューマーの間に置かれる。 Event Hubs はフルマネージドの PaaS であるため、Kafka などを用いたい場合におけるクラスター管理・構成などの設計・構築が大幅に軽減される。 今回は Spring Boot アプリケーションから Event Hubs を使用する手順に関してまとめていく。 やってみる リソースを準備する Event Hubs を構築するには 公式のクイックスタート を活用すると良さそう。 ソースコードに関しては、公式が提供している Java を使用して Azure Event Hubs との間でイベントを送受信する (azure-messaging-eventhubs) の手順に沿ってサンプル実装を行う 補足:仕事の Kafka アプリケーションを Java で書いているため今回は Java で試す。 送信イベント用 Maven プロジェクトと受信イベント用 Maven プロジェクトを作成して送受信を試す 以後は 注意点のみ記載しているため詳細な手順は上記チュートリアルを確認すること 送信イベント用 Maven プロジェクトの注意点 Maven で作成した Empty Project の pom.xml に以下を追加する。 1 2 3 4 5 <dependency> <groupId>com....

August 14, 2022 · 1 min · Sayaka Nakagawa