View a markdown version of this page

Ejecución de Shell - Base amazónica AgentCore

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Ejecución de Shell

Amazon Bedrock AgentCore Runtime le permite ejecutar comandos de shell dentro de la sesión de un agente en ejecución. Hay dos modos disponibles en función de su caso de uso:

One-shot ejecución de comandos - InvokeAgentRuntimeCommand

Ejecuta un solo comando HTTP/2, stdout/stderr lo transmite y devuelve el código de salida. Cada comando inicia un nuevo proceso de shell sin un estado persistente. Ideal para canalizaciones, CI/CD puertas y operaciones deterministas automatizadas.

Carcasas interactivas (terminales) - InvokeAgentRuntimeCommandShell

Abre una sesión de terminal persistente WebSocket con el estado completo de la consola (variables de entorno, directorio de trabajo, historial). Soporta la reconexión a través deshellId. Ideal para la depuración, la inspección del entorno y las interfaces de usuario de terminales.

Comparación de funciones

Característica One-shot (InvokeAgentRuntimeCommand) Interactivo (InvokeAgentRuntimeCommandShell)

Protocolo

HTTP/2 (flujo de solicitud-respuesta)

WebSocket (conexión persistente)

Estado de Shell

Sin estado: cada comando inicia un proceso nuevo

Persistente: el entorno, el directorio de trabajo y el historial se transfieren entre los comandos

Formato de salida

Eventos estructurados (contentStart,contentDelta, contentStop con código de salida)

Marcos binarios (terminal sin procesar I/O : admite colores, control del cursor y aplicaciones de pantalla completa)

Reconexión

No, cada llamada es independiente

Sí, mediante shellId

Duración

Tiempo de espera configurable (entre 1 y 3 600 segundos)

1 hora como máximo (vuelve a conectarte con el mismo dispositivo para continuar) shellId

Elegir el modo correcto

Utilice la ejecución de una sola vez cuando... Usa carátulas interactivas cuando...

La operación tiene un comando conocido (npm test,git push)

Necesitas un estado de shell persistente en varios comandos

Quieres una ejecución determinista con un código de salida estructurado

Quieres explorar el entorno de forma interactiva

Está automatizando una etapa de CI/CD canalización o una puerta de validación

Estás creando una interfaz de usuario de terminal (Claude Code, Amazon Kiro, OpenAI Codex)

Cada comando es independiente y no tiene un estado compartido

Necesitas soporte de reconexión para trabajos de larga duración

Estás iniciando el entorno antes de que se inicie el agente

Estás depurando o inspeccionando un agente en ejecución