Имена сущностей

Ссылки на сущности Kusto в запросе по имени. Сущности, на которые можно ссылаться по имени, включают базы данных, таблицы, столбцы и хранимые функции, но не кластеры. Имя, которое вы назначаете сущности, называется идентификатором. Помимо сущностей, можно также назначить идентификатор параметрам запроса или переменным, заданным с помощью инструкции let.

Имя сущности уникально для типа сущности в контексте ее контейнера. Например, две таблицы в одной базе данных не могут иметь одинаковое имя, но база данных и таблица могут иметь одно и то же имя, так как они имеют разные типы сущностей. Аналогичным образом, таблица и хранимая функция могут иметь одно и то же имя.

Примечание

Имена сущностей, которые также отражаются как ресурс Azure, соответствуют правилам резервных слов ARM.

Красивые имена

В дополнение к имени сущности некоторые сущности могут иметь красивое имя. Как и при использовании имен сущностей, красивые имена можно использовать для ссылки на сущность в запросах. Но в отличие от имен сущностей, красивые имена не обязательно являются уникальными в контексте их контейнера. Если контейнер содержит несколько сущностей с одинаковым красивым именем, красивое имя нельзя использовать для ссылки на сущность.

Красивые имена позволяют приложениям среднего уровня сопоставлять автоматически созданные имена сущностей (например, UUID) с именами, которые читаются человеком для отображения и ссылок.

Пример назначения красивого имени см . в разделе Команда .alter database prettyname.

Правила именования идентификаторов

Идентификатор — это имя, присвоенное сущностям, параметрам запроса или переменной, заданной с помощью инструкции let. Допустимые идентификаторы должны соответствовать следующим правилам.

  • В идентификаторах учитывается регистр. Имена баз данных не учитывают регистр, что является исключением из этого правила.
  • Идентификаторы должны содержать от 1 до 1024 символов.
  • Идентификаторы могут содержать буквы, цифры и символы подчеркивания (_).
  • Идентификаторы могут содержать определенные специальные символы: пробелы, точки (.) и дефисы (-). Сведения о том, как ссылаться на идентификаторы с помощью специальных символов, см. в статье Идентификаторы ссылок в запросах.

Примечание

  • Поддерживаются только указанные символы UTF-8 букв, цифр, символов подчеркивания, точек и дефисов. Например, точки с запятой и двоеточие не поддерживаются.
  • Символ $ допускается в именах сущностей при создании оператором KQL.

Избегайте именования идентификаторов в качестве ключевых слов языка или литералов

В KQL есть ключевые слова и литералы, правила именования которых аналогичны идентификаторам. У вас могут быть идентификаторы с тем же именем, что и у ключевых слов или литералов. Однако рекомендуется избегать этого, так как для ссылки на них в запросах требуется специальное кавыкание.

Чтобы избежать использования идентификатора, который также может быть ключевое слово языка или литерала, например where, summarizeи 1day, можно выбрать имя сущности в соответствии со следующими соглашениями, которые не применимы к ключевым словам языка:

  • Используйте имя, начинающееся с прописной буквы (A до Z).

  • Используйте имя, которое начинается или заканчивается одним символом подчеркивания (_).

    Примечание

    KQL резервирует все идентификаторы, которые начинаются или заканчиваются последовательностью из двух символов подчеркивания (__); пользователи не могут определять такие имена для собственного использования.

Сведения о том, как ссылаться на эти идентификаторы, см. в разделе Справочные идентификаторы в запросах.

Идентификаторы ссылок в запросах

В следующей таблице приведено объяснение того, как ссылаться на идентификаторы в запросах.

Тип идентификатора Идентификатор Ссылка Описание
Норм. entity entity Идентификаторы (entity), которые не содержат специальных символов или не сопоставляются с каким-либо языком ключевое слово, не нужно заключать в кавычки.
Специальный символ entity-name ['entity-name'] Имена идентификаторов, включающие специальные символы (например, -), должны быть заключены с помощью [' и или '] с помощью [" и "].
ключевое слово языка where ["where"] Имена идентификаторов, которые являются ключевыми словами языка, должны быть заключены с помощью [' и или '][" и "].
литерал 1day ["1day"] Имена идентификаторов, которые являются литералами, должны быть заключены в и [' или '][" и "].

Примечание

В идентификаторах учитывается регистр. Например, нельзя ссылаться на таблицу с thisTABLEименем ThisTable .