buildschema() (彙總函數)
建置允許 DynamicExpr 所有值的最小架構。
注意
此函式會與 summarize 運算子搭配使用。
語法
buildschema
(
DynamicExpr)
深入瞭解 語法慣例。
參數
名稱 | 類型 | 必要 | Description |
---|---|---|---|
DynamicExpr | dynamic |
✔️ | 用於匯總計算的表達式。 |
傳回
傳回容許所有 DynamicExpr 值的最小結構描述。
提示
如果輸入是 JSON 字串,請使用 parse_json () 函式,將 JSON 轉換成 動態 值。 否則,系統可能會發生錯誤。
範例
下列範例會根據下列專案建置架構:
{"x":1, "y":3.5}
{"x":"somevalue", "z":[1, 2, 3]}
{"y":{"w":"zzz"}, "t":["aa", "bb"], "z":["foo"]}
datatable(value: dynamic) [
dynamic({"x":1, "y":3.5}),
dynamic({"x":"somevalue", "z":[1, 2, 3]}),
dynamic({"y":{"w":"zzz"}, "t":["aa", "bb"], "z":["foo"]})
]
| summarize buildschema(value)
結果
schema_value |
---|
{“x”:[“long”,“string”],“y”:[“double”,{“w”:“string”}],“z”:{“indexer ”:[“long”,“string”]},“t”:{indexer “:”string“}} |
產生的架構告訴我們:
- 根物件是具有四個屬性 (名稱分別是 x、y、z 和 t) 的容器。
- 呼叫
x
的屬性的類型為 long 或類型 字串。 - 類型
y
為 double 的ii屬性,或具有類型字串之屬性w
的另一個容器。 - 關鍵詞
indexer
表示z
和t
是陣列。 - 陣列
z
中的每個項目類型為 long 或類型 字串。 t
是字串的陣列。- 每個屬性皆可隱含選用,且任何陣列都可以是空的。
結構描述模型
所傳回結構描述的語法如下︰
容器 ::= '{' Named-type* '}';具名類型: := (名稱 |'“”indexer
') ':' 類型;類型 ::= 基本類型 |等位類型 |容器;Union-type ::= '[' Type* ']';基本類型 ::= “long” |“string” |...;
這些值相當於 TypeScript 類型註釋的子集,編碼為 Kusto 動態值。 在 TypeScript 中,範例架構會是:
var someobject:
{
x?: (number | string),
y?: (number | { w?: string}),
z?: { [n:number] : (long | string)},
t?: { [n:number]: string }
}
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應