Azure Stream Analytics 統合を使用して Azure SQL Database にデータをストリーム配信する (プレビュー)Stream data into Azure SQL Database using Azure Stream Analytics integration (preview)

ユーザーは、Azure SQL Database 内のデータベースから直接リアルタイムのストリーミング データをテーブルに取り込み、それを処理、表示、分析できるようになりました。Users can now ingest, process, view, and analyze real-time streaming data into a table directly from a database in Azure SQL Database. それを Azure Stream Analytics を使用して Azure portal で行います。They do so in the Azure portal using Azure Stream Analytics. このエクスペリエンスにより、コネクテッド カー、リモート監視、不正行為の検出など、さまざまなシナリオが可能になります。This experience enables a wide variety of scenarios such as connected car, remote monitoring, fraud detection, and many more. Azure portal では、イベント ソース (イベント ハブ/IoT ハブ) を選択し、受信したリアルタイム イベントを表示して、イベントを格納するテーブルを選択できます。In the Azure portal, you can select an events source (Event Hub/IoT Hub), view incoming real-time events, and select a table to store events. また、ポータルで Azure Stream Analytics クエリ言語クエリを作成して、受信イベントを変換し、それを選択したテーブルに格納することもできます。You can also write Azure Stream Analytics Query Language queries in the portal to transform incoming events and store them in the selected table. この新しいエントリ ポイントは、Stream Analytics に既に存在する作成と構成のエクスペリエンスに追加されます。This new entry point is in addition to the creation and configuration experiences that already exist in Stream Analytics. このエクスペリエンスはデータベースのコンテキストから開始されるため、Stream Analytics ジョブをすばやく設定し、Azure SQL Database 内のデータベースと Stream Analytics エクスペリエンスの間をシームレスに移動できます。This experience starts from the context of your database, enabling you to quickly set up a Stream Analytics job and navigate seamlessly between the database in Azure SQL Database and Stream Analytics experiences.

Stream Analytics のフロー

主な利点Key benefits

  • 最低限のコンテキスト切り替え:ポータルの Azure SQL Database のデータベースから開始し、他のサービスに切り替えることなくリアルタイム データをテーブルに取り込むことができます。Minimum context switching: You can start from a database in Azure SQL Database in the portal and start ingesting real-time data into a table without switching to any other service.
  • ステップ数の削減:データベースとテーブルのコンテキストが Stream Analytics ジョブを事前構成するために使用されます。Reduced number of steps: The context of your database and table is used to pre-configure a Stream Analytics job.
  • プレビュー データによる使いやすさの向上:イベント ソース (イベント ハブ/IoT ハブ) から受信したデータを選択したテーブルのコンテキストでプレビューできますAdditional ease of use with preview data: Preview incoming data from the events source (Event Hub/IoT Hub) in the context of selected table

重要

Azure Stream Analytics ジョブは、Azure SQL Database、Azure SQL Managed Instance、または Azure Synapse Analytics (以前の Azure SQL Data Warehouse) に出力できます。An Azure Stream Analytics job can output to Azure SQL Database, Azure SQL Managed Instance, or Azure Synapse Analytics (formerly Azure SQL Data Warehouse). 詳細については、「出力」を参照してください。For more information, see Outputs.

前提条件Prerequisites

この記事の手順を完了するには、次のリソースが必要です。To complete the steps in this article, you need the following resources:

Stream Analytics 統合を構成するConfigure Stream analytics integration

  1. Azure portal にサインインします。Sign in to the Azure portal.

  2. ストリーミング データを取り込むデータベースに移動します。Navigate to the database where you want to ingest your streaming data. [Stream analytics (preview)](Stream Analytics (プレビュー)) を選択します。Select Stream analytics (preview).

    Stream Analytics

  3. このデータベースへのストリーミング データの取り込み開始するには、 [作成] を選択し、ストリーミング ジョブに名前を付けて、 [Next: Input](次へ: 入力) を選択します。To start ingesting your streaming data into this database, select Create and give a name to your streaming job, and then select Next: Input.

    Stream Analytics ジョブを作成する

  4. イベント ソースの詳細を入力し、 [Next:Output](次へ: 出力) を選択します。Enter your events source details, and then select Next: Output.

    • [Input type](入力の種類) :イベントハブ/IoT ハブInput type: Event Hub/IoT Hub

    • 入力のエイリアス:イベント ソースを識別する名前を入力してくださいInput alias: Enter a name to identify your events source

    • サブスクリプション:Azure SQL Database のサブスクリプションと同じですSubscription: Same as Azure SQL Database subscription

    • [イベント ハブの名前空間] :名前空間の名前Event Hub namespace: Name for namespace

    • [イベント ハブ名] : 選択した名前空間内のイベント ハブの名前Event Hub name: Name of event hub within selected namespace

    • [イベント ハブ ポリシー名] (既定では新規作成):ポリシー名を指定しますEvent Hub policy name (Default to create new): Give a policy name

    • [イベント ハブ コンシューマー グループ] (既定では新規作成):コンシューマー グループ名を指定しますEvent Hub consumer group (Default to create new): Give a consumer group name

      ここで作成する新しい各 Azure Stream Analytics ジョブに対してコンシューマー グループとポリシーを作成することをお勧めします。We recommend that you create a consumer group and a policy for each new Azure Stream Analytics job that you create from here. コンシューマー グループでは、同時実行の閲覧者は 5 人しか許可されないので、ジョブごとに専用のコンシューマー グループを指定することで、その上限を超過した場合に発生するエラーを回避します。Consumer groups allow only five concurrent readers, so providing a dedicated consumer group for each job will avoid any errors that might arise from exceeding that limit. 専用ポリシーを利用すると、他のリソースに影響を及ぼさずに、キーを交代で利用したりアクセス許可を取り消したりできます。A dedicated policy allows you to rotate your key or revoke permissions without impacting other resources.

      Stream Analytics ジョブを作成する

  5. ストリーミング データを取り込むテーブルを選択します。Select which table you want to ingest your streaming data into. 完了したら、 [作成] を選択します。Once done, select Create.

    • [ユーザー名][パスワード] :SQL サーバー認証用の資格情報を入力します。Username, Password: Enter your credentials for SQL server authentication. [検証] を選択します。Select Validate.

    • テーブル: [新規作成] または [既存のデータを使用する] を選択します。Table: Select Create new or Use existing. このフローでは、 [作成] を選択します。In this flow, let’s select Create. これにより、Stream Analytics ジョブの開始時に新しいテーブルが作成されます。This will create a new table when you start the stream Analytics job.

      Stream Analytics ジョブを作成する

  6. クエリ ページが開き、次の詳細が表示されます。A query page opens with following details:

    • データの取り込み元となる [入力] (入力イベント ソース)Your Input (input events source) from which you'll ingest data

    • 変換されたデータを格納する [出力] (出力テーブル)Your Output (output table) which will store transformed data

    • SELECT ステートメントを使用するサンプルの SAQL クエリSample SAQL query with SELECT statement.

    • [入力のプレビュー] :入力イベント ソースからの最新の受信データのスナップショットを表示します。Input preview: Shows snapshot of latest incoming data from input events source.

      • お使いのデータでのシリアル化の種類が、自動検出されます (JSON/CSV)。The serialization type in your data is automatically detected (JSON/CSV). JSON/CSV/AVRO に手動で変更することも可能です。You can manually change it as well to JSON/CSV/AVRO.
      • 表形式または未加工の形式で受信データをプレビューできます。You can preview incoming data in the Table format or Raw format.
      • 表示されたデータが最新でない場合、 [更新] を選択して最新のイベントを表示します。If your data shown isn't current, select Refresh to see the latest events.
      • 特定の時間範囲の受信イベントに対してクエリをテストするには、 [時間範囲の選択] を選択します。Select Select time range to test your query against a specific time range of incoming events.
      • サンプルの JSON/CSV ファイルをアップロードしてクエリをテストするには [サンプル入力のアップロード] を選択します。Select Upload sample input to test your query by uploading a sample JSON/CSV file. SAQL クエリのテストの詳細については、「サンプル データを利用した Azure Stream Analytics ジョブのテスト」を参照してください。For more information about testing a SAQL query, see Test an Azure Stream Analytics job with sample data.

      クエリのテスト

    • [テスト結果] : [Test query](クエリのテスト) を選択すると、ストリーミング クエリの結果が表示されますTest results: Select Test query and you can see the results of your streaming query

      テスト結果

    • [Test results schema](テスト結果のスキーマ) :テスト後のストリーミング クエリの結果のスキーマを表示します。Test results schema: Shows the schema of the results of your streaming query after testing. テスト結果のスキーマが出力スキーマと一致していることを確認します。Make sure the test results schema matches with your output schema.

      テスト結果のスキーマ

    • [Output Schema](出力スキーマ) :これには、手順 5 で選択したテーブルのスキーマが含まれます (新規または既存)。Output schema: This contains schema of the table you selected in step 5 (new or existing).

      • [新規作成]:手順 5 でこのオプションを選択した場合は、ストリーミング ジョブを開始するまでスキーマが表示されません。Create new: If you selected this option in step 5, you won’t see the schema yet until you start the streaming job. 新しいテーブルを作成する場合は、適切なテーブル インデックスを選択します。When creating a new table, select the appropriate table index. テーブル インデックス作成の詳細については、「クラスター化インデックスと非クラスター化インデックスの説明」を参照してください。For more information about table indexing, see Clustered and Nonclustered Indexes Described.
      • [既存のものを使用]:手順 5. でこのオプションを選択した場合は、選択したテーブルのスキーマが表示されます。Use existing: If you selected this option in step 5, you'll see the schema of selected table.
  7. クエリの作成およびテストを完了したら、 [クエリの保存] を選択します。After you're done authoring & testing the query, select Save query. [Start Stream Analytics job](Stream Analytics ジョブを開始する) を選択して、変換されたデータを SQL テーブルに取り込む操作を開始します。Select Start Stream Analytics job to start ingesting transformed data into the SQL table. 次のフィールドを確定したら、ジョブを開始します。Once you finalize the following fields, start the job.

    • [出力開始時刻] :これにより、ジョブの最初の出力時刻が定義されます。Output start time: This defines the time of the first output of the job.

      • [今すぐ]:ジョブはすぐに開始され、新しい受信データを処理します。Now: The job will start now and process new incoming data.
      • カスタム:ジョブはすぐに開始されますが、特定の時点 (過去または将来の可能性があります) のデータを処理します。Custom: The job will start now but will process data from a specific point in time (that can be in the past or the future). 詳細については、「Azure Stream Analytics ジョブを開始する方法」を参照してください。For more information, see How to start an Azure Stream Analytics job.
    • [ストリーミング ユニット] :Azure Stream Analytics の価格は、このサービスに入力されるデータを処理するために必要なストリーミング ユニットの数に基づいて決まります。Streaming units: Azure Stream Analytics is priced by the number of streaming units required to process the data into the service. 詳細については、「Azure Stream Analytics の価格」をご覧ください。For more information, see Azure Stream Analytics pricing.

    • [出力データのエラー処理] :Output data error handling:

      • Retry: エラーが発生すると、Azure Stream Analytics により、書き込みが成功するまで無期限でイベントの書き込みが試行されます。Retry: When an error occurs, Azure Stream Analytics retries writing the event indefinitely until the write succeeds. 再試行にはタイムアウトがありません。There's no timeout for retries. 最終的には、再試行しているイベントによって後続のすべてのイベントの処理が妨げられます。Eventually all subsequent events are blocked from processing by the event that is retrying. このオプションは既定の出力エラー処理ポリシーです。This option is the default output error handling policy.
      • ドロップ:Azure Stream Analytics により、データ変換エラーを起こした出力イベントがドロップされます。Drop: Azure Stream Analytics will drop any output event that results in a data conversion error. ドロップされたイベントを、後で再処理のために復旧することはできません。The dropped events can't be recovered for reprocessing later. (ネットワーク エラーなど) 一時的なエラーはすべて、出力エラー処理ポリシーの構成に関係なく、再試行されます。All transient errors (for example, network errors) are retried regardless of the output error handling policy configuration.
    • [SQL Database output settings](SQL Database 出力の設定) :ご自分の以前のクエリ ステップのパーティション構成を継承し、テーブルへの複数のライターによる完全な並列トポロジを有効にするためのオプションです。SQL Database output settings: An option for inheriting the partitioning scheme of your previous query step, to enable fully parallel topology with multiple writers to the table. 詳細については、「Azure SQL Database への Azure Stream Analytics の出力」を参照してください。For more information, see Azure Stream Analytics output to Azure SQL Database.

    • [Max batch count](最大バッチ カウント) :各一括挿入トランザクションで送信されるレコード数の推奨される上限です。Max batch count: The recommended upper limit on the number of records sent with every bulk insert transaction.
      出力エラー処理の詳細については、「Azure Stream Analytics の出力エラーポリシー」を参照してください。For more information about output error handling, see Output error policies in Azure Stream Analytics.

      ジョブの開始

  8. ジョブを開始すると、実行中のジョブが一覧に表示され、次のアクションを実行できるようになります。Once you start the job, you'll see the Running job in the list, and you can take following actions:

    • [Start/stop the job](ジョブの開始/停止) :ジョブが実行されている場合は、ジョブを停止できます。Start/stop the job: If the job is running, you can stop the job. ジョブが停止している場合は、ジョブを開始できます。If the job is stopped, you can start the job.

    • [Edit job](ジョブの編集) :クエリを編集できます。Edit job: You can edit the query. ジョブにさらに多くの変更を加える場合 (入力/出力を追加するなど)、Stream Analytics でジョブを開きます。If you want to do more changes to the job ex, add more inputs/outputs, then open the job in Stream Analytics. ジョブの実行中は、編集オプションは無効になっています。Edit option is disabled when the job is running.

    • [Preview output table](出力テーブルのプレビュー) :SQL クエリ エディターでテーブルをプレビューできます。Preview output table: You can preview the table in the SQL query editor.

    • [Open in Stream Analytics](Stream Analytics で開く) :Stream Analytics でジョブを開いて、ジョブの詳細の監視およびデバッグを表示します。Open in Stream Analytics: Open the job in Stream Analytics to view monitoring, debugging details of the job.

      Stream Analytics ジョブ

次のステップNext steps