assert()
적용 대상: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
조건을 확인합니다. 조건이 false이면 오류 메시지를 출력하고 쿼리에 실패합니다.
참고 항목
함수는 assert
상수 폴딩 및 조건자 단락과 같은 최적화가 적용되기 전에 쿼리 분석 단계 중에 평가됩니다.
참고 항목
지정된 assert
매개 변수는 쿼리 분석 단계 동안 상수로 평가되어야 합니다. 즉, 상수만 참조하는 다른 식에서 생성할 수 있으며 행 컨텍스트에 바인딩할 수 없습니다.
구문
assert(
조건,
메시지)
구문 규칙에 대해 자세히 알아봅니다.
매개 변수
이름 | Type | 필수 | 설명 |
---|---|---|---|
condition | bool |
✔️ | 계산할 조건부 식입니다. 쿼리 분석 단계 중에 조건을 상수로 평가해야 합니다. |
message | string |
✔️ | 어설션이 .로 평가되는 false 경우 사용되는 메시지입니다. |
반품
조건이 .인 경우 반환 true
합니다 true
.
조건이 .로 평가되면 의미 체계 오류가 발생합니다 false
.
예제
다음 쿼리는 입력 문자열 길이를 확인하고 입력 길이 매개 변수의 유효성을 검사하는 데 사용하는 assert
함수 checkLength()
를 정의합니다(0보다 큰지 확인).
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 |
다음 쿼리는 연산자가 다음과 같은 경우 false
b
데이터를 반환하지 않더라도 함수가 평가됨을 assert
where b
보여 주는 항상 실패합니다.
let b=false;
print x="Hello"
| where b
| where assert(b, "Assertion failed")