Nazwy jednostek

Jednostki Kusto są przywołyzowane w zapytaniu według nazwy. Jednostki, do których można się odwoływać, obejmują bazy danych, tabele, kolumny i funkcje przechowywane, ale nie klastry. Nazwa, którą przypisujesz jednostce, jest nazywana identyfikatorem. Oprócz jednostek można również przypisać identyfikator do parametrów zapytania lub zmienne ustawione za pomocą instrukcji let.

Nazwa jednostki jest unikatowa dla typu jednostki w kontekście kontenera. Na przykład dwie tabele w tej samej bazie danych nie mogą mieć tej samej nazwy, ale baza danych i tabela mogą mieć taką samą nazwę, ponieważ są to różne typy jednostek. Podobnie tabela i przechowywana funkcja mogą mieć taką samą nazwę.

Uwaga

Nazwy jednostek, które są również odzwierciedlane jako zasób platformy Azure, są zgodne z regułami słów rezerwowych usługi ARM.

Ładne nazwy

Oprócz nazwy jednostki niektóre jednostki mogą mieć ładną nazwę. Podobnie jak w przypadku używania nazw jednostek, ładna nazwa może służyć do odwołowania się do jednostki w zapytaniach. Ale w przeciwieństwie do nazw jednostek, ładne nazwy nie muszą być unikatowe w kontekście ich kontenera. Gdy kontener ma wiele jednostek o tej samej nazwie, ładna nazwa nie może być używana do odwołowania się do jednostki.

Ładna nazwa umożliwia aplikacjom warstwy środkowej mapowanie automatycznie utworzonych nazw jednostek (takich jak identyfikatory UUID) na nazwy, które są czytelne dla człowieka w celach wyświetlania i odwoływania się.

Aby zapoznać się z przykładem przypisywania ładnej nazwy, zobacz polecenie .alter database prettyname.

Reguły nazewnictwa identyfikatorów

Identyfikator to nazwa przypisywana do jednostek, parametrów zapytania lub zmiennej ustawionej za pomocą instrukcji let. Prawidłowe identyfikatory muszą być zgodne z następującymi regułami:

  • Identyfikatory są uwzględniane w wielkości liter. Nazwy baz danych są bez uwzględniania wielkości liter, a zatem wyjątek dla tej reguły.
  • Identyfikatory muszą mieć długość od 1 do 1024 znaków.
  • Identyfikatory mogą zawierać litery, cyfry i podkreślenia (_).
  • Identyfikatory mogą zawierać pewne znaki specjalne: spacje, kropki (.) i kreski (-). Aby uzyskać informacje na temat odwołowania się do identyfikatorów z znakami specjalnymi, zobacz Identyfikatory referencyjne w zapytaniach.

Uwaga

  • Obsługiwane są tylko określone znaki UTF-8 liter, cyfry, podkreślenia, kropki i kreski. Na przykład średniki i dwukropki nie są obsługiwane.
  • Znak $ jest dozwolony w nazwach jednostek podczas generowania przez operatora KQL.

Unikaj nazewnictwa identyfikatorów jako słów kluczowych języka lub literałów

W języku KQL istnieją słowa kluczowe i literały, które mają podobne reguły nazewnictwa jako identyfikatory. Możesz mieć identyfikatory o tej samej nazwie co słowa kluczowe lub literały. Zalecamy jednak unikanie takiego działania, ponieważ odwoływanie się do nich w zapytaniach wymaga specjalnego cytowania.

Aby uniknąć używania identyfikatora, który może być również słowem kluczowym języka lub literałem, takim jak where, summarizei 1day, możesz wybrać nazwę jednostki zgodnie z następującymi konwencjami, które nie mają zastosowania do słów kluczowych języka:

  • Użyj nazwy rozpoczynającej się literą kapitaną (A do Z).

  • Użyj nazwy, która rozpoczyna się lub kończy się pojedynczym podkreśleniam (_).

    Uwaga

    KQL rezerwuje wszystkie identyfikatory rozpoczynające się lub kończące się sekwencją dwóch znaków podkreślenia (__); użytkownicy nie mogą definiować takich nazw do własnego użytku.

Aby uzyskać informacje na temat sposobu odwołowania się do tych identyfikatorów, zobacz Identyfikatory referencyjne w zapytaniach.

Identyfikatory odwołań w zapytaniach

Poniższa tabela zawiera wyjaśnienie, jak odwoływać się do identyfikatorów w zapytaniach.

Typ identyfikatora Identyfikator Odwołanie Wyjaśnienie
Normalne entity entity Identyfikatory (entity), które nie zawierają znaków specjalnych ani mapują na niektóre słowa kluczowe języka, nie muszą być ujęte w cudzysłów.
Znak specjalny entity-name ['entity-name'] Nazwy identyfikatorów, które zawierają znaki specjalne (takie jak -) muszą być ujęte przy użyciu i '] lub przy użyciu ['[" i "].
słowo kluczowe języka where ["where"] Nazwy identyfikatorów, które są słowami kluczowymi języka, muszą być ujęte przy użyciu elementów [' i '] lub i [""].
literal 1day ["1day"] Nazwy identyfikatorów, które są literałami, muszą być ujęte przy użyciu elementów [' i '] lub i [""].

Uwaga

Identyfikatory są uwzględniane w wielkości liter. Na przykład nie można odwoływać się do tabeli o nazwie ThisTable .thisTABLE