跟踪命令输出
以事件形式返回输出,从任意位置开始,直到命令结束。会唤醒沙箱一次,取回已有的输出(沙箱中没有该 id 时不会唤醒)。之后,打开的事件流不会让任何东西保持运行,沙箱下次运行时事件流会自动继续(如果期间沙箱被迁到另一个节点,事件流会以 error 事件 sandbox_moved 结束,之后通过控制平面带上 Last-Event-ID 请求同一事件流,即可在那里继续);带 wait=true 时,读取方被视为在等待命令,事件流打开期间沙箱会保持运行。
以事件流 (text/event-stream) 返回:事件有 stdout、stderr、gap、exit、end 和 error:见事件流和终端。
所需权限范围:exec,或带 exec 的沙箱令牌。
https://api.glac.ai/v1/sandboxes/{id}/exec/{exec_id}/output授权
路径参数
查询参数
请求头参数
Returns
200
事件流。
400
请求不符合本调用的要求。unknown_parameter:查询中有本调用不接受的参数;invalid_field:某个字段或查询参数类型错误或超出范围。
401
missing_api_key, invalid_api_key, expired_api_key, invalid_token.
403
凭据无权执行此操作。token_scope:沙箱令牌缺少所需的权限范围。spend_limit_reached:沙箱因达到支出上限而被冻结;它会连同数据一起休眠,直到上限提高。
404
请求中指定的对象不存在。sandbox_not_found:沙箱不存在;exec_not_found:沙箱中没有该命令。
409
某个对象的状态不允许此操作。sandbox_failed:沙箱处于 failed 状态。
default
其他任何失败,格式相同。internal (500):节点出错;错误信息不会多说,节点日志中以请求的 id 记录了原因。unavailable(503,可重试):no_capacity,节点的网络槽位都已占用;memory_full,调用需要启动的虚拟机(创建、唤醒、从磁盘启动、恢复、回滚、构建)在宿主机内存中放不下(还要算上已承诺给其上运行的虚拟机的内存),也没有暂停或空闲的虚拟机可以让其休眠来腾出空间(节点的 memory);drive_full,调用需要构建模板,而节点的数据盘没有空间(节点的 drive);unavailable,节点正在关闭、沙箱 10 分钟后仍处于 starting、沙箱没有响应,或者沙箱正在迁到本节点(带 Retry-After: 1);fenced,节点的租约隔离了该沙箱 (Node.lease)。moved (409):沙箱已迁到另一个节点,由 to 指明。