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
可以通过 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 超时时间。详见超时。
后续阅读
该文章对您有帮助吗?