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 テーブルの間に接続を確立します。 この接続が確立されている限り、データはイベント ハブからターゲット テーブルに送信されます。 イベント ハブが別のリソースまたはサブスクリプションに移動された場合は、接続を更新または再作成する必要があります。
前提条件
- Microsoft アカウントまたはMicrosoft Entraユーザー ID。 Azure サブスクリプションは不要です。
- Azure Data Explorer クラスターとデータベース。 クラスターとデータベースを作成します。
- ストリーミング インジェストは、Azure Data Explorer クラスターで構成する必要があります。
データを取得する
source
[ データの取得 ] ウィンドウで、[ ソース ] タブが選択されています。
使用可能な一覧からデータ ソースを選択します。 この例では、 Event Hubs からデータを取り込みます。
構成
ターゲット データベースとテーブルを選択します。 新しいテーブルにデータを取り込む場合は、[ + 新しいテーブル ] を選択し、テーブル名を入力します。
注意
テーブル名には、スペース、英数字、ハイフン、アンダースコアなど、最大 1024 文字を指定できます。 特殊文字はサポートされていません。
以下のフィールドを設定します。
設定 フィールドの説明 サブスクリプション イベントハブ リソースが配置されているサブスクリプション ID。 イベント ハブの名前空間 名前空間を識別する名前。 イベント ハブ 必要なイベント ハブ コンシューマー グループ イベントで定義されているコンシューマー グループ データ接続名 データ接続を識別する名前。 高度なフィルター 圧縮 イベント ハブ メッセージ ペイロードの圧縮の種類。 イベント システム プロパティ イベント ハブのシステム プロパティ。 イベント メッセージごとに複数のレコードがある場合、システム プロパティは最初のものに追加されます。 システム プロパティを追加する場合は、テーブル スキーマとマッピングを作成または更新して、選択したプロパティを含めます。 イベント取得の開始日 データ接続は、イベント取得の開始日の後に作成された既存の Event Hubs イベントを取得します。 Event Hubs の保持期間によって保持されるイベントのみを取得できます。 イベント取得の開始日が指定されていない場合、既定の時刻はデータ接続が作成される時刻です。 [次へ] を選択します
検査
[ 検査 ] タブが開き、データのプレビューが表示されます。
インジェスト プロセスを完了するには、[完了] を選択 します。
省略可能:
プレビュー ウィンドウに表示されるデータが完全でない場合は、必要なすべてのデータ フィールドを含むテーブルを作成するために、さらに多くのデータが必要になる場合があります。 次のコマンドを使用して、イベント ハブから新しいデータをフェッチします。
新しいデータを破棄してフェッチする: 提示されたデータを破棄し、新しいイベントを検索します。
Fetch more data (さらにデータをフェッチする) :既に見つかったイベントに加えて、さらにイベントを検索します。
注意
データのプレビューを表示するには、イベント ハブがイベントを送信している必要があります。
[ コマンド ビューアー] を選択して、入力から生成された自動コマンドを表示およびコピーします。
スキーマ定義ファイルドロップダウンを使用して、スキーマの推論元のファイルを変更します。
ドロップダウンから目的の形式を選択して、自動的に推論されるデータ形式を変更します。 インジェストについては、「Azure Data Explorer でサポートされているデータ形式」を参照してください。
列の編集
注意
- 表形式 (CSV、TSV、PSV) の場合、列を 2 回マップすることはできません。 既存の列にマップするには、最初に新しい列を削除します。
- 既存の列の型を変更することはできません。 異なる形式の列にマップしようとすると、空の列になってしまう場合があります。
テーブルに加えることができる変更は、次のパラメーターによって異なります。
- テーブルの種類が新規かまたは既存か
- マッピングの種類が新規かまたは既存か
テーブルの種類です。 | マッピングの種類 | 使用可能な調整 |
---|---|---|
新しいテーブル | 新しいマッピング | 列の名前変更、データ型の変更、データ ソースの変更、 マッピング変換、列の追加、列の削除 |
既存のテーブル | 新しいマッピング | 列の追加 (データ型の変更、名前の変更、更新が可能) |
既存のテーブル | 既存のマッピング | なし |
マッピング変換
一部のデータ形式マッピング (Parquet、JSON、Avro) では、簡単な取り込み時の変換がサポートされています。 マッピング変換を適用するには、[ 列の編集] ウィンドウで列を作成または更新します。
マッピング変換は、string 型または datetime 型の列に対して実行でき、ソースのデータ型は int または long です。 サポートされているマッピング変換は次のとおりです。
- DateTimeFromUnixSeconds
- DateTimeFromUnixMilliseconds
- DateTimeFromUnixMicroseconds
- DateTimeFromUnixNanoseconds
データ型に基づく詳細オプション
表形式 (CSV、TSV、PSV):
既存のテーブルに表形式を取り込む場合は、[詳細]> [現在のテーブル スキーマを保持する] を選択できます。 表形式データには、ソース データを既存の列にマップするために使用される列名が必ずしも含まれるとは限りません。 このオプションをオンにすると、マッピングは順番に行われ、テーブル スキーマは変わりません。 このオプションをオフにすると、データ構造に関係なく、受信データに対して新しい列が作成されます。
最初の行を列名として使用するには、[詳細設定>] [最初の行は列ヘッダー] の順に選択します。
JSON:
JSON データの列分割を決定するには、1 から 100 までの 高度な>入れ子になったレベルを選択します。
[詳細]>[データ形式のエラーを無視する] を選択した場合、データは JSON 形式で取り込まれます。 このチェック ボックスをオフのままにすると、データは multijson 形式で取り込まれます。
まとめ
[データ準備] ウィンドウでは、3 つの手順はすべて、データ インジェストが正常に完了したときに緑色のチェックマークでマークされます。 各ステップで使用されたコマンドを表示したり、取り込まれたデータのクエリ、視覚化、または削除を行うカードを選択できます。