Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Alterne entre serviços usando a lista suspensa Version. Saiba mais sobre navegação.
Aplica a: ✅ Microsoft Fabric ✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel
Verifica uma condição. Se a condição for falsa, gera mensagens de erro e falha a consulta.
Observação
A assert função é avaliada durante a fase de análise da consulta, antes de serem aplicadas otimizações como dobramento constante e curto-circuito de predicados.
Observação
Os parâmetros atribuídos assert a devem ser avaliados em constantes durante a fase de análise da consulta. Ou seja, pode ser construído a partir de outras expressões que referenciam apenas constantes, e não pode ser ligado ao contexto da linha.
Sintaxe
assert(
condição,Mensagem)
Saiba mais sobre convenções de sintaxe.
Parâmetros
| Nome | Tipo | Obrigatório | Description |
|---|---|---|---|
| condição | bool |
✔️ | A expressão condicional para avaliar. A condição deve ser avaliada para constante durante a fase de análise da consulta. |
| mensagem | string |
✔️ | A mensagem usada se a asserção for avaliada para false. |
Devoluções
Retorna true se a condição for true.
Levanta um erro semântico se a condição for avaliada para false.
Examples
A consulta seguinte define uma função checkLength() que verifica o comprimento da string de entrada e é usada assert para validar o parâmetro de comprimento de entrada (verifica se é maior que zero).
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)
Executar esta consulta produz um erro: assert() has failed with message: 'Length must be greater than zero'
Exemplo de execução com 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)
Output
| dados introduzidos |
|---|
| 4567 |
A consulta seguinte falhará sempre, demonstrando que a assert função é avaliada mesmo que o where b operador não retorne dados quando b é false:
let b=false;
print x="Hello"
| where b
| where assert(b, "Assertion failed")