Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Schakelen tussen services met behulp van de vervolgkeuzelijst Versie . Meer informatie over navigatie.
Van toepassing op: ✅ Microsoft Fabric ✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel
Controleert op een voorwaarde. Als de voorwaarde onwaar is, worden foutberichten uitgevoerd en mislukt de query.
Opmerking
De assert functie wordt geëvalueerd tijdens de queryanalysefase, voordat optimalisaties zoals constant vouwen en predicaat kortsluiting worden toegepast.
Opmerking
De parameters die moeten assert worden gegeven, moeten worden geëvalueerd op constanten tijdens de queryanalysefase. Met andere woorden, het kan worden samengesteld uit andere expressies die alleen verwijzen naar constanten en kan niet worden gebonden aan rijcontext.
Syntaxis
assert(
Voorwaarde,Bericht)
Meer informatie over syntaxisconventies.
Parameterwaarden
| Naam | Typologie | Verplicht | Description |
|---|---|---|---|
| voorwaarde | bool |
✔️ | De voorwaardelijke expressie die moet worden geëvalueerd. De voorwaarde moet worden geëvalueerd om constant te zijn tijdens de fase van de queryanalyse. |
| bericht | string |
✔️ | Het bericht dat wordt gebruikt als assertie wordt geëvalueerd false. |
Retouren
Retourneert true als de voorwaarde is true.
Hiermee wordt een semantische fout gegenereerd als de voorwaarde wordt geëvalueerd false.
Voorbeelden
De volgende query definieert een functie checkLength() die de lengte van de invoertekenreeks controleert en gebruikt assert om de invoerlengteparameter te valideren (controleert of deze groter is dan nul).
let checkLength = (len:long, s:string)
{
assert(len > 0, "Length must be greater than zero") and
strlen(s) > len
};
datatable(input:string)
[
'123',
'4567'
]
| where checkLength(len=long(-1), input)
Het uitvoeren van deze query resulteert in een fout: assert() has failed with message: 'Length must be greater than zero'
Voorbeeld van het uitvoeren met geldige len invoer:
let checkLength = (len:long, s:string)
{
assert(len > 0, "Length must be greater than zero") and strlen(s) > len
};
datatable(input:string)
[
'123',
'4567'
]
| where checkLength(len=3, input)
Uitvoer
| invoer |
|---|
| 4567 |
De volgende query mislukt altijd en geeft aan dat de assert functie wordt geëvalueerd, ook al retourneert de where b operator geen gegevens wanneerb:false
let b=false;
print x="Hello"
| where b
| where assert(b, "Assertion failed")