Skip to main content
SandboxJobsRuntimeCapability 通过 platform.sandbox.jobs 暴露 SandboxJobsApi。它在隔离的沙箱运行时中运行已注册、带版本的沙箱操作(Action),并将校验后的输出作为可移植工作区文件引用返回。 插件调用者只能选择 actionactionVersion、结构化载荷、可移植文件和声明的输出。运行时配置(Runtime Profile)、镜像、命令、入口点、环境变量、提供器与引擎选项均由宿主解析并强制执行。 关于操作包(Action Bundle)打包、队列归属和运维配置,另请阅读沙箱任务

API 方法

如果产品功能是否可见取决于运行时,请在展示或入队操作前调用 getActionHealth()

运行沙箱操作

SandboxJobRunInput 包含:
只有操作需要可随机访问的按需读取(例如媒体解码)时才使用 read-only-seekablematerialized 会在执行前校验完整文件并复制到 /workspace/input

状态与进度

持久化状态为 waitingstartingrunningsucceededfailedcancelledlost。快照包含选中的运行时版本、操作版本、尝试次数、提供器和绑定证据、最新结构化进度、校验后输出、时间戳和稳定错误码。 可信操作可使用以下格式输出结构化进度:
常量 SANDBOX_JOB_PROGRESS_PREFIX 提供固定前缀。progress 取值范围为 01stage 应使用稳定、机器可读的名称。

错误与重试策略

run() 失败时会抛出 SandboxJobRuntimeError。动态加载插件可能解析到另一个 SDK 模块实例,因此不要只依赖 instanceof,应使用 isSandboxJobRuntimeError()
稳定错误码覆盖操作、配置、运行时、版本和容量不可用或无效,启动和浏览器失败,超时、内存、媒体、输入输出校验失败,以及取消。重试策略必须依据 retryable,不能匹配错误文本。 导出的 SANDBOX_JOB_ERROR_CODES 列表包含:
健康检查使用另一组 reasonACTION_MISSINGACTION_INVALIDPROFILE_MISSINGVERSION_MISMATCHRUNTIME_UNBOUNDPROVIDER_UNAVAILABLEPROFILE_UNHEALTHY

运维规则

  • 重型操作应从托管队列运行,不要阻塞 HTTP 处理器。
  • 同一份不可变工作重试时保持幂等键不变。
  • 队列状态中只能放结构化 JSON 和可移植文件引用。
  • getActionHealth() 用于产品可用性判断,但 run() 时仍要处理失败,因为运行时健康状态可能变化。
  • 用户需要查看状态、取消或审计时,应在插件业务状态中持久化 jobId
  • 返回的提供器、绑定、运行时和摘要字段属于执行证据,不能用于替下一次任务选择基础设施。