W3CLOGFILE對應
適用於: ✅Microsoft網狀架構✅Azure 數據總管
當您的擷取來源檔案為W3CLOGFILE格式時,請使用W3CLOGFILE對應,將傳入數據對應至數據表內的數據行。
對應清單中的每個元素都會定義特定數據行的對應。 這些元素是從三個屬性建構的: column
、 datatype
和 properties
。 深入了解 數據對應概觀。
每個W3CLOGFILE對應項目都必須包含下列任一選擇性屬性:
屬性 | 類型 | 描述 |
---|---|---|
欄位 | string |
W3CLOGFILE記錄檔記錄中的功能變數名稱。 |
ConstValue | string |
要用於數據行的常數值,而不是W3CLOGFILE檔案內的一些值。 |
轉換 | string |
應該套用到具有 對應轉換之內容上的轉換。 |
注意
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"
)
身分識別對應
在擷取期間使用W3CLOGFILE對應,而不定義對應架構(請參閱 身分識別對應)。
.ingest into Table123 (@"source1", @"source2")
with
(
format="w3clogfile"
)