外部データを統合する
externaldata 演算子では、クエリ自体でスキーマが定義されるテーブルを返します。 そのデータは、Azure Blob Storage の BLOB や Azure Data Lake Storage ファイルなどの外部ストレージ アーティファクトから読み取られます。
構文
externaldata ( ColumnName : ColumnType [, ...] )
[ StorageConnectionString [, ...] ]
[with ( PropertyName = PropertyValue [, ...] )]
引数
ColumnName、ColumnType: 引数でテーブルのスキーマを定義します。 構文は、create table でテーブルを定義するときに使用される構文と同じです。
StorageConnectionString: 返されるデータを保持するストレージ アーティファクトを記述するストレージ接続文字列。
PropertyName、PropertyValue、...: ストレージから取得したデータを解釈する方法を説明する追加のプロパティ (インジェスト プロパティの下に一覧表示される)。
現在、サポートされているプロパティは次のとおりです。
引数
プロパティ | タイプ | 説明 |
---|---|---|
format | string | データ形式。 指定しない場合、ファイル拡張子 (既定値は CSV) からのデータ形式の検出が試行されます。 インジェスト データ形式のいずれかがサポートされます。 |
ignoreFirstRecord | [bool] | true に設定されている場合、すべてのファイルの最初のレコードが無視されることを示します。 このプロパティは、ヘッダーを使用して CSV ファイルにクエリを実行する場合に便利です。 |
ingestionMapping | string | ソース ファイルのデータをテーブルの演算子結果セットの実際の列にマップする方法を示す文字列値。 データ マッピングを参照してください。 |
戻り値
externaldata 演算子では、指定されたストレージ アーティファクトから解析されたデータを含む指定のスキーマのデータ テーブルを返します。これはストレージ接続文字列で示されます。
注意
この例はデモ環境では使用できません。
Users
| where UserID in ((externaldata (UserID:string) [
@"https://storageaccount.blob.core.windows.net/storagecontainer/users.txt"
h@"?...SAS..." // Secret token needed to access the blob
]))
| ...