W3CLOGFILE マッピング
インジェスト ソース ファイルがW3CLOGFILE形式の場合は、W3CLOGFILEマッピングを使用して、受信データをテーブル内の列にマップします。
マッピング リスト内の各要素は、特定の列のマッピングを定義します。 これらの要素は、 column
、 datatype
、 properties
の 3 つのプロパティから構成されます。 詳細については、 データ マッピングの概要を参照してください。
各W3CLOGFILEマッピング要素には、次のいずれかの省略可能なプロパティが含まれている必要があります。
プロパティ | タイプ | 説明 |
---|---|---|
フィールド | string |
W3CLOGFILE ログ レコード内のフィールドの名前。 |
ConstValue | string |
W3CLOGFILE ファイル内の値ではなく、列に使用する定数値。 |
変換 | string |
マッピング変換を使用してコンテンツに適用する必要がある変換。 |
Note
W3CLOGFILE形式でサポートされている変換は、SourceLineNumber と SourceLocation のみです。
重要
キューに入ったインジェストの場合:
- マッピングで参照されているテーブルがデータベースに存在しない場合は、すべての列に有効なデータ型が指定されているため、自動的に作成されます。
- マッピングで参照されている列がテーブルに存在しない場合、列に対して有効なデータ型が指定されている場合、その列に対して最初にデータが取り込まれると、その列が最後の列としてテーブルに自動的に追加されます。 マッピングに新しい列を追加するには、 .alter インジェスト マッピング コマンドを使用します。
- データは、インジェスト プロパティを使用してバッチ処理されます。 異なる ConstValue 値など、使用されるインジェスト マッピング プロパティが異なるほど、インジェストの断片化が増え、パフォーマンスが低下する可能性があります。
例
[
{"Column": "Date", "Properties": {"Field": "date"}},
{"Column": "Time", "Properties": {"Field": "time"}},
{"Column": "IP", "Properties": {"Field": "s-ip"}},
{"Column": "ClientMethod", "Properties": {"Field": "cs-method"}},
{"Column": "ClientQuery", "Properties": {"Field": "cs-uri-query"}},
{"Column": "ServerPort", "Properties": {"Field": "s-port"}},
{"Column": "ClientIP", "Properties": {"Field": "c-ip"}},
{"Column": "UserAgent", "Properties": {"Field": "cs(User-Agent)"}},
{"Column": "Referer", "Properties": {"Field": "cs(Referer)"}},
{"Column": "Status", "Properties": {"Field": "sc-status"}},
{"Column": "ResponseBytes", "Properties": {"Field": "sc-bytes"}},
{"Column": "RequestBytes", "Properties": {"Field": "cs-bytes"}},
{"Column": "TimeTaken", "Properties": {"Field": "time-taken"}}
]
上記のマッピングは、 .ingest
管理コマンドの一部として提供されるときに JSON 文字列としてシリアル化されます。
.ingest into Table123 (@"source1", @"source2")
with
(
format = "w3clogfile",
ingestionMapping =
```
[
{"Column": "column_a", "Properties": {"Field": "field1"}},
{"Column": "column_b", "Properties": {"Field": "field2"}}
]
```
)
事前に作成されたマッピング
マッピングが作成されたら.ingest
管理コマンドで名前でマッピングを参照します。
.ingest into Table123 (@"source1", @"source2")
with
(
format="w3clogfile",
ingestionMappingReference = "Mapping_Name"
)
ID のマッピング
インジェスト中にマッピング スキーマを定義せずにW3CLOGFILEマッピングを使用します ( 識別マッピングを参照)。
.ingest into Table123 (@"source1", @"source2")
with
(
format="w3clogfile"
)