共用方式為


沙箱

適用於: ✅Azure 數據總管

Kusto 可以針對必須在安全且隔離的環境中執行的特定流程執行沙盒。 這些流程的範例是使用 Python 外掛程式或 R 外掛程式執行的使用者定義文本。

沙箱會在本機執行(也就是說,處理會接近數據),不會有額外的遠端呼叫延遲。

先決條件與限制

  • 沙箱必須在支援巢狀虛擬化的 VM 大小上 執行,此虛擬化使用 Hyper-V 技術 實作,且沒有任何限制。
  • 執行沙箱的映像會部署到每個叢集節點,而且需要專用的 SSD 空間才能執行。
    • 估計的大小介於 10-20 GB 之間。
    • 這會影響叢集的數據容量,而且可能會影響 叢集的成本

執行階段

  • 沙箱化查詢運算符可能會使用一或多個沙盒來執行。
    • 沙箱只會用於單一查詢,而且會在該查詢完成之後處置。
    • 例如,當節點重新啟動時,作為服務升級的一部分,會處置其上所有執行中的沙盒。
  • 每個節點都會維護預先定義的沙盒數目,這些沙箱已準備好執行傳入要求。
    • 使用沙箱之後,系統會自動提供新的沙箱來取代它。
  • 如果沒有預先配置的沙箱可供查詢運算符使用,則會進行節流處理,直到有新的沙箱可用為止。 如需詳細資訊,請參閱 錯誤。 根據 SKU 和數據節點上可用的資源,新的沙箱配置每個沙盒最多可能需要 10-15 秒的時間。

沙盒參數

您可以針對每種沙盒,使用叢集層級 沙盒原則來控制部分參數。

  • 每個節點的沙盒數目: 每個節點的沙盒數目有限。
    • 當沒有可用的沙盒時所做的要求將會受到節流。
  • 啟動時初始化: 如果設定為 false (預設值),則沙箱會在節點上延遲初始化,第一次查詢需要沙盒執行時。 否則,如果設定為 true,沙箱會初始化為服務啟動的一部分。
    • 這表示第一次執行在節點上使用沙箱的外掛程式,將會包含短暫的熱身期間。
  • CPU: 沙箱可以取用其主機處理器的最大CPU速率有限(預設值為 50%)。
    • 達到限制時,沙箱的CPU使用量會受到節流處理,但會繼續執行。
  • 記憶體: 沙箱可取用其主機 RAM 的最大 RAM 數量有限。
    • Hyper-V 技術的預設記憶體為 1 GB,而舊版沙盒則為 20 GB。
    • 達到限制會導致沙盒終止,以及查詢執行錯誤。

沙箱限制

  • 網路: 沙箱無法與虛擬機 (VM) 或外部的任何資源互動。
    • 沙箱無法與另一個沙盒互動。

注意

與沙箱搭配使用的資源不只取決於在要求中處理的數據大小,也取決於沙盒中執行的邏輯,以及其所使用的連結庫實作。 例如,針對 pythonr 外掛程式,後者表示使用者提供的腳本和它在運行時間取用的 Python 或 R 連結庫。

錯誤

ErrorCode 狀態 訊息 可能的原因
E_SB_QUERY_THROTTLED_ERROR TooManyRequests (429) 沙箱化查詢因為節流而中止。 某些輪詢後重試可能會成功 目標節點上沒有可用的沙箱。 新的沙箱應該會在幾秒鐘內可供使用
E_SB_QUERY_THROTTLED_ERROR TooManyRequests (429) 類型為 '{kind}' 的沙盒尚未初始化 沙箱原則最近已變更。 遵守新原則的新沙盒將在幾秒鐘內推出
InternalServiceError (520) 沙箱化查詢因為初始化沙盒失敗而中止 非預期的基礎結構失敗。

支援巢狀虛擬化的 VM 大小

下表列出所有支援 Hyper-V 沙盒技術的新式 VM 大小。

名稱 類別
Standard_L8s_v3 storage-optimized
Standard_L16s_v3 storage-optimized
Standard_L8as_v3 storage-optimized
Standard_L16as_v3 storage-optimized
Standard_E8as_v5 storage-optimized
Standard_E16as_v5 storage-optimized
Standard_E8s_v4 storage-optimized
Standard_E16s_v4 storage-optimized
Standard_E8s_v5 storage-optimized
Standard_E16s_v5 storage-optimized
Standard_E2ads_v5 計算優化
Standard_E4ads_v5 計算優化
Standard_E8ads_v5 計算優化
Standard_E16ads_v5 計算優化
Standard_E2d_v4 計算優化
Standard_E4d_v4 計算優化
Standard_E8d_v4 計算優化
Standard_E16d_v4 計算優化
Standard_E2d_v5 計算優化
Standard_E4d_v5 計算優化
Standard_E8d_v5 計算優化
Standard_E16d_v5 計算優化
Standard_D32d_v4 計算優化