Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Переключайте службы с помощью раскрывающегося списка Версия. Дополнительные сведения о навигации.
Область применения: ✅ Microsoft Fabric ✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel
Проверяет условие. Если условие равно false, выводит сообщения об ошибках и завершает запрос сбоем.
Примечание.
Функция assert вычисляется во время этапа анализа запросов перед применением оптимизации, например свертывания констант и предиката короткого замыкания.
Примечание.
Параметры, заданные для assert оценки, должны оцениваться константами во время этапа анализа запросов. Другими словами, он может быть создан из других выражений, ссылающихся только на константы, и не может быть привязан к контексту строк.
Синтаксис
assert(
сообщение о условии,)
Дополнительные сведения о соглашениях синтаксиса.
Параметры
| Имя (название) | Type | Обязательно | Описание |
|---|---|---|---|
| условие | bool |
✔️ | Условное выражение для вычисления. Условие должно быть оценено на константу во время этапа анализа запросов. |
| message | string |
✔️ | Сообщение, используемое при оценке falseутверждения. |
Возвраты
Возвращает, true если условие равно true.
Вызывает семантику ошибку, если условие оценивается false.
Примеры
Следующий запрос определяет функцию checkLength() , которая проверяет длину входной строки и используется assert для проверки параметра входной длины (проверяет, что она больше нуля).
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)
Выполнение этого запроса приводит к ошибке: assert() has failed with message: 'Length must be greater than zero'
Пример выполнения с допустимыми 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)
Выходные данные
| input |
|---|
| 4567 |
Следующий запрос всегда завершается ошибкой, демонстрируя, что assert функция вычисляется, даже если where b оператор не возвращает данные, еслиb:false
let b=false;
print x="Hello"
| where b
| where assert(b, "Assertion failed")