共用方式為


要求分類原則

適用於:✅Microsoft FabricAzure 數據總管

分類程式會根據要求的特性,將傳入要求指派給工作負載群組。 撰寫使用者定義的函式,作為叢集層級要求分類原則的一部分,以量身打造分類邏輯。

分類程式會根據要求的特性,將傳入要求指派給工作負載群組。 撰寫使用者定義的函式,作為 Eventhouse 層級要求分類原則的一部分,以量身打造分類邏輯。

如果沒有啟用的要求分類原則,所有要求都會分類為 default 工作負載群組。

原則物件

此原則具有下列屬性:

  • IsEnabledbool - 指出是否啟用原則。
  • ClassificationFunctionstring - 用來分類要求的函式主體。

分類函數

傳入要求的分類是以使用者定義函式為基礎。 函式的結果可用來將要求分類為現有的工作負載群組。

使用者定義函式具有下列特性和行為:

  • 如果原則中的 IsEnabled 設定為 true,則會針對每個新要求評估使用者定義函數。
  • 用戶定義函式會為要求提供要求的完整存留期工作負載群組內容。
  • 在下列情況下,要求會提供 default 工作負載群組內容:
    • 使用者定義函式會傳回空字串、default或不存在的工作負載群組名稱。
    • 函式因為任何原因而失敗。
  • 在任何指定時間只能指定一個使用者定義函式。

重要

系統會針對在叢集上執行的每個要求評估要求分類函式。 建議盡可能將它保持為輕量型,且不包含大量計算。 例如,避免在執行時必須評估許多正則表達式。

重要

系統會針對在 Eventhouse 上執行的每個要求評估要求分類函式。 建議盡可能將它保持為輕量型,且不包含大量計算。 例如,避免在執行時必須評估許多正則表達式。

需求和限制

分類函式:

  • 必須傳回類型為 string的單一純量值。 這是要指派要求之工作負載群組的名稱。
  • 不得參考任何其他實體(資料庫、數據表或函式)。
    • 具體來說, 它可能不會使用下列函式和運算子:
      • cluster()
      • database()
      • table()
      • external_table()
      • externaldata
  • 具有下列屬性的特殊 dynamic 符號、名為 request_properties的屬性包存取權:
名字 類型 描述 例子
current_database string 要求資料庫的名稱。 "MyDatabase"
current_application string 傳送要求的應用程式名稱。 "Kusto.Explorer""KusWeb"
current_principal string 傳送要求之主體身分識別的完整名稱。 "aaduser=1793eb1f-4a18-418c-be4c-728e310c86d3;83af1c0e-8c6d-4f09-b249-c67a2e8fda65"
query_consistency string 針對查詢:查詢的一致性 - strongconsistencyweakconsistency。 這個屬性是由呼叫端設定為要求 要求屬性的一部分:要設定的用戶端要求屬性為:queryconsistency "strongconsistency""weakconsistency"
request_description string 要求作者可以包含的自定義文字。 呼叫端會將文字設定為要求 用戶端要求屬性的一部分,:要設定的用戶端要求屬性為:request_description "Some custom description";自動填入儀錶板:"dashboard:{dashboard_id};version:{version};sourceId:{source_id};sourceType:{tile/parameter}"
request_text string 要求的模糊文字。 查詢文字中包含的模糊字串常值會由多個星號 (*) 字元取代。 注意:只會評估要求文字的前置 65,536 個字元 ".show version"
request_type string 要求的類型 - CommandQuery "Command""Query"

注意

使用 set 語句設定要求選項不允許分類。 必須在用戶端要求屬性物件中設定選項。

例子

單一工作負載群組

iff(request_properties.current_application == "Kusto.Explorer" and request_properties.request_type == "Query",
    "Ad-hoc queries",
    "default")

多個工作負載群組

case(current_principal_is_member_of('aadgroup=somesecuritygroup@contoso.com'), "First workload group",
     request_properties.current_database == "MyDatabase" and request_properties.current_principal has 'aadapp=', "Second workload group",
     request_properties.current_application == "Kusto.Explorer" and request_properties.request_type == "Query", "Third workload group",
     request_properties.current_application == "Kusto.Explorer", "Third workload group",
     request_properties.current_application == "KustoQueryRunner", "Fourth workload group",
     request_properties.request_description == "this is a test", "Fifth workload group",
     hourofday(now()) between (17 .. 23), "Sixth workload group",
     "default")

管理命令

使用下列管理命令來管理叢集的要求分類原則。

命令 描述
.alter cluster request classification policy 改變叢集的要求分類原則
.alter-merge cluster request classification policy 啟用或停用叢集的要求分類原則
.delete cluster request classification policy 刪除叢集的要求分類原則
.show cluster request classification policy 顯示叢集的要求分類原則

使用下列管理命令來管理 Eventhouse 的要求分類原則。

命令 描述
.alter cluster request classification policy 改變 Eventhouse 的要求分類原則
.alter-merge cluster request classification policy 啟用或停用 Eventhouse 的要求分類原則
.delete cluster request classification policy 刪除 Eventhouse 的要求分類原則
.show cluster request classification policy 顯示 Eventhouse 的要求分類原則