實體名稱
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'] |
包含特殊字元的識別碼名稱 (,例如 - ) 必須使用 和 或使用 [" 和 '] "] 括住[' 。 |
language 關鍵詞 | where |
["where"] |
語言關鍵詞的標識碼名稱必須使用 和 和 '] [" 括"] 住[' 。 |
常值 | 1day |
["1day"] |
為常值的標識碼名稱必須使用 和 和 '] [" 括"] 住[' 。 |
注意
標識碼會區分大小寫。 例如,您無法將稱為 ThisTable
thisTABLE
的資料表稱為 。
相關內容
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應