Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Przełącz usługi przy użyciu rozwijanej listy Wersja. Dowiedz się więcej o nawigacji.
Dotyczy: ✅ Microsoft Fabric ✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel
Sprawdza warunek. Jeśli warunek ma wartość false, generuje komunikaty o błędach i kończy się niepowodzeniem zapytania.
Uwaga
Funkcja assert jest oceniana w fazie analizy zapytań przed zastosowaniem optymalizacji, takich jak składanie stałe i predykatowe zwarcie.
Uwaga
Podane parametry assert muszą być oceniane na stałe w fazie analizy zapytań. Innymi słowy, można utworzyć ją tylko z innych wyrażeń odwołującej się tylko do stałych i nie można jej powiązać z kontekstem wiersza.
Składnia
assert(
komunikat warunku,)
Dowiedz się więcej na temat konwencji składni.
Parametry
| Nazwisko | Typ | Wymagania | opis |
|---|---|---|---|
| warunek | bool |
✔️ | Wyrażenie warunkowe do obliczenia. Warunek musi być obliczany jako stały w fazie analizy zapytań. |
| message | string |
✔️ | Komunikat używany w przypadku oceny asercji na wartość false. |
Zwraca
Zwraca true wartość , jeśli warunek to true.
Zgłasza błąd semantyczny, jeśli warunek zostanie obliczony na falsewartość .
Przykłady
Poniższe zapytanie definiuje funkcję checkLength() , która sprawdza długość ciągu wejściowego i używa assert do sprawdzania poprawności parametru długości danych wejściowych (sprawdza, czy jest większa niż 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)
Uruchomienie tego zapytania powoduje wystąpienie błędu: assert() has failed with message: 'Length must be greater than zero'
Przykład uruchamiania z prawidłowymi len danymi wejściowymi:
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)
Wyjście
| dane wejściowe |
|---|
| 4567 |
Następujące zapytanie zawsze zakończy się niepowodzeniem, co pokazuje, że assert funkcja zostanie obliczona, mimo że where b operator nie zwraca żadnych danych, gdy b ma wartość false:
let b=false;
print x="Hello"
| where b
| where assert(b, "Assertion failed")