Important
此功能在 Beta 版中。 要在工作区中启用此功能预览,请选择在工作区预览页面启用 Databricks沙盒 设置。 请参阅 Manage Azure Databricks 预览版。
Databricks目前不对使用此功能收费。 不过,测试版功能的成本和定价可能会有所调整。
Databricks 沙盒允许您通过 Databricks REST API、SDK 或 Databricks CLI 在隔离环境中运行不受信任的代码。 沙箱提供无服务器的按需计算,支持动态运行代码。
每个沙盒都包含一个持久的主目录。 你可以随时停止和启动沙盒,而且主目录中的数据会保留。
沙盒的理想用途:
- 运行智能体工具。
- 执行用户编写或AI编写的代码。
- 运行后台任务或工人。
- 启动交互式IDE或SSH会话。
Prerequisites
工作区必须位于受支持的区域中。 请参阅区域可用性受限的功能。
要使用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
在测试阶段结束时,Databricks 可能会一次性清理沙箱中存储的数据。 不要储存任何你无法承受失去的东西。
Databricks Sandbox 自带网络附加存储。
- 你家目录
/home/sandbox-agent()中的数据会在Databricks沙盒的整个生命周期内持续存在。 即使停止了Databricks沙盒,下一次会话开始时,主目录中的数据依然可用。 - 你的家庭目录最多可以存储100GB。 目前,这一点无法改变。
- 你可以在主目录外存储最多10 GB,但当你停止沙箱时,这些数据会被删除。
网络
沙箱中的网络出口没有限制,出口也不可配置。
使用成本
完整的计费使用信息,请参见 Databricks定价。 Databricks 预计将对以下沙盒用量收费:
- 运行时计算:在Databricks沙箱运行时按小时计费。
- 持久存储:在Databricks沙箱被删除之前,你会为存储在家目录中的数据计费。 只要 Databricks 沙盒实例存在,就会产生存储费用。 要停止支付存储费用,必须删除沙盒。
- 数据传输
通过SDK访问沙盒(推荐)
Databricks Python SDK 是访问沙盒的推荐方式。 有关可用命令,请参阅 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
托管 Omnigent 使用 Databricks Sandbox 作为执行后端。 有关更多信息,请参见 Databricks 上的 Omnigent。
局限性
- 配额已强制执行。 每个用户最多可以有40个活跃沙盒(所有州共400个),一个工作区最多有100个活跃沙盒(总共1000个)。
- Databricks Sandbox 是运行代码的计算原语,而不是通用的 Spark 运行时。 对于 Spark 工作负载,使用 连接到无服务器计算。
- 你的Databricks沙盒的公共IP地址随时可能更改。 沙盒的默认入口对所有流量关闭。 目前无法更改这一点。
- 你不能在启动时自定义环境,也无法持久化主目录以外的环境。 要在会话间重复使用包或配置,请将它们存储在你的主目录中。