View a markdown version of this page

Shell 執行 - Amazon Bedrock AgentCore

Shell 執行

Amazon Bedrock AgentCore 執行期可讓您在執行中的代理程式工作階段內執行 shell 命令。根據您的使用案例,有兩種模式可用:

One-shot 命令執行 - InvokeAgentRuntimeCommand

執行單一命令、透過 HTTP/2 串流 stdout/stderr,並傳回結束碼。每個命令都會啟動沒有持久性狀態的新 shell 程序。最適合自動化管道、CI/CD 閘道和確定性操作。

互動式 shell (終端機) - InvokeAgentRuntimeCommandShell

透過具有完整 shell 狀態的 WebSocket 開啟持久性終端機工作階段 (環境變數、工作目錄、歷史記錄)。支援透過 重新連線shellId。最適合用於偵錯、環境檢查和終端機 UIs。

功能比較

功能 一次性拍攝 (InvokeAgentRuntimeCommand) 互動式 (InvokeAgentRuntimeCommandShell)

通訊協定

HTTP/2 (request-response 串流)

WebSocket (持續連線)

Shell 狀態

無狀態 — 每個命令都會啟動新的程序

持久性 — 環境、工作目錄和歷史記錄跨命令攜帶

輸出格式

結構化事件 (contentStartcontentDeltacontentStop具有結束碼)

二進位影格 (原始終端機 I/O — 支援顏色、游標控制、全螢幕應用程式)

重新連線

否 — 每個呼叫都是獨立的

是,透過 shellId

持續時間

可設定的逾時 (1–3,600 秒)

最長 1 小時 (以相同的 重新連線shellId以繼續)

選擇正確的模式

在下列情況下使用一次性執行: 使用互動式 shell 時...

操作具有已知命令 (npm testgit push)

您需要跨多個命令的持久性 shell 狀態

您想要使用結構化結束程式碼來確定性執行

您想要以互動方式探索環境

您正在自動化 CI/CD 管道步驟或驗證閘道

您正在建置終端機 UI (Claude Code、Amazon Kiro、OpenAI Codex)

每個命令都是獨立的,沒有共用狀態

您需要對長時間執行的工作提供重新連線支援

您在代理程式啟動之前引導環境

您正在偵錯或檢查執行中的代理程式