LoginSignup
1
1

More than 5 years have passed since last update.

Stream Analytics の Visual Studio 連携を試してみる

Posted at

Stream Analytics の テストとかデプロイとかを考えていたら、かずき師匠から Stream Analytics と Visual Studio の連携機能について教えてもらったので試してみた。

詳細はこのリンクから

事前準備

事前準備としては、 Azure Data Lake Tools for Visual Studio を2.3.3000.5以上にしておくこと。私のは2.3.3000.2 だったので、アップデートの必要があったが、Visual Studio Installer からはアップデートできなかった。結局下記のページからダウンロードして、実行することで、アップデートされた。

プロジェクトの作成とインプット・アウトプット

Stream Analytics の構成要素は次の3つ

  • SQL
  • Input
  • Output

Visual Studio のインテグレーションでは、Input, Output も設定でき、尚且つローカル実行も可能だった。接続する EventHub や CosmosDB の中も、ServerExplorer で見ることが可能。

単純に Input / Output をクリックすれば設定ができる。

Stream.JPG

はまりポイント

唯一のはまりポイントだが、私は途中で Input の名前を変えた。上記の Input Configuration は、Input Alias が有効なのだが、ファイル名を変えてもそちらは変わってくれない。そしてサンプルデータの実行がjson ファイル右クリック + Add Local Input でできるのだが、サンプルデータを指定してもファイルが見つからないといわれました。これは、しっかり、Input Alias を変えてから Add Local Input を実施することで解決します。

あと疑問点で多分大丈夫なのですが、この、Input / Output ファイルは特に .gitignore されていません。中身を見るとシークレットとかはそこには入っていないのですが、DataSourceCredentialDomain という項目があり、ちょっとPush していいものか気になります。現在確認中です。

出力イメージ

Run Locally を実行すると、無事実行されます。

Console.JPG

結果は ASALocalRun に出力されます。中身を見て一つ気になったのですが、Portal でこのオペレーションをするとjson のキーがすべて小文字になっていたのですが、こちらだと大文字になっています。前回のブログで、Stream Analytics のクエリーから出力された結果の JSON が小文字になるという問題があったのですが、この違いは気になります。

{"TeamId":"Team01","ServiceId":"Team01POI","Date":"2018-01-10T10:10:10.0000000","StatusCode":404,"Status":0},{"TeamId":"Team01","ServiceId":"Team01POI","Date":"2018-01-10T10:10:11.0000000","StatusCode":404,"Status":0},{"TeamId":"Team01","ServiceId":"Team01POI","Date":"2018-01-10T10:10:12.0000000","StatusCode":404,"Status":0},{"TeamId":"Team01","ServiceId":"Team01POI","Date":"2018-01-10T10:15:10.0000000","StatusCode":404,"Status":0},{"TeamId":"Team01","ServiceId":"Team01USER","Date":"2018-01-10T10:15:10.0000000","StatusCode":404,"Status":0},{"TeamId":"Team01","ServiceId":"Team01USER","Date":"2018-01-10T10:15:11.0000000","StatusCode":404,"Status":0},{"TeamId":"Team01","ServiceId":"Team01TRIP","Date":"2018-01-10T10:20:10.0000000","StatusCode":404,"Status":0},{"TeamId":"Team02","ServiceId":"Team02POI","Date":"2018-01-10T10:20:10.0000000","StatusCode":404,"Status":0},{"TeamId":"Team01","ServiceId":"Team01TRIP","Date":"2018-01-10T10:20:11.0000000","StatusCode":404,"Status":0},{"TeamId":"Team02","ServiceId":"Team02POI","Date":"2018-01-10T10:20:12.0000000","StatusCode":404,"Status":0},{"TeamId":"Team01","ServiceId":"Team01TRIP","Date":"2018-01-10T10:25:10.0000000","StatusCode":404,"Status":0},{"TeamId":"Team01","ServiceId":"Team01POI","Date":"2018-01-10T10:25:10.0000000","StatusCode":404,"Status":0},{"TeamId":"Team02","ServiceId":"Team02POI","Date":"2018-01-10T10:25:10.0000000","StatusCode":404,"Status":0},{"TeamId":"Team02","ServiceId":"Team02USER","Date":"2018-01-10T10:25:10.0000000","StatusCode":404,"Status":0},{"TeamId":"Team01","ServiceId":"Team01TRIP","Date":"2018-01-10T10:25:11.0000000","StatusCode":404,"Status":0},{"TeamId":"Team02","ServiceId":"Team02POI","Date":"2018-01-10T10:25:12.0000000","StatusCode":404,"Status":0}

ARM テンプレートの出力

このインテグレーションの自分的にとてもうれしいポイントはARMテンプレートをはいてくれるところです。Stream Analytics の ARMテンプレートを作るのはめっちゃめんどくさいのですが、これがしっかり出力されるのはうれしいです。通常の Visual Studio のプロジェクトのように、ビルドをすると、bin/Debug/Deploy の下に出力されます。パラメータはキー関係は埋まっていないので自分で埋める必要があります。

まとめ

Stream Analytics も可能であれば Visual Studio で開発するといろいろ便利そうです。一点だけ気になるのが大文字、小文字の挙動の違いですね。実際のポータルにデプロイしても同じなのか試してみたいと思います。

1
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1