このクイックスタートでは、Visual Studio 用 Azure Stream Analytics ツールを使用して Stream Analytics ジョブを作成して実行する方法について説明します。 この例のジョブは、IoT Hub デバイスからストリーミング データを読み取ります。 27° を超えたときに平均温度を計算し、結果の出力イベントを BLOB ストレージ内の新しいファイルに書き込むジョブを定義します。
注
- 最適なローカル開発エクスペリエンス を実現するには、Visual Studio Code に Stream Analytics ツール を使用することを強くお勧めします。 Visual Studio 2019 (バージョン 2.6.3000.0) 用の Stream Analytics ツールには既知の機能ギャップがあり、今後は改善されません。
- Visual Studio および Visual Studio Code ツールは、中国東部、中国北部、ドイツ中部、ドイツ北部のリージョンでのジョブをサポートしていません。
開始する前に
Azure サブスクリプションをお持ちでない場合は、無料アカウントを作成してください。
Azure portal にサインインします。
Visual Studio 2019、Visual Studio 2015、または Visual Studio 2013 Update 4 をインストールします。 Enterprise (Ultimate/Premium)、Professional、Community の各エディションがサポートされています。 Express Edition はサポートされていません。
インストール手順に従って、Visual Studio 用 Stream Analytics ツールをインストールします。
入力データを準備する
Stream Analytics ジョブを定義する前に、データを準備する必要があります。データは後でジョブ入力として構成されます。 ジョブに必要な入力データを準備するには、次の手順を実行します。
Azure portal にサインインします。
[ リソースの作成>モノのインターネット>IoT Hub を選択します。
[IoT Hub] ウィンドウで、次の情報を入力します。
設定 推奨値 説明 Subscription <サブスクリプション> 使用する Azure サブスクリプションを選択します。 リソースグループ asaquickstart-resourcegroup [ 新規作成] を選択し、アカウントの新しいリソース グループ名を入力します。 IoT Hubの名前 MyASAIoTHub IoT Hub の名前を選択します。 リージョン <ユーザーに最も近いリージョンを選択する> IoT Hub をホストできる地理的な場所を選択します。 ユーザーに最も近い場所を使用します。 レベル Free このクイック スタートでは、サブスクリプションで引き続き利用できる場合は 、[ 無料 ] を選択します。 Free レベルが利用できない場合は、使用可能な最低レベルを選択します。 詳細については、「 IoT Hub の価格」を参照してください。
[Review + create](レビュー + 作成) を選択します。 IoT Hub の情報を確認し、[ 作成] を選択します。 IoT Hub の作成には数分かかる場合があります。 [通知] ウィンドウで進行状況 を 監視できます。
デプロイが完了したら、[ リソースに移動 ] を選択して、IoT ハブの [IoT Hub] ページに移動します。
[IoT Hub] ページで、左側のナビゲーション メニューの [デバイス管理] で [デバイス] を選択します。
[ デバイス ] ページで、ツール バーの [ + デバイスの追加] を選択します。
[ デバイスの作成 ] ページで、デバイスの名前を入力し、[ 保存] を選択します。
デバイスが作成されたら、 IoT デバイス の一覧からデバイスを開きます。 デバイスがまだ表示されない場合は、ページを更新します。
プライマリ接続文字列をコピーし、後で使用するためにメモ帳に保存します。
BLOB ストレージを作成する
Azure ポータルの左上隅にある [リソースの作成]、[Storage]、[Storage アカウント] の順に選択します。
[ ストレージ アカウントの作成 ] ウィンドウで、ストレージ アカウント名、場所、およびリソース グループを入力します。 作成した IoT Hub と同じ場所とリソース グループを選択します。 次に、[ 確認と作成 ] を選択してアカウントを作成します。
ストレージ アカウントが作成されたら、[概要] ウィンドウで [BLOB サービス] タイルを選択します。
[BLOB サービス] ページで、ツール バーの [+ コンテナー] を選択します。
[ 新しいコンテナー ] ページで、コンテナーの名前 ( container1 など) を入力します。 パブリック アクセス レベルは [プライベート] のままにして (匿名アクセスなし)、[作成] を選択します。
Stream Analytics プロジェクトを作成する
Visual Studio を起動します。
[ ファイル] > [新しいプロジェクト] を選択します。
左側のテンプレートの一覧で [ Stream Analytics] を選択し、[ Azure Stream Analytics アプリケーション] を選択します。
プロジェクト 名、 場所、 ソリューション名を入力し、[ 作成] を選択します。
Azure Stream Analytics プロジェクトに含まれている要素に注目してください。
必要なサブスクリプションを選択する
- Visual Studio の [表示 ] メニューで、[ サーバー エクスプローラー] を選択します。
- Azure を右クリックし、[Microsoft Azure サブスクリプションに接続] を選択し、Azure アカウントでサインインします。
入力の定義
ソリューション エクスプローラーで、[入力] ノードを展開し、[Input.json] をダブルクリックします。
Stream Analytics の入力構成に次の値を入力します。
設定 推奨値 説明 入力エイリアス Input ジョブの入力を識別する名前を入力します。 ソースの種類 データ ストリーム 適切な入力ソース (データ ストリームまたは参照データ) を選択します。 情報源 IoT Hub 適切な入力ソースを選択します。 Resource 現在のアカウントからデータ ソースを選択する データを手動で入力するか、既存のアカウントを選択します。 Subscription <サブスクリプション> 作成した IoT Hub を持つ Azure サブスクリプションを選択します。 IoT Hub MyASAIoTHub IoT Hub の名前を選択または入力します。 IoT Hub 名は、同じサブスクリプションに作成された場合に自動的に検出されます。 その他のオプションは既定値のままにし、[ 保存] を選択して設定を保存します。
出力を定義する
ソリューション エクスプローラーで、[出力] ノードを展開し、[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 に送信] を選択します。
[ ジョブの送信 ] ウィンドウで、[ 新しい Azure Stream Analytics ジョブの作成] を選択します。
ジョブ名を入力します。
Azure サブスクリプションを選択 します。
リソース グループを選択します。
クラスターの既定値をそのまま使用 します。
クイック スタートの冒頭で使用した 場所 を選択します。
次に、[ 送信] を選択します。
IoT シミュレーターを実行する
新しいブラウザー タブまたはウィンドウで Raspberry Pi Azure IoT Online シミュレーター を開きます。
15 行目のプレースホルダーを、前のセクションで保存した Azure IoT Hub デバイス接続文字列に置き換えます。
[実行] を選択します。 お客様の IoT ハブに送信されているセンサー データとメッセージが出力に表示されます。
Stream Analytics ジョブを開始し、出力を確認する
ジョブが作成されると、ジョブ ビューが自動的に開きます。 緑色の矢印ボタンを選択してジョブを開始します。
ジョブ出力開始モードを JobStartTime に変更し、[開始] を選択します。
ジョブの状態が [実行中] に変わっており、入力/出力イベントがあることに注意してください。 これには数分かかることがあります。 ツール バーの [更新 ] ボタンを選択してメトリックを更新します。
ジョブの状態が実行中であることと、ジョブのメトリックを示すスクリーンショット。
結果を表示するには、[ 表示 ] メニューで Cloud Explorer を選択し、リソース グループ内のストレージ アカウントに移動します。 [Blob コンテナー]で、container1 をダブルクリックして、次に出力ファイルパスをクリックします。
リソースをクリーンアップする
不要になったら、リソース グループ、ストリーミング ジョブ、およびすべての関連リソースを削除します。 ジョブを削除すると、ジョブによって消費されるストリーミング ユニットの課金が回避されます。 そのジョブを将来使用する予定がある場合は、必要になったときに停止して後で再起動することができます。 このジョブを引き続き使用しない場合は、次の手順を使用して、このクイック スタートで作成されたすべてのリソースを削除します。
- Azure portal の左側のメニューで、[ リソース グループ ] を選択し、作成したリソースの名前を選択します。
- リソース グループ ページで、[ 削除] を選択し、削除するリソースの名前をテキスト ボックスに入力して、[削除] を選択 します。
次のステップ
このクイック スタートでは、Visual Studio を使用して単純な Stream Analytics ジョブをデプロイしました。 Azure portal と PowerShell を使用して Stream Analytics ジョブをデプロイすることもできます。
Visual Studio 用 Azure Stream Analytics ツールの詳細については、次の記事に進んでください。