Azure Stream Analyticsの新機能について

はじめまして。 AZPower シニア・アーキテクトの森です。

主にAzureの開発系新機能のキャッチアップを趣味にしていますので、今後はこちらでも紹介していきたいと思いますので、よろしくお願いします。

本日はAzureの更新情報で発表されたAzure Stream Analyticsの新機能について紹介したいと思います。

Azure Stream Analyticsは、IoTなどで利用される多くのエンドポイントが持つリアルタイムデータの入力をひとまとめにして、SQLライクの構文を使ってパイプラインを構築し、StorageやSQL Databaseなどのさまざまな出力先に出力できるサービスです。

こちらのプレビューが来る2019年11月4日にWorld wide availabilityとなっていますので、もう少しですね。

それでは、今回公開されるPreview機能について、ソースとなっているブログ記事からピックアップして簡単に意訳してみたいと思います。

Online scaling

従来、Streaming Analyticsを利用する場合パイプラインの帯域を抽象化した数値であるStreaming Unit (SU)を指定する必要があります。
このSUを変更したい場合は、一度Stream Analytics Jobを停止してからリスタートする必要がありました。
こちらのOnline scaling機能はこれらのJobの停止を必要とせずSUのアロケーションを行うことができます。
そのためユーザーはJobを実行しながらSUの増減を行うことが可能になります。

Change SUs on a Stream Analytics job while it is running

C# custom de-serializers

Azure Stream AnalyticsはJSON, CSV, AVROデータ形式などの入力イベントをサポートしています。
しかし、IoTデバイスによっては独自の形式、構造によるデータを使用する場合があります。
今回のプレビューでは、まずProtobuf, XMLなどの形式のデータを処理できるようになりました。
そして、C#でカスタムのDeserializerを実装し、Stream Analyticsに組み込むことができるようになりましたので、任意の形式を受信し、処理することができるようになりました。

機能拡張とC# custome code

Azure Stream Analyticsでは従来SQLベースの言語を使用してイベントストリームに対して変換や演算、フィルタリングを行うことができました。
すでに現在サポートされている多くの組み込み関数は存在しますが、複雑なシナリオに対処する場合、使用する十分な柔軟性を持ったツールにはならない場合もあります。

CloudやIoT EdgeでStream Analyticsモジュールを作成する際にユーザー定義関数を使用してJOBを作成できるようになりました。

ユーザー定義関数はC#で記述することができるため、ストリームに対する複雑なシナリオやML.NETを使用したカスタムのMLモデルのインポートなどに対処できるようになります。

もちろん、これらの開発にはVisual Studioを利用できます。

Managed Identity authentication with Power BI

Stream Analyticsを使用するユーザーを支援する1つのシナリオとして、Power BIを使用した動的なダッシュボード機能があります。

Azure Stream Analyticsでは、この動的なダッシュボードのエクスペリエンスを実現するためにManaged Identityベースの認証をサポートするようになりました。

これによって、ユーザーは組織のセキュリティ要件を満たした状態でVisual StudioのCI/CD機能を使用してホットパスパイプラインを展開できるため、ユーザーは90日毎にパスワード更新を行うことが無くなることで長時間安定実行できるジョブを実現できます。

この機能はすでに利用可能であり、引き続きAzure Active Directoryユーザーベース認証モデルを利用できます。

Stream Analytics on Azure Stack

Azure Stream Analyticsは、Azure StackでIoT Edge ランタイムを経由した利用をサポートします。
このサポートによって、ユーザーはコンプライアンスやセキュリティ要件などでクラウドへの移行は制約されているが中で、Azureテクノロジーを利用したEdgeでハイブリッド環境を使用したデータ分析ソリューションの活用が可能になります。

2020年1月からのプレビューオプションとして展開されている予定となっており、これによってAzure StackのEvent HubsまたはIoT Hubからの入力データを分析し、その結果を同じBlobストレージ、もしくはSQL Databaseに出力できます。

既にこちらからこのプレビューにサインアップできます。

Debug query steps in Visual Studio

我々へのフィードバックの中で多かったのが、Azure Stream Analyticsのクエリの中のWITHステート面とで記述された中間行セットの定義についてのデバッグ方法についてでした。

今回のプレビューによって「Azure Stream Analytics tools for Visual Studio」でVisual Studioのデータダイアグラムから中間行セットのテストをローカル環境で行えるようになりました。

この機能ははクエリ結果を掘り下げたり、クエリ結果をステップバイステップで確認できるため、コード修正に役立ちます。

Local testing with live data in Visual Studio Code

Azure Stream Analytics jobを開発する際、入力中の結果を視覚化が必要であるというフィードバックがありました。

このたび、「Azure Stream Analytics tools for Visual Studio Code」を公開しました。

開発者はAzureにジョブを送信する前にローカルマシンでライブデータをしようしたクエリのテストを行うことができるようになります。

各種テストは平均2~3秒で実施できるため、とても効率的に開発できます。

Live Data Testing feature in Visual Studo Code

まとめ

Azure Stream Analyticsの新機能についてざっくりと意訳しましたがいかがでしたでしょうか。

いろいろな機能追加がされていましたが、個人的にはローカル環境での開発強化は開発者としてもとてもうれしい機能ですね。

何かのご参考になれば幸いです。