實體名稱
適用於:✅Microsoft網狀架構✅Azure 數據✅總管 Azure 監視器✅Microsoft Sentinel
Kusto 實體會依名稱在查詢中參考。 可由其名稱參考的實體包括資料庫、資料表、資料行和預存函式,但不包括叢集。 您指派實體的名稱稱為識別碼。 除了實體之外,您也可以將標識符指派給查詢參數,或透過 let 語句設定的變數。
Kusto 實體會依名稱在查詢中參考。 可由其名稱參考的實體包括資料庫、資料表、資料行和預存函式。 您指派實體的名稱稱為識別碼。 除了實體之外,您也可以將標識符指派給查詢參數,或透過 let 語句設定的變數。
實體的名稱是其容器內容中實體類型的唯一名稱。 例如,相同資料庫中的兩個數據表不能有相同的名稱,但是資料庫和數據表可以有相同的名稱,因為它們是不同的實體類型。 同樣地,數據表和預存函式的名稱可能相同。
注意
實體名稱也會反映為 Azure 資源,請遵循 ARM 保留字組規則。
漂亮的名稱
除了實體的名稱之外,某些實體可能具有 相當的名稱。 類似於使用實體名稱,漂亮的名稱可用來參考查詢中的實體。 但與實體名稱不同,漂亮的名稱在容器的內容中不一定是唯一的。 當容器有多個具有相同漂亮名稱的實體時,無法使用漂亮的名稱來參考實體。
漂亮的名稱可讓仲介層應用程式將自動建立的實體名稱(例如 UUID)對應至人類可讀取的名稱,以供顯示和參考之用。
如需如何指派漂亮名稱的範例,請參閱 .alter database prettyname 命令。
標識元命名規則
標識碼是您透過 let 語句設定給實體、查詢參數或變數的名稱。 有效的識別碼必須遵守下列規則:
- 標識碼會區分大小寫。 資料庫名稱不區分大小寫,因此此規則的例外狀況。
- 標識符長度必須介於 1 到 1024 個字元之間。
- 標識碼可能包含字母、數位和底線 (
_
)。 - 標識碼可能包含特定特殊字元:空格、點 (
.
) 和破折號 (-
)。 如需如何使用特殊字元參考標識子的資訊,請參閱 查詢中的參考標識碼。
注意
- 只支援指定的 UTF-8 字元字母、數位、底線、點和虛線。 例如,不支援分號和冒號。
$
KQL 運算子產生時,實體名稱中允許此字元。
避免將標識碼命名為語言關鍵詞或常值
在 KQL 中,有關鍵詞和常值具有與標識符類似的命名規則。 您可以擁有與關鍵詞或常值相同名稱的識別碼。 不過,我們建議您避免這樣做,因為在查詢中參考它們需要 特殊引號。
若要避免使用可能也是語言關鍵詞或常值的標識碼,例如 where
、 summarize
和 1day
,您可以根據下列慣例來選擇實體名稱,這些慣例不適用於語言關鍵詞:
使用開頭為大寫字母的名稱(
A
至Z
)。使用以單一底線開頭或結尾的名稱 (
_
)。注意
KQL 會保留以兩個底線字元序列開頭或結尾的所有標識碼(
__
; 使用者無法定義這類名稱供自己使用。
如需如何參考這些標識子的資訊,請參閱 查詢中的參考標識碼。
查詢中的參考標識碼
下表提供如何在查詢中參考標識碼的說明。
標識元類型 | 識別碼 | 參考 | 說明 |
---|---|---|---|
Normal | entity |
entity |
entity 不包含特殊字元或對應至某些語言關鍵詞的識別碼 () 不需要以引號括住。 |
特殊字元 | entity-name |
['entity-name'] |
包含特殊字元 (例如) - 的識別碼名稱必須使用 和 '] 或使用 [" 和"] 括住[' 。 |
language 關鍵詞 | where |
["where"] |
語言關鍵詞的標識碼名稱必須使用 和 '] 或 [" 和"] 括住[' 。 |
literal | 1day |
["1day"] |
必須是常值的標識碼名稱,必須使用 和 '] 或 [" 和 "] 括住[' 。 |
注意
標識碼會區分大小寫。 例如,您無法將稱為 ThisTable
thisTABLE
的資料表稱為 。