View a markdown version of this page

Risoluzione dei problemi relativi alla distribuzione diretta del codice - Amazon Bedrock AgentCore

Risoluzione dei problemi relativi alla distribuzione diretta del codice

Problemi e soluzioni comuni per iniziare a usare la distribuzione AgentCore diretta del codice di Amazon Bedrock. Per ulteriori informazioni sulla risoluzione dei problemi, consulta Risoluzione dei problemi di Amazon AgentCore Bedrock Runtime.

AccessDenied: autorizzazioni S3 insufficienti

In questo caso: durante la creazione o l'aggiornamento dell'agente con artefatto compresso in S3 tramite console, SDK o CLI

Perché ciò accade: il ruolo utilizzato per la chiamata Create/UpdateAgentRuntime non dispone di GetObject autorizzazioni s3: su S3 uri trasmesse nell'input dell'API.

Soluzione: aggiungi s3: GetObject autorizzazione nel ruolo utilizzata per chiamare l'API Agentcore Runtime. create/update

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::your-bucket-name/*" } ] }

AccessDenied: accesso agli oggetti S3 crittografati con CMK

Quando ciò si verifica: durante la creazione di agenti con oggetti CMK-encrypted S3, quando il ruolo di esecuzione non dispone delle autorizzazioni di decrittografia KMS.

Perché ciò accade: il ruolo usato per chiamare Create/UpdateAgentRuntime non dispone delle autorizzazioni KMS:Decrypt sulla CMK utilizzata per crittografare l'oggetto S3 contenente il codice dell'agente.

Soluzione: aggiungi l'autorizzazione KMS:Decrypt al ruolo per la CMK specifica:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "kms:Decrypt" ], "Resource": [ "arn:aws:s3:::your-bucket-name/*", "arn:aws:kms:us-west-2:your-account:key/your-cmk-key-id" ] } ] }

CREATE_FAILED: compatibilità del pacchetto di codice

In questo caso: durante la creazione o l'aggiornamento dell'agente con pacchetti di codice incompatibili (architettura, versione della lingua o formato del pacchetto errati).

Perché ciò accade: il file ZIP caricato contiene file binari compilati per un'architettura errata (ARM64 vs x86_64), una versione linguistica incompatibile o una struttura di pacchetto errata che non soddisfa i requisiti di Runtime. AgentCore

Soluzione::

Per risolvere il problema:

  1. Assicurati che il codice sia compilato per arm64.

  2. Usa una versione linguistica compatibile (controlla le versioni supportate da AgentCore Runtime).

  3. Verifica che la struttura ZIP contenga punti di ingresso e dipendenze corretti.

  4. Ricostruisci i pacchetti in un ambiente di runtime compatibile.

Indicatori di errore:

  • Stato dell'agente: CREATE_FAILED o errori di runtime

  • Importa errori o messaggi «impossibile eseguire il file binario» nei log di cloudwatch

  • Eventuali errori di mancata corrispondenza dell'architettura. AgentRuntimeEndpoint

Incompatibilità binaria ARM64

Quando ciò si verifica: durante la creazione dell'agente, quando lo ZIP contiene file binari nativi compilati per un'architettura non ARM64.

Perché ciò accade: AgentCore Runtime supporta solo l'architettura del set di istruzioni arm64. Il servizio esegue la scansione di tutti i file binari nativi del pacchetto di distribuzione (.sofile per Python e .so entrambi .node e file per) e convalida le relative intestazioni ELF Node.js per la compatibilità con ARM64. Se viene compilato un file binario per x86_64, macOS (Mach-O) o un'altra architettura, la convalida fallisce.

Soluzione::

  • Python: da usare uv pip install --python-platform aarch64-manylinux2014 --only-binary=:all: per scaricare ruote compatibili con arm64.

  • Node.js: Installa i moduli nativi su una macchina arm64 o usali. npm install --arch=arm64 --platform=linux

  • In alternativa, crea le tue dipendenze su un'istanza AWS Graviton-based Amazon EC2 per garantire la compatibilità arm64.

Indicatore di errore: "Your artifact contains binary files that are incompatible with Linux ARM64."

Punto di ingresso mancante

In questo caso: durante la creazione dell'agente quando il file del punto di ingresso specificato non esiste nel file ZIP.

Perché ciò accade: il percorso del file del punto di ingresso specificato nella entryPoint configurazione non corrisponde a nessun file nel pacchetto di distribuzione. Ciò può accadere se il file non è stato incluso nello ZIP, se il percorso è digitato in modo errato o se la struttura ZIP è diversa da quella prevista.

Soluzione::

  • Verifica che il file del punto di ingresso esista nel tuo ZIP: unzip -l deployment_package.zip | grep app.js

  • Assicurati che il percorso in ingresso entryPoint corrisponda al percorso del file all'interno dello ZIP (incluse eventuali sottodirectory come src/app.js o) dist/index.js

  • Per gli agenti Python, il punto di ingresso deve terminare con.py; per Node.js gli agenti, deve terminare con .js

Indicatore di errore: "The specified entrypoint could not be found or accessed in your artifact."

Node.js Dichiarazione engines.node incompatibile

Quando ciò si verifica: durante la creazione Node.js dell'agente, quando la tua package.json o una dipendenza comune dichiara un engines.node intervallo che esclude la versione di destinazione. Node.js

Perché questo accade: AgentCore Runtime controlla il engines.node campo nella directory principale package.json e nelle dipendenze comuni. Se l'intervallo di versioni esclude la Node.js versione di destinazione (ad esempio, <18 o >=14 <18 quando si esegue la distribuzione su Node.js 22), la creazione dell'agente non riesce.

Soluzione::

  • Aggiorna il engines.node campo in package.json modo da includere la Node.js versione di destinazione (ad esempio,) ">=18"

  • Aggiorna eventuali dipendenze incompatibili con una versione che supporti la versione di destinazione Node.js

  • Rimuovi il engines campo se non è obbligatorio

Indicatore di errore: "Your artifact contains dependencies with engines.node declarations incompatible with the target Node.js version."

Node.js Pacchetto OTEL mancante

In questo caso: durante la creazione Node.js dell'agente, quando si specifica opentelemetry-instrument nel punto di ingresso, ma il pacchetto ADOT non è incluso nello ZIP.

Perché ciò accade: quando si utilizza"entryPoint": ["opentelemetry-instrument", "app.js"], AgentCore Runtime si aspetta che il pacchetto @aws/aws-distro-opentelemetry-node-autoinstrumentation npm sia presente node_modules/ all'interno del pacchetto di distribuzione.

Soluzione::

Installa il pacchetto ADOT prima di impacchettare il tuo ZIP:

npm install @aws/aws-distro-opentelemetry-node-autoinstrumentation zip -r deployment_package.zip app.js node_modules/ package.json

In alternativa, rimuovi il opentelemetry-instrument prefisso dal punto di ingresso se non hai bisogno della strumentazione automatica.

Indicatore di errore: "OpenTelemetry instrumentation executable not found. The ZIP file requires open-telemetry dependencies, but none are present."