View a markdown version of this page

Risoluzione dei problemi relativi alla distribuzione diretta del codice - 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à.

Risoluzione dei problemi relativi alla distribuzione diretta del codice

Problemi e soluzioni comuni quando si inizia a utilizzare la distribuzione AgentCore diretta del codice di Amazon Bedrock. Per ulteriori informazioni sulla risoluzione dei problemi, consulta Risoluzione dei problemi di Amazon Bedrock Runtime. AgentCore

AccessDenied: Autorizzazioni S3 insufficienti

Quando ciò si verifica: 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 chiamare non Create/UpdateAgentRuntime dispone delle GetObject autorizzazioni s3: sull'uri S3 passate nell'input dell'API.

Soluzione: aggiungere l'GetObject autorizzazione s3: nel ruolo utilizzato 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 crittografato con CMK

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

Perché ciò accade: il ruolo utilizzato per chiamare non Create/UpdateAgentRuntime 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 il CMK specifico:

{ "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

Quando ciò si verifica: durante la creazione o l'aggiornamento dell'agente con pacchetti di codice incompatibili (architettura, versione linguistica 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 del 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 i punti di ingresso e le dipendenze corretti.

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

Indicatori di errore:

  • Stato dell'agente: CREATE_FAILED o errori di runtime

  • Errori di importazione o messaggi «impossibile eseguire file binari» nei log di Cloudwatch

  • Errori di mancata corrispondenza dell'architettura quando si verificano. 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é questo accade: AgentCore Runtime supporta solo l'architettura del set di istruzioni arm64. Il servizio analizza tutti i file binari nativi presenti nel pacchetto di distribuzione (file per Python ed entrambi e .so file per) e convalida le relative .so .node intestazioni ELF per Node.js verificarne la compatibilità con ARM64. Se viene compilato un file binario per x86_64, macOS () o un'altra architettura, la convalida ha esito negativo. Mach-O

Soluzione::

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

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

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

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

Punto di ingresso mancante

Quando ciò si verifica: 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ò verificarsi se il file non è incluso nello ZIP, se il percorso è stato digitato in modo errato o la struttura dello 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 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 non compatibile

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

Perché ciò accade: AgentCore Runtime controlla il engines.node campo nella radice package.json e nelle dipendenze comuni. Se l'intervallo di versioni esclude la Node.js versione di destinazione (ad esempio, <18 o >=14 <18 durante la distribuzione a Node.js 22), la creazione dell'agente ha esito negativo.

Soluzione::

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

  • Aggiorna eventuali dipendenze incompatibili a 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

Quando ciò si verifica: 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 di una strumentazione automatica.

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