このクイックスタートでは、Visual Studio用のAzure Stream Analyticsツールを使ってStream Analyticsのジョブを作成します。 例のジョブはIoTハブデバイスからのストリーミングデータを読み取っています。 27°を超える場合の平均温度を計算し、その結果の出力イベントをブロブストレージの新しいファイルに書き込むジョブを定義します。
前提条件
始める前に、以下の前提条件を整えていることを確認してください。
注
最適なローカル開発エクスペリエンスを実現するには、 Visual Studio Code 用の Stream Analytics ツールを使用します。 Visual Studio 2019(バージョン2.6.3000.0)用のStream Analyticsツールには機能のギャップがあり、さらなる改善はありません。 Visual Studio および Visual Studio Code ツールは、中国東部、中国北部、ドイツ中部、ドイツ北部のリージョンでのジョブをサポートしていません。
アクティブなサブスクリプションを持つ Azure アカウント。 Azure サブスクリプションをお持ちでない場合は、無料アカウントを作成してください。
Visual Studio 2019。 エンタープライズ(アルティメット/プレミアム)、プロフェッショナル、コミュニティエディションは動作しますが、エクスプレスエディションは動作しません。
Visual Studio用のStream Analyticsツールをインストールしました。
入力データを準備する
Stream Analyticsジョブを定義する前に、後でジョブ入力として設定するデータを準備してください。 入力データを準備するには、以下の手順を踏みます。
Azure portal にサインインします。
[ リソースの作成>モノのインターネット>IoT Hub を選択します。
[IoT Hub] ウィンドウで、次の情報を入力します。
設定 推奨値 説明 Subscription <サブスクリプション> 使用する Azure サブスクリプションを選択します。 リソースグループ asaquickstart-resourcegroup [ 新規作成] を選択し、アカウントの新しいリソース グループ名を入力します。 IoT Hubの名前 MyASAIoTHub IoTハブの名前を選びましょう。 リージョン <ユーザーに最も近い地域を選択してください> IoTハブをホストできる地理的な場所を選択してください。 ユーザーに最も近い場所を使用します。 レベル Free このクイック スタートでは、サブスクリプションで引き続き利用できる場合は 、[ 無料 ] を選択します。 Free レベルが利用できない場合は、使用可能な最低レベルを選択します。 詳細については、「 IoT Hub の価格」を参照してください。
[Review + create](レビュー + 作成) を選択します。 IoTハブの情報を確認し、「 作成」を選択してください。 あなたのIoTハブの作成には数分かかるかもしれません。 [通知] ウィンドウで進行状況を監視します。
展開完了後、「 リソースへ行く」 を選択して、あなたのIoTハブのページに移動します。
[IoT Hub] ページで、左側のナビゲーション メニューの [デバイス管理] で [デバイス] を選択します。
[ デバイス ] ページで、ツール バーの [ + デバイスの追加] を選択します。
[ デバイスの作成 ] ページで、デバイスの名前を入力し、[ 保存] を選択します。
デバイスを作成したら、 IoTデバイス リストから開いてください。 デバイスがまだ表示されない場合は、ページを更新します。
プライマリ接続文字列をコピーし、後で使用するためにメモ帳に保存します。
BLOB ストレージを作成する
このセクションでは、Azure Storageアカウントとジョブの出力イベントを格納するためのブロブコンテナを作成します。
Azure portal の左上隅で、 [リソースの作成]>[ストレージ]>[ストレージ アカウント] の順に選択します。
[ ストレージ アカウントの作成 ] ウィンドウで、ストレージ アカウント名、場所、およびリソース グループを入力します。 作成した IoT Hub と同じ場所とリソース グループを選択します。 次に、[ 確認と作成 ] を選択してアカウントを作成します。
ストレージアカウントを作成したら、概要ペインのBlobサービスタイルを選択します。
[BLOB サービス] ページで、ツール バーの [+ コンテナー] を選択します。
[ 新しいコンテナー ] ページで、コンテナーの名前 ( container1 など) を入力します。 パブリック アクセス レベルは [プライベート] のままにして (匿名アクセスなし)、[作成] を選択します。
Stream Analytics プロジェクトを作成する
Visual StudioでStream Analyticsプロジェクトを作成し、ジョブの入力、出力、クエリを定義します。
Visual Studio を起動します。
[ファイル]>[新しいプロジェクト] の順に選択します。
テンプレートリストで「Stream Analytics」を選択し、次に「Azure Stream Analytics Application」を選択します。
プロジェクト 名、 ロケーション、 ソリューション名を入力し、「 作成」を選択します。
Azure Stream Analyticsプロジェクトの要素に注目してください。
必要なサブスクリプションを選択する
作成したリソースを含むAzureサブスクリプションにVisual Studioを接続してください。
- Visual Studio の [表示 ] メニューで、[ サーバー エクスプローラー] を選択します。
- Azureを選択して長押し(または右クリック)し、「Microsoft Azureサブスクリプションに接続」を選択し、その後Azureアカウントでサインインします。
入力の定義
ジョブ入力を、作成したIoTハブからのストリーミングデータを読み取るように設定してください。
ソリューション エクスプローラーで入力ノードを展開し、Input.jsonを開きます。
Stream Analytics の入力構成に次の値を入力します。
設定 推奨値 説明 入力エイリアス Input ジョブの入力を特定するために名前を入力します。 ソースの種類 データ ストリーム 適切な入力ソース (データ ストリームまたは参照データ) を選択します。 情報源 IoT Hub 適切な入力ソースを選択します。 Resource 現在のアカウントからデータ ソースを選択する データを手動で入力するか、既存のアカウントを選択します。 Subscription <サブスクリプション> 作成したIoTハブが入っているAzureサブスクリプションを選択します。 IoT Hub MyASAIoTHub IoTハブの名前を選択するか入力してください。 同じサブスクリプション内でIoTハブ名を作成すると自動的に表示されます。 その他のオプションは既定値のままにし、[ 保存] を選択して設定を保存します。
出力を定義する
ジョブの出力が結果をお使いの BLOB ストレージ コンテナーに書き込むように設定してください。
ソリューション エクスプローラーでOutputsノードを展開し、Output.jsonを開きます。
Stream Analytics の出力構成に次の値を入力します。
設定 推奨値 説明 出力エイリアス アウトプット ジョブの出力を特定するために名前を入力してください。 シンク Data Lake Storage Gen 2/Blob Storage 適切なシンクを選択します。 Resource データ ソースの設定を手動で指定する データを手動で入力するか、既存のアカウントを選択します。 Subscription <サブスクリプション> 作成したストレージ アカウントを持つ Azure サブスクリプションを選択します。 ストレージ アカウントは、同じサブスクリプションまたは別のサブスクリプションに存在できます。 この例は、同じサブスクリプションでストレージアカウントを作成したことを前提としています。 ストレージ アカウント asaquickstartstorage ストレージ アカウントの名前を選択または入力します。 同じサブスクリプション内で作成すると、ストレージアカウント名は自動的に表示されます。 コンテナ コンテナ1 ストレージ アカウントで作成した既存のコンテナーを選択します。 パスパターン 出力 コンテナ内で作成するファイルパスの名前を入力してください。 その他のオプションは既定値のままにし、[ 保存] を選択して設定を保存します。
変換クエリを定義する
ストリーミングデータをフィルタリングし、その結果を出力に送るクエリを定義します。
Visual Studio でソリューション エクスプローラーから Script.asaql を開きます。
次のクエリを追加します。
SELECT * INTO Output FROM Input WHERE Temperature > 27
Stream Analytics クエリを Azure に送信する
クエリをAzureに提出してStream Analyticsジョブを作成します。
クエリ エディターで、スクリプト エディターで [Azure に送信] を選択します。
[ ジョブの送信 ] ウィンドウで、[ 新しい Azure Stream Analytics ジョブの作成] を選択します。
ジョブ名を入力します。
Azure サブスクリプションを選択 します。
リソース グループを選択します。
クラスターの既定値をそのまま使用 します。
クイックスタートの最初に使った 場所 を選択します。
送信を選択します。
IoT シミュレーターを実行する
Raspberry Piシミュレーターを使って、サンプルセンサーデータをIoTハブに送信してください。
新しいブラウザー タブまたはウィンドウで Raspberry Pi Azure IoT Online シミュレーター を開きます。
15 行目のプレースホルダーを、前のセクションで保存した Azure IoT Hub デバイス接続文字列に置き換えます。
[実行] を選択します。 出力にはセンサーのデータとIoTハブに送られたメッセージが表示されるはずです。
Stream Analytics ジョブを開始し、出力を確認する
ジョブを起動し、入力イベントを処理し、出力がブロブストレージに書き込まれているかを確認します。
ジョブを作成すると、ジョブビューが自動的に開きます。 緑の矢印ボタンを選択して作業を開始します。
ジョブ出力開始モードを JobStartTime に変更し、[開始] を選択します。
ジョブステータスは 「実行中」に変わり、入力および出力イベントが発生します。 この変更には数分かかるかもしれません。 ツール バーの [更新 ] ボタンを選択してメトリックを更新します。
ジョブの状態が実行中であることと、ジョブのメトリックを示すスクリーンショット。
結果を見るには、「 表示 」メニューで クラウドエクスプローラーを選択し、リソースグループのストレージアカウントに移動します。 Blob Containersでcontainer1を開き、その後出力ファイルパスを選びます。
リソースをクリーンアップする
不要になったら、リソースグループ、ストリーミングジョブ、関連リソースをすべて削除してください。 ジョブを削除すると、消費したストリーミングユニットの請求が停止します。 将来その仕事を使う予定があるなら、やめてから必要なときに再スタートしてください。 このジョブを再び使う予定がない場合は、以下の手順でこのクイックスタートで作成されたすべてのリソースを削除してください:
- Azureポータルの左側メニューから「リソースグループ」を選択し、作成したリソースの名前を選択します。
- リソース グループ ページで、[ 削除] を選択し、削除するリソースの名前をテキスト ボックスに入力して、[削除] を選択 します。