Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Cambie los servicios mediante la lista desplegable Versión . Más información sobre la navegación.
Se aplica a: ✅ Microsoft Fabric ✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel
Comprueba una condición. Si la condición es false, genera mensajes de error y produce un error en la consulta.
Nota:
La assert función se evalúa durante la fase de análisis de consultas, antes de que se apliquen optimizaciones como plegado constante y cortocircuito de predicado.
Nota:
Los parámetros proporcionados a assert se deben evaluar como constantes durante la fase de análisis de consultas. En otras palabras, se puede construir a partir de otras expresiones que hacen referencia solo a constantes y no se pueden enlazar al contexto de fila.
Sintaxis
assert(
mensaje de condición,)
Obtenga más información sobre las convenciones de sintaxis.
Parámetros
| Nombre | Type | Obligatorio | Descripción |
|---|---|---|---|
| condition | bool |
✔️ | Expresión condicional que se va a evaluar. La condición debe evaluarse para constante durante la fase de análisis de consultas. |
| message | string |
✔️ | Mensaje usado si la aserción se evalúa como false. |
Devoluciones
Devuelve true si la condición es true.
Genera un error semántico si la condición se evalúa como false.
Ejemplos
La consulta siguiente define una función checkLength() que comprueba la longitud de la cadena de entrada y usa assert para validar el parámetro de longitud de entrada (comprueba que es mayor que cero).
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)
Al ejecutar esta consulta se produce un error: assert() has failed with message: 'Length must be greater than zero'
Ejemplo de ejecución con entrada válida len :
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)
Salida
| input |
|---|
| 4567 |
Siempre se producirá un error en la consulta siguiente, lo que demuestra que la assert función se evalúa aunque el where b operador no devuelva datos cuando b sea false:
let b=false;
print x="Hello"
| where b
| where assert(b, "Assertion failed")