🐓
Azure Event Hubsのメッセージの内容を確認する(blob保存)
やりたいこと
Event Hubsにメッセージ送るよって言われることは多いと思います。
本当に来てるの?どんなメッセージ?って確認したいですよね。
使う機能
Evnet Hubsにキャプチャという機能があります。
ここで保存先と形式を指定するだけです。
※Basicプランだとキャプチャ機能使えないのでStandard以上で。
出力ファイル形式でAvro,Parquet,DeltaLakeが選べます。
はまったこと
何も考えずに保存をすると、下記のエラーが出ます。
making the request doesn't have the required data plane write permissions. Please enable Microsoft.Storage/storageAccounts/blobServices/containers/write, Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write permission(s)
何やら、storageのパーミッションエラーみたいです。
"ストレージ BLOB データ共同作成者"の権限が必要だそうです。
ユーザーに対して、ストレージBLOBデータ共同作成者の権限をつけて、
キャプチャの認証では既定値 (SAS)を選ぶと設定できました。
試しにメッセージを飛ばすと
メッセージ保存されてました。AVROを開くと、メッセージの中身が見れます。
Discussion
凄い勉強になりました!