View a markdown version of this page

Esecuzione della shell - Fondamento Amazon AgentCore

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esecuzione della shell

Amazon Bedrock AgentCore Runtime ti consente di eseguire comandi di 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, trasmette stdout/stderr in HTTP/2 streaming e restituisce il codice di uscita. 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 richiesta-risposta)

WebSocket (connessione persistente)

Stato della shell

Stateless: ogni comando avvia un nuovo processo

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

Formato di output

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

Cornici binarie (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 (riconnettiti con lo 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 della shell persistente su più comandi

Volete 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 un gate di convalida

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

Ogni comando è indipendente e non ha 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