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