クイック スタート: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 ジョブを定義する前に、後でジョブの入力として構成されるデータを準備する必要があります。 ジョブで必要な入力データを準備するには、次の手順を完了します。

  1. Azure portal にサインインします。

  2. [リソースの作成][モノのインターネット][IoT Hub] を選択します。

  3. [IoT Hub] ウィンドウで、以下の情報を入力します。

    設定 推奨値 説明
    サブスクリプション <該当するサブスクリプション> 使用する Azure サブスクリプションを選択します。
    リソース グループ asaquickstart-resourcegroup [新規作成] を選択し、アカウントの新しいリソース グループ名を入力します。
    IoT Hub 名 MyASAIoTHub お客様の IoT ハブの名前を選択します。
    リージョン <ユーザーに最も近いリージョンを選択> お客様の IoT ハブをホストできる地理的な場所を選択します。 お客様のユーザーに最も近い場所を使用します。
    レベル Free このクイック スタートでは、Free を選択します (お客様のサブスクリプションでまだ利用可能な場合)。 Free レベルを使用できない場合は、使用可能な最も低いレベルを選択します。 詳細については、「IoT Hub の価格」を参照してください。

    Azure portal の [IoT Hub の作成] ウィザードのスクリーンショット。

  4. [Review + create](レビュー + 作成) を選択します。 IoT Hub の情報を確認して、[作成] を選択します。 お客様の IoT ハブの作成には数分かかることがあります。 [通知] ウィンドウで進行状況を監視できます。

  5. デプロイが完了したら、[リソースに移動] を選択して、お使いの IoT ハブの [IoT Hub] ページに移動します。

  6. [IoT Hub] ページで、左側のナビゲーション メニューの [デバイス管理] の下にある [デバイス] を選択します。

  7. [デバイス] ページで、ツール バーの [+ デバイスの追加] を選択します。

    [デバイスの追加] が選択されている [デバイス] ページのスクリーンショット。

  8. [デバイスの作成] ページで、デバイスの名前を入力し、[保存] を選択します。

    [デバイスの作成] ページを示すスクリーンショット。

  9. デバイスが作成されたら、 [IoT デバイス] の一覧からデバイスを開きます。 デバイスが表示されない場合、ページを更新します。

    作成したデバイスが表示されているデバイス一覧のスクリーンショット。

  10. 後で使用するためにプライマリ接続文字列をコピーしてメモ帳に保存します。

BLOB ストレージを作成する

  1. Azure Portal の左上隅で、[リソースの作成][ストレージ][ストレージ アカウント] の順に選択します。

  2. [ストレージ アカウントの作成] ウィンドウで、ストレージ アカウントの名前、場所、リソース グループを入力します。 お客様が作成した IoT ハブと同じ場所およびリソース グループを選択します。 次に、 [確認および作成] を選択してアカウントを作成します。

    Azure portal の [ストレージ アカウントの作成] ページのスクリーンショット。

  3. ストレージ アカウントが作成されたら、[概要] ペインの [Blob service] タイルを選択します。

    Blob service が選択されているストレージ アカウントの概要ページのスクリーンショット。

  4. [Blob service] ページのツール バーで、[+ コンテナー] を選択します。

  5. [新しいコンテナー] ページで、コンテナーの名前 ("container1" など) を入力します。 パブリック アクセス レベルプライベート (匿名アクセスなし) のままにして、[作成] を選択します。

    [新しいコンテナー] ページを示すスクリーンショット。

Stream Analytics プロジェクトを作成する

  1. Visual Studio を起動します。

  2. [ファイル] [新しいプロジェクト] を選びます。

  3. 左側のテンプレートの一覧で [Stream Analytics] を選択し、 [Azure Stream Analytics アプリケーション] を選択します。

  4. プロジェクトの名前場所、およびソリューション名を入力し、[作成] を選択します。

    [Stream Analytics プロジェクトの作成] ダイアログ ボックスのスクリーンショット。

  5. Azure Stream Analytics プロジェクトに含まれる要素に注目してください。

    Visual Studio のサンプル Stream Analytics アプリケーション プロジェクトの [ソリューション エクスプローラー] ウィンドウのスクリーンショット。

必要なサブスクリプションを選択する

  1. Visual Studio の [表示] メニューで [サーバー エクスプローラー] を選択します。
  2. [Azure] を右クリックし、 [Connect to Microsoft Azure Subscription](Microsoft Azure サブスクリプションへの接続) を選択します。その後、Azure アカウントでサインインします。

入力を定義する

  1. ソリューション エクスプローラー[入力] ノードを展開し、 [Input.json] をダブルクリックします。

  2. [Stream Analytics Input Configuration](Stream Analytics 入力構成) で、次の値を入力します。

    設定 推奨値 説明
    入力のエイリアス 入力 ジョブの入力を識別する名前を入力します。
    ソースの種類 データ ストリーム 適切な入力ソース ([データ ストリーム] または [参照データ]) を選択します。
    source IoT Hub 適切な入力ソースを選択します。
    リソース 現在のアカウントからデータ ソースを選択します 手動でデータを入力するか、既存のアカウントを選択するかを選択します。
    サブスクリプション <該当するサブスクリプション> 作成した IoT ハブがある Azure サブスクリプションを選択します。
    IoT Hub MyASAIoTHub 対象の IoT ハブの名前を選択または入力します。 IoT Hub 名は、同じサブスクリプション内に作成されている場合、自動的に検出されます。
  3. 他のオプションは既定値のままにして、 [保存] を選択し、設定を保存します。

    [Stream Analytics の入力構成] ページのスクリーンショット。

出力の定義

  1. ソリューション エクスプローラー[出力] ノードを展開し、 [Output.json] をダブルクリックします。

  2. [Stream Analytics Output Configuration](Stream Analytics 出力構成) で、次の値を入力します。

    設定 推奨値 説明
    出力のエイリアス 出力 ジョブの出力を識別する名前を入力します。
    シンク Data Lake Storage Gen 2/Blob Storage 適切なシンクを選択します。
    リソース データ ソース設定を手動で提供します 手動でデータを入力するか、既存のアカウントを選択するかを選択します。
    サブスクリプション <該当するサブスクリプション> 作成したストレージ アカウントを持っている Azure サブスクリプションを選択します。 ストレージ アカウントは、同じサブスクリプションにある場合も、別のサブスクリプションにある場合もあります。 この例では、同じサブスクリプションにストレージ アカウントを作成したと想定しています。
    ストレージ アカウント asaquickstartstorage ストレージ アカウントの名前を選択するか、入力します。 ストレージ アカウントが同じサブスクリプション内に作成されている場合、ストレージ アカウント名は自動的に検出されます。
    コンテナー container1 ストレージ アカウントで作成した既存のコンテナーを選択します。
    パスのパターン output コンテナー内に作成するファイル パスの名前を入力します。
  3. 他のオプションは既定値のままにして、 [保存] を選択し、設定を保存します。

    [Stream Analytics の出力構成] ページのスクリーンショット。

変換クエリを定義する

  1. Visual Studio のソリューション エクスプローラーから Script.asaql を開きます。

  2. 次のクエリを追加します。

    SELECT *
    INTO Output
    FROM Input
    WHERE Temperature > 27
    

Stream Analytics クエリを Azure に送信する

  1. クエリ エディターで、スクリプト エディターの [Azure に送信] を選択します。

  2. [ジョブの送信] ウィンドウで、[新しい Azure Stream Analytics ジョブの作成] を選択します。

  3. ジョブ名を入力します。

  4. Azure サブスクリプションを選択します。

  5. リソース グループを選択します。

  6. クラスターの既定値はそのままにします。

  7. クイックスタートの初めで使用した場所を選択します。

  8. 次に、 [送信] をクリックします。

    [ジョブの送信] ダイアログ ボックスのスクリーンショット。

IoT シミュレーターを実行する

  1. 新しいブラウザー タブまたはウィンドウで Raspberry Pi Azure IoT オンライン シミュレーターを開きます。

  2. 前のセクションで保存した Azure IoT Hub デバイスの接続文字列を使用して、行 15 のプレースホルダーを置き換えます。

  3. [実行] を選択します。 お客様の IoT ハブに送信されているセンサー データとメッセージが出力に表示されます。

    Raspberry Pi Azure IoT オンライン シミュレーターのスクリーンショット。

Stream Analytics ジョブを開始して出力を確認する

  1. ジョブが作成されると、ジョブ ビューが自動的に開きます。 緑色の矢印ボタンを選択して、ジョブを開始します。

    Visual Studio から Stream Analytics ジョブを開始するための [開始] ボタンのスクリーンショット。

  2. [ジョブ出力の開始モード][JobStartTime] に変更し、 [開始] を選択します。

    [Stream Analytics 開始ジョブ構成] ダイアログ ボックスのスクリーンショット。

  3. ジョブの状態が [実行中] に変わり、入力/出力イベントが表示されることに注目してください。 これには数分かかることがあります。 ツール バーの [更新] ボタンを選択して、メトリックを更新します。

    実行中となっているジョブ状態とジョブのメトリックのスクリーンショット。

  4. 結果を表示するには、 [表示] メニューで [Cloud Explorer] を選択し、リソース グループ内のストレージ アカウントに移動します。 [BLOB コンテナー] で、 [container1] をダブルクリックし、 [出力] ファイル パスをダブルクリックします。

    結果の表示

リソースをクリーンアップする

リソース グループ、ストリーミング ジョブ、および関連するすべてのリソースは、不要になったら削除します。 ジョブを削除すると、ジョブによって消費されるストリーミング ユニットに対する課金を回避することができます。 ジョブを後で使用する計画がある場合は、ジョブを停止し、必要なときに再起動することができます。 このジョブを使い続けない場合は、以下の手順のようにして、このクイックスタートで作成したすべてのリソースを削除します。

  1. Azure Portal の左側のメニューで [リソース グループ] を選択し、作成したリソースの名前を選択します。
  2. リソース グループのページで [削除] を選択し、削除するリソースの名前をテキスト ボックスに入力してから [削除] を選択します。

次のステップ

このクイック スタートでは、Visual Studio を使用して、簡単な Stream Analytics ジョブをデプロイしました。 Azure portalPowerShell を使用して Stream Analytics ジョブをデプロイすることもできます。

Visual Studio の Azure Stream Analytics ツールについて学習するには、次の記事に進んでください。