buildschema() (fonction d’agrégation)
S’applique à : ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Génère le schéma minimal qui admet toutes les valeurs de DynamicExpr.
Syntaxe
buildschema
(
DynamicExpr)
En savoir plus sur les conventions de syntaxe.
Paramètres
Nom | Type | Requise | Description |
---|---|---|---|
DynamicExpr | dynamic |
✔️ | Expression utilisée pour le calcul d’agrégation. |
Retours
Retourne le schéma minimal qui admet toutes les valeurs de DynamicExpr.
Conseil
Si l’entrée est une chaîne JSON, utilisez la fonction parse_json() pour convertir le JSON en valeur dynamique . Sinon, une erreur risque de se produire.
Exemple
L’exemple suivant génère un schéma basé sur :
{"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)
Résultats
schema_value |
---|
{"x » :["long »,"string"],"y » :["double »,{"w » :"string"}],"z » :{ »indexer :["long »,"string"]},"t » :{ »indexer :"string"}} |
Le schéma résultant nous indique que :
- L’objet racine est un conteneur avec quatre propriétés nommées x, y, z et t.
- La propriété appelée
x
est de type long ou de type chaîne. - Propriété appelée
y
ii de type double, ou un autre conteneur avec une propriété appeléew
chaîne de type. - Le
indexer
mot clé indique qu’il s’agitz
det
tableaux. - Chaque élément du tableau
z
est de type long ou de type chaîne. t
est un tableau de chaînes.- Chaque propriété est implicitement facultative et tout tableau peut être vide.
Modèle de schéma
La syntaxe du schéma retourné est la suivante :
Conteneur ::= '{' Named-type* '}' ; Type nommé : := (nom | '""indexer
') ' :' Type ; Type ::= Primitive-type | Type d’union | Conteneur; Union-type ::= '[' Type* ']' ; Primitive-type ::= « long » | « string » | ...;
Les valeurs sont équivalentes à un sous-ensemble d’annotations de type TypeScript, encodées en tant que valeur dynamique Kusto. Dans TypeScript, l’exemple de schéma serait :
var someobject:
{
x?: (number | string),
y?: (number | { w?: string}),
z?: { [n:number] : (long | string)},
t?: { [n:number]: string }
}