Important
這項功能位於 測試版 (Beta) 中。 要在工作區中啟用此功能預覽,請在工作區預覽頁面中選擇 Databricks 沙盒 設定。 請參閱 管理 Azure Databricks 預覽。
Databricks 目前不對使用此功能收費。 不過,Beta 版功能的費用與定價可能會有所變動。
Databricks 沙盒讓你能透過 Databricks REST API、SDK 或 Databricks CLI 在隔離環境中執行不受信任的程式碼。 沙盒提供無伺服器、隨需提供的運算資源,以便動態執行程式碼。
每個沙盒都包含一個持久的主目錄。 你可以隨時停止或啟動沙盒,且你家目錄中的資料會持續存在。
沙箱最適合用於:
- 使用特工安全帶。
- 執行使用者撰寫或 AI 撰寫的程式碼。
- 執行背景任務或工作程序。
- 啟動互動式 IDE 或 SSH 會話。
先決條件
你的工作區必須位於支援區域內。 請參閱區域可用性有限的功能。
要使用 SDK,請使用Python 3.10或以上版本。
若要透過 SSH 使用 Databricks CLI,請安裝 Databricks CLI,並使用
databricks auth login進行驗證:databricks auth login # authenticate to a Databricks workspace
快速入門
先從建立一個沙盒開始,只需幾行程式碼:
from databricks.sdk import WorkspaceClient
from databricks.sdk.service.sandbox import Sandbox
w = WorkspaceClient()
created = w.sandbox.create_sandbox(
sandbox=Sandbox(),
sandbox_id="my-sandbox",
)
print(created.name) # "sandboxes/my-sandbox"
想完整了解如何建立沙盒、執行指令以及管理其生命週期,請參考 「用 SDK 建立並管理沙盒」。
計算大小
Databricks Sandbox 配備 4 顆 vCPU 和 8 GB 記憶體。 這個尺寸無法設定。
儲存體
Warning
Beta 期間結束時,Databricks 可能會一次性清除沙盒中儲存的資料。 不要存放任何你無法承受失去的東西。
Databricks Sandbox 附帶網路附加儲存裝置。
- 你家目錄(
/home/sandbox-agent)中的資料會在 Databricks Sandbox 的整個存續期間內持續保留。 即使停止 Databricks Sandbox,在你開始下一個工作階段時,主目錄中的資料仍可使用。 - 你的家庭目錄最多可儲存 100 GB。 目前,這一點無法改變。
- 你可以在家目錄外儲存最多 10 GB,但當你停止沙盒時,這些資料會被刪除。
網路
沙盒網路出口沒有限制,且出口功能無法設定。
使用成本
完整的帳單使用資訊,請參閱 Databricks 定價。 Databricks 預計將對下列項目的沙盒使用量計費:
- 執行時運算:在 Databricks 沙盒運行時按小時計費。
- 持久儲存:在 Databricks 沙盒被刪除之前,你會為儲存在家目錄中的資料收費。 只要 Databricks 沙盒實例存在,儲存裝置就會產生計費。 要停止支付儲存費用,你必須刪除沙盒。
- 資料傳輸
建議透過 SDK 存取沙盒
建議使用 Databricks SDK for Python 來存取沙盒。 請參閱 Databricks SDK for Python 沙盒參考資料以獲得可用指令,以及使用 SDK 建立與管理沙盒作為範例。
透過 CLI 存取沙盒
你也可以透過 SSH 存取你的沙盒。 這對於執行較長的代理任務很有用,且不需要本地機器持續運作。 例如,您可以:
- 透過 SSH 直接從 Databricks CLI 控制你的程式設計代理。
- 連接桌面版 IDE 或代理執行框架,例如 Cursor、Claude 或 Codex。
要建立沙盒並使用 Databricks CLI 連接,請執行:
databricks sandbox create # create your sandbox
databricks sandbox register # optional: register SSH keys
databricks sandbox ssh # SSH to your default sandbox
當你用 SSH 進入沙盒時,Databricks 的 CLI 會被安裝並認證到沙盒正在執行的 Databricks 工作區。 你也可以設定 Git 憑證。 請參閱 將您的 Git 提供者連接至 Databricks。
如需詳細指令協助,請執行 databricks sandbox -h,或參見 sandbox 指令群組。
當你第一次透過 SSH 連線至沙盒時,如果你的工作區已設定 AI Gateway,Databricks 會自動將 Claude 和 Codex 等常見的程式設計工具設定為使用 AI Gateway。 欲了解更多資訊,請參閱建立與管理模型 API(模型服務)。
託管式 Omnigent
Managed Omnigent 使用 Databricks Sandbox 作為執行後端。 欲了解更多資訊,請參閱 Databricks 上的 Omnigent。
局限性
- 配額制度被執行。 每位使用者最多只能有 40 個活躍沙盒(所有州合計 400 個),工作區最多只能有 100 個活躍沙盒(總共 1,000 個)。
- Databricks Sandbox 是用於執行程式碼的計算原語,而非通用的 Spark 執行時。 若為 Spark 工作負載,請使用 連線至無伺服器運算。
- 你的 Databricks 沙盒的公開 IP 位址隨時可能變更。 沙盒的預設入口對所有流量關閉。 此點目前無法更改。
- 你無法在啟動時自訂環境,也無法持久化主目錄以外的環境。 若要在不同會話間重複使用套件或設定,請將它們儲存在你的家庭目錄中。