Názvy entit

Na entity Kusto se v dotazu odkazuje podle názvu. Mezi entity, na které lze odkazovat svým názvem, patří databáze, tabulky, sloupce a uložené funkce, ale ne clustery. Název, který přiřadíte entitě, se nazývá identifikátor. Kromě entit můžete také přiřadit identifikátor parametrům dotazu nebo proměnným nastaveným pomocí příkazu let.

Název entity je jedinečný pro typ entity v kontextu jejího kontejneru. Například dvě tabulky ve stejné databázi nemohou mít stejný název, ale databáze a tabulka můžou mít stejný název, protože jsou to různé typy entit. Podobně tabulka a uložená funkce můžou mít stejný název.

Poznámka

Názvy entit, které se také odrážejí jako prostředek Azure, se řídí pravidly pro vyhrazená slova ARM.

Hezká jména

Kromě názvu entity můžou mít některé entity pěkný název. Podobně jako u názvů entit je možné použít hezké názvy k odkazování na entitu v dotazech. Na rozdíl od názvů entit ale nemusí být hezké názvy nutně jedinečné v kontextu kontejneru. Pokud má kontejner více entit se stejným hezkým názvem, není možné použít tento hezký název k odkazu na entitu.

Hezké názvy umožňují aplikacím střední vrstvy mapovat automaticky vytvořené názvy entit (například identifikátory UUID) na názvy, které jsou čitelné pro účely zobrazení a odkazování.

Příklad přiřazení hezkého názvu najdete v příkazu .alter database prettyname.

Pravidla pojmenování identifikátorů

Identifikátor je název, který přiřadíte entitě, parametrům dotazu nebo sadě proměnných pomocí příkazu let. Platné identifikátory musí dodržovat tato pravidla:

  • U identifikátorů se rozlišují velká a malá písmena. V názvech databází se nerozlišují malá a velká písmena, a proto se jedná o výjimku z tohoto pravidla.
  • Identifikátory musí mít délku 1 až 1024 znaků.
  • Identifikátory můžou obsahovat písmena, číslice a podtržítka (_).
  • Identifikátory můžou obsahovat určité speciální znaky: mezery, tečky (.) a pomlčky (-). Informace o tom, jak odkazovat na identifikátory se speciálními znaky, najdete v tématu Referenční identifikátory v dotazech.

Poznámka

  • Podporují se pouze zadané znaky UTF-8 písmen, číslic, podtržítka, tečky a pomlčky. Například středníky a dvojtečky se nepodporují.
  • Znak $ je povolen v názvech entit při generování operátorem KQL.

Vyhněte se pojmenování identifikátorů jako klíčových slov jazyka nebo literálů.

V KQL existují klíčová slova a literály, které mají jako identifikátory podobná pravidla pojmenování. Můžete mít identifikátory se stejným názvem jako klíčová slova nebo literály. Doporučujeme ale, abyste se tomu vyhnuli, protože odkazování na ně v dotazech vyžaduje speciální uvozování.

Pokud se chcete vyhnout použití identifikátoru, který může být také klíčovým slovem jazyka nebo literálem, například where, summarizea 1day, můžete zvolit název entity podle následujících konvencí, které se nevztahují na klíčová slova jazyka:

  • Použijte název, který začíná velkým písmenem (AZ).

  • Použijte název, který začíná nebo končí jedním podtržítkem (_).

    Poznámka

    KQL vyhrazuje všechny identifikátory, které začínají nebo končí posloupností dvou podtržítků (__); uživatelé nemůžou takové názvy definovat pro své vlastní použití.

Informace o tom, jak na tyto identifikátory odkazovat, najdete v tématu Referenční identifikátory v dotazech.

Referenční identifikátory v dotazech

Následující tabulka obsahuje vysvětlení, jak odkazovat na identifikátory v dotazech.

Typ identifikátoru Identifikátor Reference Vysvětlení
Normální entity entity Identifikátory (entity), které neobsahují speciální znaky nebo mapování na klíčové slovo určitého jazyka, nemusí být uzavřeny v uvozovkách.
Speciální znak entity-name ['entity-name'] Názvy identifikátorů, které obsahují speciální znaky (například -) musí být uzavřeny pomocí [' a '] nebo pomocí [" a "].
klíčové slovo jazyka where ["where"] Názvy identifikátorů, které jsou klíčovými slovy jazyka, musí být uzavřeny pomocí [' a '] nebo [" a "].
literál 1day ["1day"] Názvy identifikátorů, které jsou literály, musí být uzavřeny pomocí [' a '] nebo [" a "].

Poznámka

U identifikátorů se rozlišují velká a malá písmena. Nemůžete například odkazovat na tabulku s názvem ThisTable .thisTABLE