こんにちは、株式会社 PHONE APPLI リサーチデベロップメント の松井です。
デバイスから Azure IoT Hub にデータを送信する仕組みを作っていた時、思い通りにデータを送信できているかリアルタイムに確認しながら作りたいと思いました。
メッセージが届いているかどうかは IoT Hub 上で概要ページから「使用されたメッセージ数」として簡単に確認できるのですが、届いたメッセージの内容は IoT Hub 上で確認できませんでした。
そこでどうにかメッセージの内容までリアルタイムに確認する方法を調べていたのですが、他の Azure サービスと組み合わせる方法がほとんどでした。
他のサービスを使わず、リアルタイムに確認する簡単な方法はないのか?
この問題を解決した方法を紹介します。
本編
はじめに書いたように、確かに Azure Monitor, Log Analytics, Event Hubs 等のサービスと組み合わせれば確認はできます。
しかし、めんどくさがりな私はこう思いました
"リソースを作って設定するのめんどくさい、、"
と。
そこで、リソースを作らずに済む方法を調べてみて「おっ!これだ!」と思ったのが、
Azure CLI でした。 docs.microsoft.com
Azure CLI はコマンド入力で Azure を操作できるのですが、次のようなコマンドが用意されていました。
az iot hub monitor-events --device-id {{デバイスID}} --hub-name {{IoT Hub の名前}}
実際にこのコマンドを Azure CLI で実行してみると、
※ ブログ用に作成したリソースとデータを使用
デバイスから送信したデータをリアルタイムに確認することができました!
結論
他のサービスを使わず、リアルタイムに確認する簡単な方法はないのか?
の解決方法は、
Azure CLI の az iot hub monitor-events
コマンドを使う!
でした!
Azure CLI が使える環境さえあれば簡単にできるので、私と同じようなめんどくさがりな人は是非使ってみてください!
他にもこんな簡単な方法があるよ!と言う方は是非コメントで教えて下さい!
おまけ
コマンド入力に慣れていない、GUI で操作したいという人は Azure IoT エクスプローラーという手段もあります。
(めんどくさがりな私は、インストールがめんどくさくて使いませんでした。)