共用方式為


實體名稱

Kusto 實體會依名稱在查詢中參考。 可以依其名稱參考的實體包括 資料庫數據表數據行預存函式,但不包括 叢集。 您指派實體的名稱稱為識別碼。 除了實體之外,您也可以將標識符指派給 查詢參數,或透過 let 語句設定的變數。

實體的名稱對容器內容中的實體類型而言是唯一的。 例如,相同資料庫中的兩個數據表不能有相同的名稱,但資料庫和數據表可以具有相同的名稱,因為它們是不同的實體類型。 同樣地,數據表和預存函式可能具有相同的名稱。

注意

實體名稱也會反映為 Azure 資源,請遵循 ARM 保留字組規則

美觀的名稱

除了實體的名稱之外,有些實體可能具有 相當的名稱。 類似於實體名稱的使用方式,美觀的名稱可用來參考查詢中的實體。 但不同於實體名稱,美觀的名稱在容器的內容中不一定是唯一的。 當容器具有多個具有相同易記名稱的實體時,無法使用這個易記名稱來參考實體。

美觀的名稱可讓仲介層應用程式將自動建立的實體名稱對應 (,例如 UUID) 為人類可讀取的名稱,以供顯示和參考之用。

如需如何指派美觀名稱的範例,請參閱 .alter database prettyname 命令

識別碼命名規則

標識碼是您透過 let 語句所設定的實體查詢參數或變數所指派的名稱。 有效的識別碼必須遵守下列規則:

  • 標識碼會區分大小寫。 資料庫名稱不區分大小寫,因此此規則的例外狀況。
  • 標識符長度必須介於 1 到 1024 個字元之間。
  • 識別碼可能包含字母、數位和底線, () _
  • 識別碼可能包含特定特殊字元:空格、點 () . ,以及虛線 () - 。 如需如何使用特殊字元參考標識子的資訊,請參閱 查詢中的參考標識碼

注意

  • 僅支援指定的 UTF-8 字元字母、數位、底線、點和虛線。 例如,不支援分號和冒號。
  • $ KQL 運算子產生時,實體名稱中允許字元。

避免將標識碼命名為語言關鍵詞或常值

在 KQL 中,有類似 標識碼命名規則的關鍵詞和常值。 您可以使用與關鍵詞或常值相同的名稱來擁有識別碼。 不過,建議您避免在查詢中參考它們需要 特殊引號

若要避免使用可能也是語言關鍵詞或常值的標識碼,例如 wheresummarize1day,您可以根據下列慣例選擇實體名稱,這些慣例不適用於語言關鍵詞:

  • 使用開頭為大寫字母的名稱, (A) Z

  • 使用以單一底線開頭或結尾的名稱, (_) 。

    注意

    KQL 會保留開頭或結尾為兩個底線字元序列的所有標識碼, () __ ;使用者無法針對自己的用途定義這類名稱。

如需如何參考這些標識子的資訊,請參閱 查詢中的參考標識碼

查詢中的參考標識碼

下表提供如何在查詢中參考標識碼的說明。

標識元類型 識別碼 參考 說明
正常 entity entity 不包含特殊字元或對應至某些語言關鍵詞的標識碼) (entity (不需要以引號括住。
特殊字元 entity-name ['entity-name'] 包含特殊字元的識別碼名稱 (,例如 -) 必須使用 和 或使用 ["']"]括住['
language 關鍵詞 where ["where"] 語言關鍵詞的標識碼名稱必須使用 和 和 '][""]['
常值 1day ["1day"] 為常值的標識碼名稱必須使用 和 和 '][""]['

注意

標識碼會區分大小寫。 例如,您無法將稱為 ThisTablethisTABLE的資料表稱為 。