Dela via


Entitetsnamn

Kusto-entiteter refereras i en fråga efter namn. Entiteter som kan refereras med deras namn inkluderar databaser, tabeller, kolumner och lagrade funktioner, men inte kluster. Namnet du tilldelar en entitet kallas för en identifierare. Förutom entiteter kan du även tilldela en identifierare till frågeparametrar eller variabler som anges via en let-instruktion.

En entitetsnamn är unikt för entitetstypen i kontexten för containern. Två tabeller i samma databas kan till exempel inte ha samma namn, men en databas och en tabell kan ha samma namn eftersom de är olika entitetstyper. På samma sätt kan en tabell och en lagrad funktion ha samma namn.

Anteckning

Entitetsnamn, som också visas som en Azure-resurs, följer reglerna för ARM-reserverade ord.

Vackra namn

Förutom entitetens namn kan vissa entiteter ha ett vackert namn. Precis som vid användning av entitetsnamn kan snygga namn användas för att referera till en entitet i frågor. Men till skillnad från entitetsnamn är snygga namn inte nödvändigtvis unika i kontexten för containern. När en container har flera entiteter med samma vackra namn kan det vackra namnet inte användas för att referera till entiteten.

Med snygga namn kan mellannivåprogram mappa automatiskt skapade entitetsnamn (till exempel UUID:er) till namn som kan läsas av människor i visnings- och referenssyfte.

Ett exempel på hur du tilldelar ett vackert namn finns i kommandot .alter database prettyname.

Namngivningsregler för identifierare

En identifierare är det namn som du tilldelar entiteter, frågeparametrar eller variabel som anges via en let-instruktion. Giltiga identifierare måste följa dessa regler:

  • Identifierare är skiftlägeskänsliga. Databasnamn är skiftlägesokänsliga och därför ett undantag från den här regeln.
  • Identifierare måste vara mellan 1 och 1 024 tecken långa.
  • Identifierare kan innehålla bokstäver, siffror och understreck (_).
  • Identifierare kan innehålla vissa specialtecken: blanksteg, punkter (.) och bindestreck (-). Information om hur du refererar till identifierare med specialtecken finns i Referensidentifierare i frågor.

Anteckning

  • Endast angivna UTF-8 tecken med bokstäver, siffror, understreck, punkter och bindestreck stöds. Semikolon och kolon stöds till exempel inte.
  • Tecknet $ tillåts i entitetsnamn när det genereras av en KQL-operator.

Undvik att namnge identifierare som språknyckelord eller literaler

I KQL finns det nyckelord och literaler som har liknande namngivningsregler som identifierare. Du kan ha identifierare med samma namn som nyckelord eller literaler. Vi rekommenderar dock att du undviker att göra det eftersom det krävs särskild citattecken för att referera till dem i frågor.

Om du vill undvika att använda en identifierare som också kan vara ett språknyckelord eller literal, till exempel where, summarizeoch 1day, kan du välja ett entitetsnamn enligt följande konventioner, som inte gäller för språknyckelord:

  • Använd ett namn som börjar med en versal bokstav (A till Z).

  • Använd ett namn som börjar eller slutar med ett enda understreck (_).

    Anteckning

    KQL reserverar alla identifierare som börjar eller slutar med en sekvens med två understreckstecken (__); användare kan inte definiera sådana namn för eget bruk.

Information om hur du refererar till dessa identifierare finns i Referensidentifierare i frågor.

Referensidentifierare i frågor

Följande tabell innehåller en förklaring av hur du refererar till identifierare i frågor.

Identifierartyp Identifierare Referens Förklaring
Normal entity entity Identifierare (entity) som inte innehåller specialtecken eller mappar till vissa språknyckelord behöver inte omges av citattecken.
Specialtecken entity-name ['entity-name'] Identifierarnamn som innehåller specialtecken (till exempel -) måste omges av och [''] eller använda [" och "].
språknyckelord where ["where"] Identifierarnamn som är språknyckelord måste omslutas med hjälp av [' och '] eller [" och "].
Bokstavlig 1day ["1day"] Identifierarnamn som är literaler måste omges av och [''] eller [" ."]

Anteckning

Identifierare är skiftlägeskänsliga. Du kan till exempel inte referera till en tabell med thisTABLEnamnet ThisTable .