View a markdown version of this page

Esecuzione della shell - Amazon Bedrock AgentCore

Esecuzione della shell

Amazon Bedrock AgentCore Runtime consente di eseguire comandi shell all'interno della sessione di un agente in esecuzione. Sono disponibili due modalità a seconda del caso d'uso:

One-shot esecuzione del comando - InvokeAgentRuntimeCommand

Esegue un singolo comando, esegue lo streaming stdout/stderr e restituisce il codice di uscita. HTTP/2 Ogni comando avvia un nuovo processo di shell senza uno stato persistente. Ideale per pipeline automatizzate, CI/CD gate e operazioni deterministiche.

Shell interattivi (terminali) - InvokeAgentRuntimeCommandShell

Apre una sessione terminale persistente WebSocket con lo stato completo della shell (variabili di ambiente, directory di lavoro, cronologia). Supporta la riconnessione tramiteshellId. Ideale per il debug, l'ispezione dell'ambiente e le interfacce utente dei terminali.

Confronto delle funzionalità

Funzionalità One-shot (InvokeAgentRuntimeCommand) Interattivo (InvokeAgentRuntimeCommandShell)

Protocollo

HTTP/2 (flusso di richiesta-risposta)

WebSocket (connessione persistente)

Stato della shell

Stateless: ogni comando avvia un nuovo processo

Persistente: ambiente, directory di lavoro e cronologia vengono trasferiti tra i comandi

Formato di output

Eventi strutturati (contentStart,contentDelta, contentStop con codice di uscita)

Frame binari (terminale raw I/O : supporta colori, controllo del cursore, app a schermo intero)

Riconnessione

No, ogni chiamata è indipendente

Sì, tramite shellId

Durata

Timeout configurabile (1—3.600 secondi)

1 ora al massimo (riconnettersi allo stesso per continuare) shellId

Scegliere la modalità giusta

Usa l'esecuzione in un colpo solo quando... Usa shell interattive quando...

L'operazione ha un comando noto (npm test,git push)

È necessario uno stato persistente della shell su più comandi

Vuoi un'esecuzione deterministica con un codice di uscita strutturato

Vuoi esplorare l'ambiente in modo interattivo

Stai automatizzando una fase della CI/CD pipeline o una porta di convalida

Stai creando un'interfaccia utente terminale (Claude Code, Amazon Kiro, OpenAI Codex)

Ogni comando è indipendente senza uno stato condiviso

È necessario il supporto per la riconnessione per lavori di lunga durata

Stai avviando l'ambiente prima che l'agente si avvii

Stai eseguendo il debug o ispezionando un agente in esecuzione