View a markdown version of this page

Exécution de Shell - Amazon Bedrock AgentCore

Exécution de Shell

Amazon Bedrock AgentCore Runtime vous permet d'exécuter des commandes shell dans la session d'un agent en cours d'exécution. Deux modes sont disponibles en fonction de votre cas d'utilisation :

One-shot exécution de commandes - InvokeAgentRuntimeCommand

Exécute une seule commande HTTP/2, stdout/stderr diffuse et renvoie le code de sortie. Chaque commande lance un nouveau processus shell sans état persistant. Idéal pour les pipelines automatisés, les CI/CD vannes et les opérations déterministes.

Coques interactives (terminaux) - InvokeAgentRuntimeCommandShell

Ouvre une session de terminal persistante WebSocket avec l'état complet du shell (variables d'environnement, répertoire de travail, historique). Supporte la reconnexion viashellId. Idéal pour le débogage, l'inspection de l'environnement et les interfaces utilisateur des terminaux.

Comparaison des fonctionnalités

Fonctionnalité One-shot (InvokeAgentRuntimeCommand) Interactif (InvokeAgentRuntimeCommandShell)

Protocole

HTTP/2 (flux demande-réponse)

WebSocket (connexion persistante)

État de la coque

Stateless : chaque commande lance un nouveau processus

Persistant : l'environnement, le répertoire de travail et l'historique transfèrent les commandes

Format de sortie

Événements structurés (contentStart,contentDelta, contentStop avec code de sortie)

Cadres binaires (terminal brut I/O  : prend en charge les couleurs, le contrôle du curseur, les applications en plein écran)

Reconnexion

Non, chaque appel est indépendant

Oui, via shellId

Duration

Délai d'expiration configurable (1 à 3 600 secondes)

1 heure maximum (reconnectez-vous à la même adresse shellId pour continuer)

Choisir le bon mode

Utilisez l'exécution en un coup lorsque... Utilisez des shells interactifs lorsque...

L'opération comporte une commande connue (npm test,git push)

Vous avez besoin d'un état de shell persistant pour plusieurs commandes

Vous souhaitez une exécution déterministe avec un code de sortie structuré

Vous souhaitez explorer l'environnement de manière interactive

Vous automatisez une étape du CI/CD pipeline ou une porte de validation

Vous créez une interface utilisateur pour un terminal (Claude Code, Amazon Kiro, OpenAI Codex)

Chaque commande est indépendante et n'a aucun état partagé

Vous avez besoin d'une assistance à la reconnexion pour un travail de longue durée

Vous amorcez l'environnement avant que l'agent ne démarre

Vous êtes en train de déboguer ou d'inspecter un agent en cours d'exécution