生命周期

更新时间:
复制 MD 格式

Sandbox 是云沙箱的核心运行对象。应用创建 Sandbox 后,可以在其中执行命令、读写文件、运行代码或启动临时服务。任务完成后,应主动终止 Sandbox。

创建 Sandbox

创建一个 code-interpreter-v1 Sandbox:

import os

from e2b_code_interpreter import Sandbox

sandbox = Sandbox.create(
    template="code-interpreter-v1",
    api_key=os.environ["E2B_API_KEY"],
    api_url=os.environ["E2B_API_URL"],
    domain=os.environ["E2B_DOMAIN"],
)

也可以使用 TypeScript SDK:

import { Sandbox } from "@e2b/code-interpreter";

const sandbox = await Sandbox.create("code-interpreter-v1", {
  apiKey: process.env.E2B_API_KEY,
  apiUrl: process.env.E2B_API_URL,
  domain: process.env.E2B_DOMAIN,
});

Sandbox.create() 支持模板、超时、环境变量和元数据等参数。环境变量和元数据用法参见环境变量元数据

连接 Sandbox

可以通过 Sandbox.connect(sandboxId) 连接已有 Sandbox。如果目标 Sandbox 已暂停,连接时会自动恢复。暂停与恢复功能当前仅对已开通白名单的账号可用。

查询 Sandbox

可以查询当前账号下的 Sandbox,或获取指定 Sandbox 的信息:

  • Sandbox.list():列出 Sandbox。

  • sandbox.getInfo():获取当前 Sandbox 信息。

  • sandbox.isRunning():判断 Sandbox 是否运行中。

终止 Sandbox

任务完成后,主动终止 Sandbox:

sandbox.kill()

设置超时时间

可以通过 sandbox.setTimeout(ms) 调整 Sandbox 超时时间。详见超时

后续阅读