你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
实体名称
Kusto 实体在查询中按名称引用。 可按名称引用的实体包括 数据库、 表、 列和 存储函数,但不包括 群集。 为实体分配的名称称为标识符。 除了实体,还可以为 查询参数或通过 let 语句设置的变量分配标识符。
实体的名称对于其容器上下文中的实体类型是唯一的。 例如,同一数据库中的两个表不能具有相同的名称,但数据库和表可以具有相同的名称,因为它们是不同的实体类型。 同样,表和存储函数可能具有相同的名称。
漂亮的名称
除了实体的名称之外,某些实体可能具有 漂亮的名称。 与使用实体名称类似,漂亮的名称可用于在查询中引用实体。 但与实体名称不同,漂亮的名称在其容器的上下文中不一定是唯一的。 如果容器包含多个具有相同友好名称的实体,则不能使用该友好名称来指代实体。
友好名称允许中间层应用程序将自动创建的实体名称(如 UUID)映射到易于理解的名称,以便显示和引用。
有关如何分配漂亮名称的示例,请参阅 .alter database prettyname 命令。
标识符命名规则
标识符是通过 let 语句分配给实体、查询参数或变量的名称。 有效标识符必须遵循以下规则:
- 标识符区分大小写。 数据库名称不区分大小写,因此此规则例外。
- 标识符长度必须介于 1 到 1024 个字符之间。
- 标识符可能包含字母、数字和下划线 (
_
) 。 - 标识符可能包含某些特殊字符:空格、点 ()
.
和短划线 (-
) 。 有关如何使用特殊字符引用标识符的信息,请参阅 查询中的引用标识符。
注意
- 仅支持指定的 UTF-8 字符(字母、数字、下划线、点和短划线)。 例如,不支持分号和冒号。
$
当 KQL 运算符生成时,允许在实体名称中使用 字符。
避免将标识符命名为语言关键字或文本
在 KQL 中,有一些关键字和文本具有与 标识符类似的命名规则。 可以具有与关键字或文本同名的标识符。 但是,建议避免这样做,因为在查询中引用它们需要 特殊引用。
若要避免使用可能也是语言关键字 (keyword) 或文本的标识符,例如 where
、 summarize
和 1day
,可以根据以下约定选择实体名称,这些约定不适用于语言关键字:
使用以大写字母开头的名称 (
A
)Z
。使用以单个下划线开头或结尾的名称 (
_
) 。注意
KQL 保留以两个下划线字符序列开头或结尾的所有标识符 (
__
) ;用户无法定义此类名称供自己使用。
有关如何引用这些标识符的信息,请参阅 查询中的引用标识符。
查询中的引用标识符
下表提供了有关如何在查询中引用标识符的说明。
标识符类型 | 标识符 | 参考 | 说明 |
---|---|---|---|
普通 | entity |
entity |
不包含特殊字符或映射到某些语言关键字 (keyword) 的标识符 (entity ) 不需要用引号引起来。 |
特殊字符 | entity-name |
['entity-name'] |
包含特殊字符 ((如 - ) )的标识符名称必须使用 和 '] 或使用 [" 和 "] 括起来[' 。 |
语言关键字 (keyword) | where |
["where"] |
必须用 [' 和 或 [" 和 '] "] 括起属于语言关键字的标识符名称。 |
文本 | 1day |
["1day"] |
必须用 [' 和 或 [" 和 '] "] 括起来属于文本的标识符名称。 |
注意
标识符区分大小写。 例如,不能引用名为 的ThisTable
thisTABLE
表。
相关内容
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈