Azure Data Explorerの Event Hubs データ接続を作成する

Azure Data Explorer では、ビッグ データ ストリーミング プラットフォームとイベント インジェスト サービスである Event Hubs からのインジェストが提供されます。 Event Hubs は、1 秒あたり数百万件のイベントをほぼリアルタイムで処理できます。

この記事では、イベント ハブに接続し、Azure Data Explorerにデータを取り込みます。 Event Hubs からの取り込みの概要については、「データ接続のAzure Event Hubs」を参照してください。

Kusto SDK を使用して接続を作成する方法については、「SDK を使用 して Event Hubs データ接続を作成する」を参照してください。

以前の SDK バージョンに基づくコード サンプルについては、 アーカイブされた記事を参照してください。

イベント ハブ データ接続を作成する

このセクションでは、イベント ハブと Azure Data Explorer テーブルの間に接続を確立します。 この接続が確立されている限り、データはイベント ハブからターゲット テーブルに送信されます。 イベント ハブが別のリソースまたはサブスクリプションに移動された場合は、接続を更新または再作成する必要があります。

前提条件

データを取得する

  1. 左側のメニューから [クエリ] を選択 します

  2. データを取り込むデータベースを右クリックします。 [データの取得] を選択します。

    データベースを右クリックし、[オプションの取得] ダイアログが開いているクエリ タブのスクリーンショット。

source

[ データの取得 ] ウィンドウで、[ ソース ] タブが選択されています。

使用可能な一覧からデータ ソースを選択します。 この例では、 Event Hubs からデータを取り込みます。

[ソース] タブが選択されている [データの取得] ウィンドウのスクリーンショット。

構成

  1. ターゲット データベースとテーブルを選択します。 新しいテーブルにデータを取り込む場合は、[ + 新しいテーブル ] を選択し、テーブル名を入力します。

    注意

    テーブル名には、スペース、英数字、ハイフン、アンダースコアなど、最大 1024 文字を指定できます。 特殊文字はサポートされていません。

    Azure Data Explorer で Event Hubs のデータ ソースを構成するためのフィールドを含む [構成] タブのスクリーンショット。

  2. 以下のフィールドを設定します。

    設定 フィールドの説明
    サブスクリプション イベントハブ リソースが配置されているサブスクリプション ID。
    イベント ハブの名前空間 名前空間を識別する名前。
    イベント ハブ 必要なイベント ハブ
    コンシューマー グループ イベントで定義されているコンシューマー グループ
    データ接続名 データ接続を識別する名前。
    高度なフィルター
    圧縮 イベント ハブ メッセージ ペイロードの圧縮の種類。
    イベント システム プロパティ イベント ハブのシステム プロパティ。 イベント メッセージごとに複数のレコードがある場合、システム プロパティは最初のものに追加されます。 システム プロパティを追加する場合は、テーブル スキーマとマッピング作成または更新して、選択したプロパティを含めます。
    イベント取得の開始日 データ接続は、イベント取得の開始日の後に作成された既存の Event Hubs イベントを取得します。 Event Hubs の保持期間によって保持されるイベントのみを取得できます。 イベント取得の開始日が指定されていない場合、既定の時刻はデータ接続が作成される時刻です。
  3. [次へ] を選択します

検査

[ 検査 ] タブが開き、データのプレビューが表示されます。

インジェスト プロセスを完了するには、[完了] を選択 します

Event Hubs から Azure Data Explorerに取り込むためのデータの検査のスクリーンショット。

省略可能:

  • プレビュー ウィンドウに表示されるデータが完全でない場合は、必要なすべてのデータ フィールドを含むテーブルを作成するために、さらに多くのデータが必要になる場合があります。 次のコマンドを使用して、イベント ハブから新しいデータをフェッチします。

    • 新しいデータを破棄してフェッチする: 提示されたデータを破棄し、新しいイベントを検索します。

    • Fetch more data (さらにデータをフェッチする) :既に見つかったイベントに加えて、さらにイベントを検索します。

      注意

      データのプレビューを表示するには、イベント ハブがイベントを送信している必要があります。

  • [ コマンド ビューアー] を選択して、入力から生成された自動コマンドを表示およびコピーします。

  • スキーマ定義ファイルドロップダウンを使用して、スキーマの推論元のファイルを変更します。

  • ドロップダウンから目的の形式を選択して、自動的に推論されるデータ形式を変更します。 インジェストについては、「Azure Data Explorer でサポートされているデータ形式」を参照してください

  • 列を編集します

  • データ型に基づく詳細オプションについて調べる

列の編集

注意

  • 表形式 (CSV、TSV、PSV) の場合、列を 2 回マップすることはできません。 既存の列にマップするには、最初に新しい列を削除します。
  • 既存の列の型を変更することはできません。 異なる形式の列にマップしようとすると、空の列になってしまう場合があります。

テーブルに加えることができる変更は、次のパラメーターによって異なります。

  • テーブルの種類が新規かまたは既存か
  • マッピングの種類が新規かまたは既存か
テーブルの種類です。 マッピングの種類 使用可能な調整
新しいテーブル 新しいマッピング 列の名前変更、データ型の変更、データ ソースの変更、 マッピング変換、列の追加、列の削除
既存のテーブル 新しいマッピング 列の追加 (データ型の変更、名前の変更、更新が可能)
既存のテーブル 既存のマッピング なし

編集用に開いている列のスクリーンショット。

マッピング変換

一部のデータ形式マッピング (Parquet、JSON、Avro) では、簡単な取り込み時の変換がサポートされています。 マッピング変換を適用するには、[ 列の編集] ウィンドウで列を作成または更新します。

マッピング変換は、string 型または datetime 型の列に対して実行でき、ソースのデータ型は int または long です。 サポートされているマッピング変換は次のとおりです。

  • DateTimeFromUnixSeconds
  • DateTimeFromUnixMilliseconds
  • DateTimeFromUnixMicroseconds
  • DateTimeFromUnixNanoseconds

データ型に基づく詳細オプション

表形式 (CSV、TSV、PSV):

  • 既存のテーブルに表形式を取り込む場合は、[詳細]> [現在のテーブル スキーマを保持する] を選択できます。 表形式データには、ソース データを既存の列にマップするために使用される列名が必ずしも含まれるとは限りません。 このオプションをオンにすると、マッピングは順番に行われ、テーブル スキーマは変わりません。 このオプションをオフにすると、データ構造に関係なく、受信データに対して新しい列が作成されます。

  • 最初の行を列名として使用するには、[詳細設定>] [最初の行は列ヘッダー] の順に選択します。

    高度な CSV オプションのスクリーンショット。

JSON:

  • JSON データの列分割を決定するには、1 から 100 までの 高度な>入れ子になったレベルを選択します。

  • [詳細]>[データ形式のエラーを無視する] を選択した場合、データは JSON 形式で取り込まれます。 このチェック ボックスをオフのままにすると、データは multijson 形式で取り込まれます。

    高度な JSON オプションのスクリーンショット。

まとめ

[データ準備] ウィンドウでは、3 つの手順はすべて、データ インジェストが正常に完了したときに緑色のチェックマークでマークされます。 各ステップで使用されたコマンドを表示したり、取り込まれたデータのクエリ、視覚化、または削除を行うカードを選択できます。

Azure Data Explorer で Event Hubs からデータを取得するスクリーンショット。

イベント ハブ データ接続を削除する

ポータル タブで説明されているように、Azure portalを使用してデータ接続を削除します。