Databricks 沙盒

Important

此功能在 Beta 版中。 要在工作区中启用此功能预览,请选择在工作区预览页面启用 Databricks沙盒 设置。 请参阅 Manage Azure Databricks 预览版

Databricks目前不对使用此功能收费。 不过,测试版功能的成本和定价可能会有所调整。

Databricks 沙盒允许您通过 Databricks REST API、SDK 或 Databricks CLI 在隔离环境中运行不受信任的代码。 沙箱提供无服务器的按需计算,支持动态运行代码。

每个沙盒都包含一个持久的主目录。 你可以随时停止和启动沙盒,而且主目录中的数据会保留。

沙盒的理想用途:

  • 运行智能体工具。
  • 执行用户编写或AI编写的代码。
  • 运行后台任务或工人。
  • 启动交互式IDE或SSH会话。

Prerequisites

快速入门

开始创建一个包含几行代码的沙盒:

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 沙盒实例存在,就会产生存储费用。 要停止支付存储费用,必须删除沙盒。
  • 数据传输

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地址随时可能更改。 沙盒的默认入口对所有流量关闭。 目前无法更改这一点。
  • 你不能在启动时自定义环境,也无法持久化主目录以外的环境。 要在会话间重复使用包或配置,请将它们存储在你的主目录中。