跳转到内容
本站为社区维护的非官方中文翻译,与 Cloudflare, Inc. 无关联。本站不提供账户登录,请勿在任何非官方站点输入您的 Cloudflare 账户信息。官方文档:developers.cloudflare.com

限制

最后更新 查看 MarkdownAgent 设置

由于 Sandbox SDK 构建在 Containers 平台之上,它共享相同的底层平台特性。请参阅这些页面,了解 sandbox 部署的定价与限制如何运作。

Sandbox 还继承了当前 Containers 的生命周期、放置位置和路由行为。有关更多详情,请参阅容器生命周期和扩缩容与路由。

Container 限制

有关完整详情,请参阅 Containers 限制,包括:

  • 并发 container 实例的内存、vCPU 和磁盘限制
  • 实例类型及其资源分配
  • 镜像大小和存储限制

Workers 和 Durable Objects 限制

当在 Workers 或 Durable Objects 中使用 Sandbox SDK 时,您需要受 Workers 子请求限制 约束。默认情况下,SDK 使用 HTTP 传输,其中每个操作(exec()、readFile()、writeFile() 等)均算作一次子请求。

子请求限制

  • Workers 免费版 (Free):每次请求 50 个子请求
  • Workers 付费版 (Paid):每次请求 1,000 个子请求

使用 RPC 传输方式避免子请求限制

启用 RPC 传输方式,将所有 SDK 调用复用到同一条持久连接上:

{
	"vars": {
		"SANDBOX_TRANSPORT": "rpc"
	},
}
[vars]
SANDBOX_TRANSPORT = "rpc"

启用 RPC 传输方式后:

  • 持久连接只计为一个子请求
  • 所有后续的 SDK 操作均使用现有连接(无额外的子请求)
  • 非常适合每次请求需要进行多次 SDK 操作的工作流

有关完整指南,请参阅传输模式。

最佳实践

在这些限制下工作的最佳实践:

  • 合理选择实例规格 - 根据工作负载要求选择合适的实例类型
  • 清理未使用的 sandbox - 当不再需要 sandbox 会话时将其终止,以释放资源
  • 优化镜像 - 保持自定义 Dockerfile 简洁,以减小镜像大小
  • 对高频操作使用 RPC 传输方式 - 启用 SANDBOX_TRANSPORT=rpc,避免每个请求中大量 SDK 调用触及子请求限制

这篇文档对您有帮助吗?