全部产品
Search
文档中心

函数计算:E2B 兼容说明

更新时间:Sep 16, 2026

本文集中说明云沙箱对 E2B SDK 和 E2B CLI 的兼容范围。其它开始使用文档只保留最小接入步骤,接口边界集中在本文维护。

使用约束参见使用约束

兼容范围总览

能力模块

兼容状态

说明

Sandbox

兼容(暂停与恢复需加入白名单)

支持创建、连接、查询、超时设置、暂停、终止、上传下载地址和端口访问地址。

Commands

兼容

支持命令执行、运行中进程管理、标准输入和 PTY。

Filesystem

部分兼容

支持文件读写、目录管理、重命名、删除、存在性检查和目录监听。云沙箱当前不支持文件自定义元数据。

Code Interpreter

兼容

支持代码执行、上下文管理、执行输出、流式输出和多次执行之间的状态保持。图表只支持生成文件后通过 Filesystem 或下载 URL 取回。

Template

兼容

支持模板管理、模板构建、标签和别名。

CLI

部分兼容

支持常用 Sandbox 和 Template 命令。

Metrics

兼容

支持查看 CPU、内存指标;磁盘/页缓存字段会返回占位值,暂不可用。

Logs / Network Config Update

受限

接口可调用,但返回结果或实际效果存在限制。

Snapshots

兼容(需加入白名单)

支持创建、列表、删除,以及从 Snapshot ID / 全名恢复沙箱。仅第二代运行时(micro-sandbox)可用;自创建起默认保留 7 天。

Volume / Access Token

暂不兼容

不建议作为云沙箱接入路径使用。Team 请在控制台管理。

兼容 API

Sandbox

暂停与恢复功能当前仅对已开通白名单的账号可用。请先完成白名单开通,再调用 sandbox.pause() 或连接已暂停的 Sandbox。

Snapshot 功能同样仅对已开通白名单的账号可用,且仅支持第二代运行时(micro-sandbox)。请先完成白名单开通,再调用 Snapshot 相关接口。

支持以下 Sandbox 生命周期和访问能力:

  • Sandbox.create()

  • Sandbox.connect(sandboxId)

  • Sandbox.list()

  • Sandbox.getInfo(sandboxId)

  • Sandbox.kill(sandboxId)

  • Sandbox.setTimeout(sandboxId, ms)

  • sandbox.getInfo()

  • sandbox.isRunning()

  • sandbox.setTimeout(ms)

  • sandbox.pause()

  • sandbox.kill()

  • sandbox.downloadUrl(path)

  • sandbox.uploadUrl(path)

  • sandbox.getHost(port)

  • sandbox.createSnapshot({ name? }) / Sandbox.createSnapshot(sandboxId, { name? })

  • Sandbox.listSnapshots({ sandboxId?, name?, limit?, nextToken? })

  • Sandbox.deleteSnapshot(snapshotId | qualifiedName)

  • Python:sandbox.create_snapshot(name=...) / Sandbox.create_snapshot(sandbox_id, name=...)Sandbox.list_snapshots(...)Sandbox.delete_snapshot(snapshot_id | qualified_name)

Sandbox.connect(sandboxId) 可连接已有 Sandbox。如果目标 Sandbox 已暂停,连接时会自动恢复。

Sandbox.create() 的模板参数除模板名 / 模板 ID 外,还可以是 Snapshot ID 或已命名 Snapshot 的全名。

Commands

支持以下命令执行和进程管理能力:

  • sandbox.commands.run()

  • sandbox.commands.list()

  • sandbox.commands.connect()

  • sandbox.commands.sendStdin()

  • sandbox.commands.kill()

交互式终端和依赖 TTY 的任务使用 sandbox.pty API。

Filesystem

支持以下文件系统能力:

  • sandbox.files.list()

  • sandbox.files.exists()

  • sandbox.files.getInfo() / sandbox.files.get_info()

  • sandbox.files.read()

  • sandbox.files.write()

  • sandbox.files.makeDir() / sandbox.files.make_dir()

  • sandbox.files.remove()

  • sandbox.files.rename()

  • sandbox.files.watchDir() / sandbox.files.watch_dir()

sandbox.files.write() 支持写入文本、二进制内容和流式内容。目录监听适合等待 Agent 输出文件或同步任务产物。

云沙箱当前不支持通过 metadata 参数附加文件自定义元数据。以 Python SDK e2b==2.31.0 为例,方法签名虽然接受 metadata,但 SDK 检测到 Sandbox 使用 envd 0.5.2 后,会在发送写入请求前抛出 TemplateException: File metadata requires envd 0.6.2 or later.普通文件写入和读取不受影响。不要把 Sandbox 控制面 metadata 与文件自定义元数据混淆;前者仍可用于标记和查询 Sandbox。

Code Interpreter

支持代码解释器核心能力:

  • sandbox.runCode() / sandbox.run_code()

  • sandbox.createCodeContext() / sandbox.create_code_context()

  • sandbox.listCodeContexts() / sandbox.list_code_contexts()

  • sandbox.restartCodeContext() / sandbox.restart_code_context()

  • sandbox.removeCodeContext() / sandbox.remove_code_context()

  • 执行结果输出,包括 stdout、stderr、execution count、裸表达式结果和 execution.results 富结果。

  • 流式输出场景下的 stdout、stderr 和结果回调。

  • 多次代码执行之间的变量和上下文状态保持。

  • 通过 language 参数执行 Python、JavaScript、TypeScript 和 Bash。不支持 Java 和 R。

图表与可视化当前只支持文件降级方案:在 Sandbox 内生成图片文件后,通过 Filesystem 或下载 URL 取回。

Template

支持以下模板能力:

  • Template CRUD。

  • Template Build。

  • Template Tags。

  • Template Alias。

当前模板构建支持从镜像创建模板。具体使用方式参见构建和管理模板

CLI

云沙箱兼容 E2B CLI 的常用 Sandbox 命令,并扩展部分 Template 管理命令:

命令

云沙箱兼容状态

说明

sandbox create <template>

支持

创建沙箱并连接交互式终端,退出终端后自动终止该沙箱。

sandbox list

支持

默认返回运行中的沙箱,可使用 --state--metadata--limit--format

sandbox kill

支持

支持按 ID 终止,也支持 --all 批量终止。

sandbox connect

支持

连接已有沙箱并打开交互式终端;退出终端不会自动终止沙箱。

sandbox exec

支持

在运行中的沙箱内执行命令,并将输出返回到本地终端。

sandbox metrics

支持

查看运行中沙箱的 CPU、内存指标;当前按分钟级粒度返回。

template list

云沙箱扩展能力

E2B 官方 CLI 文档未单独说明该命令,接入时以本地 CLI 帮助为准。

新版本 E2B CLI 使用 E2B_API_KEY 认证。配置方式参见通过 CLI 使用云沙箱

Metrics

支持查看 Sandbox 指标:

e2b sandbox metrics <sandbox-id>

当前支持 CPU、内存指标;磁盘/页缓存字段会返回占位值,不建议用于容量判断。数据当前按分钟级粒度返回,适合调试、观察资源使用趋势和排查任务状态。计费、告警和容量治理应以函数计算控制台、云监控或日志服务中的正式数据为准。

受限能力

  • Sandbox Logs:当前返回空数组。

  • Network Config Update:当前返回成功,但不进行实际网络变更。

这些接口可以用于保持 SDK 调用兼容,但不适合作为生产日志采集或网络变更的控制面依赖。

暂不兼容能力

以下能力当前不属于云沙箱 E2B 兼容主路径:

  • Volume API。

  • Team 管理(请在函数计算控制台管理 Team)。

  • API Key / Access Token 管理。

  • 文件自定义元数据。

需要持久化存储或云上数据访问时,请先使用 NAS、OSS 等云存储方案。API Key 请在函数计算控制台创建和管理,不通过 E2B SDK 管理。具体操作参见创建 API Key

VPC、OSS、日志采集、监控告警等能力属于云沙箱FC Extensions(云上扩展),不属于 E2B SDK 原生兼容接口。

FC Extensions 扩展能力

除 E2B 兼容外,云沙箱 还通过 FC Extensions(云上扩展)提供以下能力,用于接入函数计算和阿里云基础设施。这些能力不改变 E2B SDK / CLI 的基本使用方式:

  • FC Extensions 概览:扩展能力总览与各子能力的使用入口。

  • VPC 网络配置:让 Sandbox 访问专有网络中的 RDS、Redis、NAS、内网 API 等资源。

  • 云沙箱自定义域名:通过固定的自有域名和自有证书访问 Sandbox 中的服务。

  • 动态挂载 OSS:创建 Sandbox 时将 OSS Bucket 或子目录挂载到 Sandbox 内的本地目录。

  • 监控与日志:查看 Sandbox 运行状态和资源使用,并将 stdout / stderr 日志采集到日志服务。

  • Team 配额管理:按 Team 设置 CPU 和内存资源配额,实现资源隔离与成本控制。

  • 创建 OSS Volume:保存已有 OSS Bucket 的挂载配置,创建 Sandbox 时可按 Volume 名称挂载。

  • 创建 AgenticFS Volume:保存已有 AgenticFS 接入点的挂载配置,创建 Sandbox 时可按 Volume 名称挂载。

迁移建议

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

  • 先用 code-interpreter-v1 和最小 Sandbox 示例验证创建、命令执行、文件读写和释放资源。

  • 对依赖高频 Metrics、Logs、Network Config Update、Volume 或文件自定义元数据的应用,需要先调整设计,不要按 E2B 原路径直接迁移。

  • 生产代码应显式调用 sandbox.kill(),避免 Sandbox 长时间占用资源。

后续阅读