E2B 兼容与迁移

更新时间:
复制 MD 格式

已有 E2B 应用如何接入云沙箱?

优先保持 E2B SDK 调用方式不变,只替换 API Key、API URL 和域名。

export E2B_API_KEY="<your-api-key>"
export E2B_API_URL="https://api.<region>.e2b.fc.aliyuncs.com"
export E2B_DOMAIN="<region>.e2b.fc.aliyuncs.com"

替换后先验证四件事:创建 Sandbox、执行命令、读写文件、释放资源。不要一开始就迁移复杂模板、网络和存储逻辑。

为什么官方 E2B 示例不需要配置 Endpoint?

E2B 官方示例默认访问 E2B 服务。云沙箱是 FC 侧 E2B 兼容端点,因此必须显式配置 E2B_API_URLE2B_DOMAIN

E2B_API_URLE2B_DOMAIN、模板和 Sandbox 需要属于同一地域。地域不一致时,常见现象是创建失败、连接失败或模板找不到。

E2B CLI 还需要配置 E2B_ACCESS_TOKEN 吗?

不建议新接入流程继续配置 E2B_ACCESS_TOKEN。该变量是 E2B 已废弃的旧认证变量,新版本 E2B CLI 应使用 E2B_API_KEY

export E2B_API_KEY="<your-api-key>"

如果 SDK 可用但 CLI 不可用,请优先检查 CLI 版本、E2B_API_KEYE2B_API_URLE2B_DOMAIN

云沙箱是否完全等同于 E2B?

不是。云沙箱提供 E2B SDK 友好的开发体验,已有 E2B 应用可用较低改造成本接入云沙箱。

除 E2B 兼容 API 外,云沙箱还提供 VPC 配置、动态挂载 OSS、监控与日志、Team 配额等 FC Extensions(云上扩展)。这些能力不属于 E2B SDK 原生接口,使用前应确认当前已开放的配置入口和适用范围。

迁移时仍要按当前已开放能力判断。涉及 Snapshot、Volume、Team、Access Token 管理、Logs、Network Config Update、高频 Metrics 或云上增强能力时,应先查E2B 兼容说明,或联系产品/销售确认当前支持范围、开通方式和使用边界。

API Key 能通过 E2B SDK 管理吗?

不能。云沙箱 API Key 由函数计算控制台创建和管理,不通过 E2B SDK 管理。具体操作参见创建 API Key

生产环境应按应用、环境或工作空间隔离 API Key。不要把完整 API Key 写入代码、模板、日志、命令输出、下载文件或前端页面。

Python 和 TypeScript 示例为什么参数名不同?

这是 SDK 语言风格差异。Python 常见参数是 api_keyapi_url,TypeScript 常见参数是 apiKeyapiUrl

排查时以当前语言 SDK 的类型定义和示例为准,不要把另一个语言的字段名直接复制过来。

迁移后创建成功,但 run_code 或端口访问失败怎么办?

先确认使用的是 e2b-code-interpreter@e2b/code-interpreter SDK。通用 e2b SDK 只能使用文件、命令和进程等基础能力,即使指定 code-interpreter-v1 模板也不能调用 run_code / runCode

确认 SDK 后,再用内置 code-interpreter-v1 模板验证代码执行、命令执行和文件读写。如果内置模板正常,自定义模板需要重点检查 Code Interpreter 依赖、启动命令、监听端口和就绪条件。

E2B 的 Volume、Storage、Snapshot 能直接迁移吗?

不要默认直接迁移。Volume 和 Snapshot 当前不属于云沙箱的 E2B 兼容路径。

需要持久化或共享文件时,使用 NAS、OSS 等外部存储方案。云沙箱已提供动态挂载 OSS 的 FC Extensions;其它存储挂载或 FUSE 方案应先确认是否已正式开放,再调整迁移设计。