Share via


Nomes de entidade

As entidades kusto são referenciadas em uma consulta por nome. As entidades que podem ser referenciadas pelo nome incluem bancos de dados, tabelas, colunas e funções armazenadas, mas não clusters. O nome que você atribuir a uma entidade é chamado de identificador. Além das entidades, você também pode atribuir um identificador a parâmetros de consulta ou variáveis definidas por meio de uma instrução let.

O nome de uma entidade é exclusivo para o tipo de entidade no contexto de seu contêiner. Por exemplo, duas tabelas no mesmo banco de dados não podem ter o mesmo nome, mas um banco de dados e uma tabela podem ter o mesmo nome porque são tipos de entidade diferentes. Da mesma forma, uma tabela e uma função armazenada podem ter o mesmo nome.

Observação

Os nomes de entidade, que também são refletidos como um recurso do Azure, seguem as regras de palavras de reserva do ARM.

Nomes bonitos

Além do nome da entidade, algumas entidades podem ter um nome bonito. Semelhante ao uso de nomes de entidade, nomes bonitos podem ser usados para fazer referência a uma entidade em consultas. Mas, ao contrário dos nomes de entidade, nomes bonitos não são necessariamente exclusivos no contexto de seu contêiner. Quando um contêiner tem várias entidades com o mesmo nome bonito, o nome bonito não pode ser usado para fazer referência à entidade.

Nomes bonitos permitem que aplicativos de camada intermediária mapeiem nomes de entidade criados automaticamente (como UUIDs) para nomes que são legíveis por humanos para fins de exibição e referência.

Para obter um exemplo sobre como atribuir um nome bonito, consulte comando .alter database prettyname.

Regras de nomenclatura do identificador

Um identificador é o nome que você atribui a entidades, parâmetros de consulta ou conjunto de variáveis por meio de uma instrução let. Os identificadores válidos devem seguir estas regras:

  • Os identificadores diferenciam maiúsculas de minúsculas. Os nomes de banco de dados não diferenciam maiúsculas de minúsculas e, portanto, uma exceção a essa regra.
  • Os identificadores devem ter entre 1 e 1024 caracteres.
  • Os identificadores podem conter letras, dígitos e sublinhados (_).
  • Os identificadores podem conter determinados caracteres especiais: espaços, ponto (.) e traços (-). Para obter informações sobre como referenciar identificadores com caracteres especiais, consulte Identificadores de referência em consultas.

Observação

  • Há suporte apenas para os caracteres UTF-8 especificados de letras, dígitos, sublinhados, pontos e traços. Por exemplo, não há suporte para ponto e vírgula e dois-pontos.
  • O $ caractere é permitido em nomes de entidade quando gerado por um operador KQL.

Evite nomear identificadores como palavras-chave ou literais de linguagem

No KQL, há palavras-chave e literais que têm regras de nomenclatura semelhantes como identificadores. Você pode ter identificadores com o mesmo nome que palavras-chave ou literais. No entanto, recomendamos que você evite fazer isso, pois referenciá-los em consultas requer aspas especiais.

Para evitar o uso de um identificador que também pode ser um idioma palavra-chave ou literal, como where, summarizee 1day, você pode escolher o nome da entidade de acordo com as seguintes convenções, que não são aplicáveis a palavras-chave de idioma:

  • Use um nome que comece com uma letra maiúscula (A para Z).

  • Use um nome que comece ou termine com um único sublinhado (_).

    Observação

    O KQL reserva todos os identificadores que começam ou terminam com uma sequência de dois caracteres de sublinhado (__); os usuários não podem definir esses nomes para seu próprio uso.

Para obter informações sobre como fazer referência a esses identificadores, consulte Identificadores de referência em consultas.

Identificadores de referência em consultas

A tabela a seguir fornece uma explicação sobre como referenciar identificadores em consultas.

Tipo de identificador Identificador Referência Explicação
Normal entity entity Identificadores (entity) que não incluem caracteres especiais ou mapeiam para algum idioma palavra-chave não precisam ser colocados entre aspas.
Caractere especial entity-name ['entity-name'] Os nomes de identificadores que incluem caracteres especiais (como -) devem ser incluídos usando [' e '] ou usando [" e ."]
palavra-chave de idioma where ["where"] Os nomes de identificador que são palavras-chave de linguagem devem ser colocados entre e [' e '] ou [" e "].
literal 1day ["1day"] Os nomes de identificador que são literais devem ser colocados usando [' e '] ou [" e "].

Observação

Os identificadores diferenciam maiúsculas de minúsculas. Por exemplo, você não pode se referir a uma tabela chamada ThisTable .thisTABLE