列出沙箱

更新时间:
复制 MD 格式

列出沙箱用于查看当前账号下仍在运行或可连接的沙箱,适合做运维排查、资源清理和任务恢复。

查询沙箱列表

import { Sandbox } from "e2b";

const paginator = Sandbox.list({
  apiKey: process.env.E2B_API_KEY,
  apiUrl: process.env.E2B_API_URL,
  domain: process.env.E2B_DOMAIN,
});

while (paginator.hasNext) {
  const sandboxes = await paginator.nextItems();
  for (const sandbox of sandboxes) {
    console.log(sandbox.sandboxId, sandbox.state);
  }
}

Python 示例:

import os

from e2b import Sandbox

paginator = Sandbox.list(
    api_key=os.environ["E2B_API_KEY"],
    api_url=os.environ["E2B_API_URL"],
    domain=os.environ["E2B_DOMAIN"],
)

while paginator.has_next:
    for sandbox in paginator.next_items():
        print(sandbox.sandbox_id, sandbox.state)

不同 SDK 版本的分页对象形态可能不同。编写业务代码时,建议优先使用 SDK 提供的迭代方式,而不是假设返回值一定是数组。

查询当前沙箱信息

const info = await sandbox.getInfo();
console.log(info.sandboxId);
console.log(info.templateId);
console.log(info.metadata);

Python 示例:

info = sandbox.get_info()
print(info.sandbox_id)
print(info.template_id)
print(info.metadata)

使用建议

列表接口适合做管理面能力,不建议在高频业务请求中反复调用。业务侧应保存自己的任务 ID 与 sandboxId 映射,避免用全量列表反查业务状态。