buildschema() (sammansättningsfunktion)
Skapar det minimala schemat som tillåter alla värden för DynamicExpr.
Anteckning
Den här funktionen används tillsammans med summarize-operatorn.
Syntax
buildschema
(
DynamicExpr)
Läs mer om syntaxkonventioner.
Parametrar
Namn | Typ | Obligatorisk | Beskrivning |
---|---|---|---|
DynamicExpr | dynamic |
✔️ | Uttryck som används för aggregeringsberäkningen. |
Returer
Returnerar det minimala schemat som tar emot alla värden för DynamicExpr.
Tips
Om indata är en JSON-sträng använder du funktionen parse_json() för att konvertera JSON till ett dynamiskt värde. Annars kan ett fel uppstå.
Exempel
I följande exempel skapas ett schema baserat på:
{"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)
Resultat
schema_value |
---|
{"x":["long","string"],"y":["double",{"w":"string"}],"z":{""indexer :["long","string"]},"t":{"indexer ":"string"}} |
Det resulterande schemat visar att:
- Rotobjektet är en container med fyra egenskaper med namnen x, y, z och t.
- Egenskapen som kallas
x
är av typen long eller av typen string. - Egenskapen som kallas
y
ii av typen double, eller en annan container med en egenskap som heterw
av typen string. - Nyckelordet
indexer
anger attz
ocht
är matriser. - Varje objekt i matrisen
z
är av typen long eller av typen string. t
är en matris med strängar.- Varje egenskap är implicit valfri och alla matriser kan vara tomma.
Schemamodell
Syntaxen för det returnerade schemat är:
Container ::= '{' Named-type* '}'; Namngiven typ: := (namn | '"indexer
"') ':' Type; Skriv ::= Primitive-type | Union-type | Behållare; Union-type ::= '[' Type* ']'; Primitiv typ ::= "long" | "string" | ...;
Värdena motsvarar en delmängd av TypeScript-typanteckningar, kodade som ett dynamiskt Kusto-värde. I TypeScript skulle exempelschemat vara:
var someobject:
{
x?: (number | string),
y?: (number | { w?: string}),
z?: { [n:number] : (long | string)},
t?: { [n:number]: string }
}
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för