本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
外壳执行
Amazon Bedrock R AgentCore untime 允许您在正在运行的代理会话中运行 shell 命令。根据您的用例,有两种模式可用:
- One-shot 命令执行-
InvokeAgentRuntimeCommand -
运行单个命令,流式 stdout/stderr 传输 HTTP/2并返回退出代码。每个命令都会启动一个没有持久状态的新的 shell 进程。最适合自动化管道、 CI/CD 门禁和确定性操作。
- 交互式外壳(终端)-
InvokeAgentRuntimeCommandShell -
打开 WebSocket 具有完整外壳状态(环境变量、工作目录、历史记录)的永久终端会话。支持通过
shellId以下方式重新连接。最适合调试、环境检查和终端用户界面。
功能对比
| 功能 | One-shot (InvokeAgentRuntimeCommand) |
互动 (InvokeAgentRuntimeCommandShell) |
|---|---|---|
|
协议 |
HTTP/2 (请求-响应流) |
WebSocket (持续连接) |
|
壳牌状态 |
无状态 — 每个命令都会启动一个新的进程 |
持久 — 环境、工作目录和历史记录贯穿命令 |
|
输出格式 |
结构化事件( |
二进制帧(原始终端 I/O — 支持颜色、光标控制、全屏应用程序) |
|
重新连接 |
不是 — 每个呼叫都是独立的 |
是的,通过 |
|
Duration |
可配置的超时(1—3,600 秒) |
最多 1 小时(重新连接 |
选择正确的模式
| 在... 时使用一次性执行 | 在... 时使用交互式外壳 |
|---|---|
|
该操作有一个已知的命令 ( |
你需要在多个命令中保持持久的 shell 状态 |
|
你想要使用结构化退出代码进行确定性执行 |
你想以交互方式探索环境 |
|
你正在自动执行 CI/CD 管道步骤或验证门 |
你正在构建终端用户界面(Claude Code、Amazon Kiro、OpenAI Codex) |
|
每个命令都是独立的,没有共享状态 |
长时间运行的工作需要重新连接支持 |
|
你是在代理启动之前启动环境 |
你正在调试或检查正在运行的代理 |