执行 Shell 命令

需要实例为 RUNNING,且 offering 声明 exec 能力。前台命令的非零 exitCode 是远端命令失败, 不等同于 HTTP 失败。需要启动 Web 服务等长驻进程时可传 background=true,但必须先确认 offering.capabilities.backgroundExec=true;此时响应表示后台会话已接受,不代表进程已经监听端口。

Authentication

XAPI-Keystring

在 xAPI Console 创建的 API Key。只会发送给 *.xapi.to。

Path parameters

idstringRequiredformat: "uuid"

xAPI Sandbox 实例 UUID。

Request

This endpoint expects an object.
commandstringRequired1-100000 characters

传给供应商 Shell 的完整命令。不要把 XAPI-Key 或其他密钥拼进命令或输出。

cwdstringOptional<=4096 characters

命令工作目录;省略时使用 offering/适配器的默认工作区。

envmap from strings to stringsOptional

仅对本次命令生效的环境变量映射;敏感值可能进入供应商进程环境,应谨慎使用。

timeoutSecondsintegerOptional1-3600Defaults to 60

远端命令最长执行秒数;超时会停止等待并记录失败,不会自动销毁整个 Sandbox。

backgroundbooleanOptionalDefaults to false

true=在供应商托管的异步会话中启动命令并立即返回,适合监听端口的 Web 服务; 仅当 offering.capabilities.backgroundExec=true 时可用。不要用 shell 的 nohup/& 替代: 部分供应商会在前台 exec 请求结束时回收该命令会话及其子进程。

Response

命令结果

exitCodeinteger

前台命令的远端进程退出码。background=true 时 0 仅表示后台会话已接受,不能证明进程已就绪或最终成功。

stdoutstring

命令标准输出。可能为空,也可能因输出上限被截断。

stderrstring

命令标准错误。非空不一定失败,最终同时判断 exitCode。

truncatedbooleanOptional

stdout 或 stderr 是否超过响应上限而被截断;为 true 时完整制品应写入文件再下载。

backgroundobjectOptional

仅 background=true 时返回的供应商托管会话标识;用于审计和问题定位,不是公开访问凭证。

Errors

400
Bad Request Error
404
Not Found Error
409
Conflict Error