Azure Stream Analytics を使用して、Azure SQL Database のデータベースから直接、リアルタイム ストリーミング データをテーブルに取り込み、処理、表示、分析できます。 Azure Stream Analytics には、コネクテッド カー、リモート監視、不正行為の検出など、さまざまなシナリオが用意されています。
Azure portal では、イベント ソース (Event Hub/IoT Hub) を選択し、受信したリアルタイム イベントを表示し、イベントを格納するテーブルを選択できます。 ポータルで Azure Stream Analytics クエリ言語クエリを記述して受信イベントを変換し、選択したテーブルに格納することもできます。 このエントリ ポイントは、Stream Analytics に既に存在する作成と構成のエクスペリエンスに加えて行われます。 このエクスペリエンスは、データベースのコンテキストから始まり、Stream Analytics ジョブをすばやく設定し、Azure SQL Database のデータベースと Stream Analytics エクスペリエンスの間をシームレスに移動できます。
主な利点
- 最小コンテキスト切り替え: ポータルの Azure SQL Database のデータベースから開始し、他のサービスに切り替えることなく、テーブルへのリアルタイム データの取り込みを開始できます。
- ステップ数の削減: Stream Analytics ジョブを事前に構成するために、データベースとテーブルのコンテキストが使用されます。
- プレビュー データでの使いやすさの向上: 選択したテーブルのコンテキストでイベント ソース (Event Hub/IoT Hub) からの受信データをプレビューします。
Von Bedeutung
Azure Stream Analytics ジョブは、Azure SQL Database、Azure SQL Managed Instance、または Azure Synapse Analytics に出力できます。 詳細については、「出力」を参照してください。
[前提条件]
この記事の手順を完了するには、次のリソースが必要です。
- Azure サブスクリプション。 Azure サブスクリプションをお持ちでない場合は、無料アカウントを作成してください。
- Azure SQL Database 内のデータベース。 詳細については、「 クイック スタート: 単一データベースの作成 - Azure SQL Database」を参照してください。
- コンピューターがサーバーに接続できるようにするファイアウォール規則。 詳細については、「 クイック スタート: Azure portal でサーバー レベルのファイアウォール規則を作成する」を参照してください。
Stream Analytics の統合を構成する
Azure portal にサインインします。
ストリーミング データを取り込むデータベースに移動します。 [ 統合] で、[ Stream Analytics (プレビュー)]を選択します。
このデータベースへのストリーミング データの取り込みを開始するには、[ 作成 ] を選択し、ストリーミング ジョブに名前を付けて、[ 次へ: 入力] を選択します。
イベント ソースの詳細を入力し、[ 次へ: 出力] を選択します。
入力の種類: Event Hub/IoT Hub
入力エイリアス: イベント ソースを識別する名前を入力します
サブスクリプション: Azure SQL Database サブスクリプションと同じ
Event Hub 名前空間: 名前空間の名前
イベント ハブ名: 選択した名前空間内のイベント ハブの名前
イベント ハブ ポリシー名 (新規作成の既定値): ポリシー名を指定します
Event Hub コンシューマー グループ (新規作成の既定値): コンシューマー グループ名を指定します
ここから作成する新しい Azure Stream Analytics ジョブごとに、コンシューマー グループとポリシーを作成することをお勧めします。 コンシューマー グループでは、同時実行の閲覧者は 5 人しか許可されないので、ジョブごとに専用のコンシューマー グループを指定することで、その上限を超過した場合に発生するエラーを回避します。 専用ポリシーを使用すると、キーをローテーションしたり、他のリソースに影響を与えずにアクセス許可を取り消したりすることができます。
ストリーミング データを取り込むテーブルを選択します。 完了したら、[ 作成] を選択します。
クエリ ページが開き、次の詳細が表示されます。
データの取り込み元となる [入力] (入力イベント ソース)
変換されたデータを格納する 出力 (出力テーブル)
SELECT ステートメントを使用した SAQL クエリ のサンプル。
入力プレビュー: 入力イベント ソースからの最新の受信データのスナップショットが表示されます。
- お使いのデータでのシリアル化の種類が、自動検出されます (JSON/CSV)。 JSON/CSV/AVRO に手動で変更することも可能です。
- 受信データは、テーブル形式または生形式でプレビューできます。
- 表示されたデータが最新でない場合、 [更新] を選択して最新のイベントを表示します。
- [ 時間範囲の選択] を選択 して、受信イベントの特定の時間範囲に対してクエリをテストします。
- サンプル JSON/CSV ファイルをアップロードしてクエリをテストするには、[ サンプル入力 のアップロード] を選択します。 SAQL クエリのテストの詳細については、「 サンプル データを使用して Azure Stream Analytics ジョブをテストする」を参照してください。
テスト結果: [テスト クエリ ] を選択すると、ストリーミング クエリの結果を確認できます
テスト結果スキーマ: テスト後のストリーミング クエリの結果のスキーマを表示します。 テスト結果スキーマが出力スキーマと一致していることを確認します。
出力スキーマ: 手順 5 で選択したテーブルのスキーマ (新規または既存) が含まれます。
- 新規作成: 手順 5 でこのオプションを選択した場合、ストリーミング ジョブを開始するまでスキーマはまだ表示されません。 新しいテーブルを作成するときに、適切なテーブル インデックスを選択します。 テーブルのインデックス作成の詳細については、「 クラスター化インデックスと非クラスター化インデックスの説明」を参照してください。
- 既存のものを使用する: 手順 5 でこのオプションを選択した場合は、選択したテーブルのスキーマが表示されます。
クエリの作成とテストが完了したら、[ クエリの保存] を選択します。 [ Stream Analytics ジョブの開始 ] を選択して、変換されたデータの SQL テーブルへの取り込みを開始します。 次のフィールドを完了したら、ジョブを 開始 します。
出力開始時刻: ジョブの最初の出力の時刻を定義します。
- 今すぐジョブが開始され、新しい受信データが処理されます。
- カスタム: ジョブは今すぐ開始されますが、特定の時点 (過去または将来の可能性があります) のデータを処理します。 詳細については、「 Azure Stream Analytics ジョブを開始する方法」を参照してください。
ストリーミング ユニット: Azure Stream Analytics には、サービスへのデータの処理に必要なストリーミング ユニットの数が課金されます。 詳細については、 Azure Stream Analytics の価格に関するページを参照してください。
出力データエラー処理:
- 再試行: エラーが発生すると、Azure Stream Analytics は書き込みが成功するまで無期限にイベントの書き込みを再試行します。 再試行のタイムアウトはありません。 最終的に、後続のすべてのイベントは、再試行中のイベントによって処理がブロックされます。 このオプションは、既定の出力エラー処理ポリシーです。
- ドロップ: Azure Stream Analytics では、データ変換エラーが発生する出力イベントが削除されます。 ドロップされたイベントを、後で再処理のために復旧することはできません。 出力エラー処理ポリシーの構成に関係なく、すべての一時的なエラー (ネットワーク エラーなど) が再試行されます。
SQL Database の出力設定: テーブルに対する複数のライターを含む完全並列トポロジを有効にする、前のクエリ ステップのパーティション分割スキームを継承するためのオプション。 詳細については、「Azure SQL Database への Azure Stream Analytics の出力」を参照してください。
最大バッチ数: 一括挿入トランザクションごとに送信されるレコード数の推奨上限。
出力エラー処理の詳細については、「 Azure Stream Analytics の出力エラー ポリシー」を参照してください。
ジョブを開始すると、実行中のジョブが一覧に表示され、次のアクションを実行できます。