今回はEvent Hubsに向けてREST APIでの送信をテストしてみます。
Event HubsのREST API
Event HubsのREST APIは下記にレファレンスがあり、管理ポータルを使わなくともEvent Hubの作成・削除・情報取得・送信等が可能です。
https://msdn.microsoft.com/ja-jp/library/azure/dn790674.aspx
Event Hubへの送信
REST APIを使ってEvent Hubへメッセージイベントを送信するための形式は下記の様になります。
1 2 3 |
POST https://{Service Busの名前空間}.servicebus.windows.net/{Event Hub名}/publishers/{任意のデバイス名}/messages Authorization: SharedAccessSignature(SAS)トークン Content-Type: application/json |
今回はREST APIのテストツール「DHC」を使って送信してみます。
(https://chrome.google.com/webstore/detail/dhc-resthttp-api-client/aejoelaoggembcahagimdiliamlcdmfm)
下記のように「201 Created」と表示されていれば成功です。
AzureのEvent Hubダッシュボードでも送信が成功していることが確認できます。
SASトークンについて
先ほど送信したREST APIですが、送信にあたって予めSASトークンを発行する必要があります。
SASトークンを発行するためのレファレンスは.NETのものがあります。
参考レファレンス
ただ、.NETに慣れていないユーザーからするとSASトークンを発行するだけでも手間になってしまうかもしれません。
その場合はサードパーティ製SASトークン作成ツールを利用することで発行ができます。
http://fabriccontroller.net/iot-with-azure-service-bus-event-hubs-authenticating-and-sending-from-any-type-of-device-net-and-js-samples/
入力に必要な項目はEvent Hubの名前空間、Event Hub名、デバイス名(テストなので仮の名称)、Event Hubの共有アクセスポリシーとポリシーキーとなります。
発行されたSASトークンを先ほどのREST APIでヘッダーとして入力することで利用ができます。
今回紹介した内容は主にテスト用途になりますが、実際にEvent hubにデータを送る処理を実装する際にも応用できると思いますので、皆様の参考になれば幸いです。
次回もお楽しみに!