Azure Data Explorer の Event Grid データ接続を作成する
この記事では、Event Grid データ接続を使用して、ストレージ アカウントから Azure Data Explorer に BLOB を取り込む方法を説明します。 Azure Event Grid サブスクリプションを設定する Event Grid データ接続を作成します。 Event Grid サブスクリプションは、Azure Event Hubs 経由でストレージアカウントから Azure Data Explorer にイベントをルーティングします。
Event Grid から Azure Data Explorer への取り込みに関する一般的な情報については、Event Grid への接続に関する記事を参照してください。
Note
Event Grid 接続で最高のパフォーマンスを実現するには、BLOB メタデータを使用して rawSizeBytes
インジェスト プロパティを設定します。 詳細については、「インジェスト プロパティ」を参照してください。
前提条件
- Azure サブスクリプション。 無料の Azure アカウントを作成します。
- Azure Data Explorer クラスターとデータベース。 クラスターとデータベースを作成します。
- 宛先テーブル。 テーブルを作成するか、既存のテーブルを使用する。
- テーブルのインジェスト マッピング。
- ストレージ アカウント。 Event Grid 通知サブスクリプションは、
BlobStorage
、StorageV2
、または Data Lake Storage Gen2 に対して Azure Storage アカウントで設定できる。
Event Grid データ接続を作成する
このセクションでは、Event Grid と Azure Data Explorer テーブルの間の接続を確立します。
作成したクラスターの [データベース]>[TestDatabase] を選択します。
[データ インジェスト]>[データ接続の追加] を選択します。
[基本] の下で、接続の種類として [BLOB ストレージ] を選択してから、フォームに次の情報を入力します。
設定 推奨値 フィールドの説明 データ接続名 test-grid-connection Azure Data Explorer で作成する接続の名前。 ストレージ アカウントのサブスクリプション サブスクリプション ID ストレージ アカウントが存在するサブスクリプション ID。 ストレージ アカウント gridteststorage1 作成済みのストレージ アカウントの名前。 イベントの種類 "作成された BLOB" または "名前変更された BLOB" インジェストをトリガーするイベントの種類。 "名前変更された BLOB" は、ADLSv2 ストレージに対してのみサポートされています。 BLOB の名前を変更するには、Azure portal で BLOB に移動し、その BLOB を右クリックして、[名前の変更] を選択します。 サポートされる種類は、Microsoft.Storage.BlobCreated または Microsoft.Storage.BlobRenamed。 リソースの作成 自動 Azure Data Explorer で Event Grid サブスクリプション、Event Hubs の名前空間、Event Hubs を自動作成するかどうかを定義します。 リソースを手動で作成するには、「Event Grid インジェスト用のリソースを手動で作成する」をご覧ください。 特定のサブジェクトを追跡するには、 [Filter settings](フィルターの設定) を選択します。 次のように、通知用のフィルターを設定します。
- [Prefix](プレフィックス) フィールドはサブジェクトの "リテラル" プレフィックスです。 適用されるパターンは startswith であるため、複数のコンテナー、フォルダー、BLOB を対象にできます。 ワイルドカードは使用できません。
- BLOB コンテナーに対してフィルターを定義するには、フィールドを
/blobServices/default/containers/[container prefix]
のように設定する "必要があります"。 - BLOB プレフィックス (または Azure Data Lake Gen2 のフォルダー) に対してフィルターを定義するには、フィールドを
/blobServices/default/containers/[container name]/blobs/[folder/blob prefix]
のように設定する "必要があります"。
- BLOB コンテナーに対してフィルターを定義するには、フィールドを
- [Suffix](サフィックス) フィールドは、BLOB の "リテラル" サフィックスです。 ワイルドカードは使用できません。
- [Case-Sensitive](大文字と小文字の区別) フィールドは、プレフィックスとサフィックスのフィルターで大文字と小文字が区別されるかどうかを示します
- イベントのフィルター処理の詳細については、Blob Storage のイベントに関するページを参照してください。
- [Prefix](プレフィックス) フィールドはサブジェクトの "リテラル" プレフィックスです。 適用されるパターンは startswith であるため、複数のコンテナー、フォルダー、BLOB を対象にできます。 ワイルドカードは使用できません。
[Next:Ingest properties](次へ: 取り込みのプロパティ) を選択します。
フォームに次の情報を入力します。 テーブル名とマッピング名では大文字と小文字が区別されます。
Ingest properties (取り込みのプロパティ):
設定 推奨値 フィールドの説明 他のデータベースへのデータのルーティングを許可する (マルチ データベース データ接続) Don't allow このオプションは、データ接続に関連付けられている既定のターゲット データベースをオーバーライドする場合にオンにします。 データベースのルーティングの詳細については、「イベント ルーティング」を参照してください。 テーブル名 TestTable TestDatabase に作成したテーブル。 データ形式 JSON サポートされている形式は、Avro、CSV、JSON、MULTILINE JSON、ORC、PARQUET、PSV、SCSV、SOHSV、TSV、TXT、TSVE、APACHEAVRO、RAW、および W3CLOG です。 サポートされている圧縮オプションは、Zip と Gzip です。 マッピング TestMapping TestDatabase に作成したマッピング。これにより、受信データを TestTable の列名とデータ型にマッピングします。 指定されていない場合、テーブルのスキーマから派生した ID のデータ マッピングが使用されます。 詳細設定 データにヘッダーが含まれている ヘッダーを無視します。 *SV 型ファイルでサポートされています。 注意
既定のルーティング設定をすべて指定する必要はありません。 部分的な設定も受け入れられます。
[Next: Review + create]\(次へ: 確認と作成\) を選択します。
*[確認と作成] が表示されます。
自動的に作成されたリソースを確認し、 [作成] を選択します。
デプロイが完了するまでお待ちください。 デプロイが失敗した場合は、失敗したステージの横にある [操作の詳細] を選択して、失敗の原因に関する詳細情報を取得します。 リソースのデプロイを再試行するには、 [再デプロイ] を選択します。 デプロイの前にパラメーターを変更できます。
Event Grid データ接続を削除する
Azure portal から Event Grid 接続を削除するには、次の操作を行います。
- クラスターに移動します。 左側のメニューで [データベース] を選択します。 対象となるテーブルを含むデータベースを選択します。
- 左側のメニューで [データ接続] を選択します。 次に、関連する Event Grid データ接続の横にあるチェック ボックスをオンにします。
- 上部のメニュー バーで [削除] を選択します。