こんにちは、ソリューション開発部の柴崎です。

とある人型ロボのログを送りつける先として Azure Event Hubs を調査しました。色々とハマりどころがありましたのでここでご紹介します。

結論

Event Hubs の メッセージング プラン をよく確認すること。Standard がお勧め (ステマじゃないよ!)

Event Hubs には2種類 (Basic, Standard) のプランがあります。公式のドキュメントを含め Standard が基準に書かれていることも多く、そのまま試してみると使えなくて悲しい思いをします。特に パブリッシャー ポリシー が使えないなんて試してみるまで気づきませんでした。

SAS Token の生成

とある人型ロボからデータ送信するためには Python を使う必要があり .NET を利用できないため REST API による Event Hubs へのメッセージ送信が必要になります。利用する API は以下の通りです。

どうやら認証のために SAS Token が必要になるようです。調べてみると、C# で書かれたサンプルやサードパーティの生成ツールが出てきました。Basic, Standard それぞれで生成しなければいけない SAS が異なるにもかかわらず、某サードパーティのツールでは Standard 用にしか生成でないなど中々のハマりどころです。

安心してください、仕様ありますよ!

Basic 用 SAS Token 生成 PowerShell スクリプトを書きましたので参考にしてください。

 メッセージ送信

では早速送りつけてみましょう。ひとまず curl で試してみます。以下は パブリッシャー ポリシー が無いものです。

要求

応答

勝ったッ! 201 Created 完! なかなか長い道のりでした。最後に Python のコードで締めくくります。

メッセージを送りつける Python コード

応答

まとめ

MSDN あるあるの日本語ドキュメントが信用できない、サンプルがサンプルじゃないこともありましたが、実際に送信できれば簡単でした。Azure Event Hubs はログを送りつける候補の1つとして調査しましたが、なかなかよさそうです。今後、他の候補の調査内容も追ってご紹介できればと思います。

 

この記事が気に入ったら
いいね!しよう

最新情報をお届けします

Twitter で「株式会社アークシステム」をフォローしよう!

https://devlog.arksystems.co.jp/wp-content/uploads/2016/06/standard-plan.pnghttps://devlog.arksystems.co.jp/wp-content/uploads/2016/06/standard-plan-150x150.pngshibasakiソリューション開発部Pepperプログラミング分科会クラウド利用技術Pepper,Microsoft,Azure,Python,SAS Token,Event Hubsこんにちは、ソリューション開発部の柴崎です。 とある人型ロボのログを送りつける先として Azure Event Hubs を調査しました。色々とハマりどころがありましたのでここでご紹介します。 結論 Event Hubs の メッセージング プラン をよく確認すること。Standard がお勧め (ステマじゃないよ!) Event Hubs には2種類 (Basic, Standard) のプランがあります。公式のドキュメントを含め Standard が基準に書かれていることも多く、そのまま試してみると使えなくて悲しい思いをします。特に パブリッシャー ポリシー が使えないなんて試してみるまで気づきませんでした。 SAS Token の生成 とある人型ロボからデータ送信するためには Python を使う必要があり .NET を利用できないため REST API による Event Hubs へのメッセージ送信が必要になります。利用する API は以下の通りです。Send event Send event with publisher ID (Standard のみ)どうやら認証のために SAS Token が必要になるようです。調べてみると、C# で書かれたサンプルやサードパーティの生成ツールが出てきました。Basic, Standard それぞれで生成しなければいけない...ARK Solution Development Division Developers Blog.