View a markdown version of this page

Solución de problemas de implementación directa de código - Base amazónica AgentCore

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Solución de problemas de implementación directa de código

Problemas y soluciones comunes al comenzar con la implementación AgentCore directa de código en Amazon Bedrock. Para obtener más información sobre la solución de problemas, consulte Solución de problemas de Amazon Bedrock Runtime AgentCore .

AccessDenied: Permisos de S3 insuficientes

Cuando esto ocurre: durante la creación o actualización del agente con un artefacto comprimido en S3 mediante la consola, el SDK o la CLI

Por qué ocurre esto: el rol utilizado para llamar Create/UpdateAgentRuntime no tiene s3: GetObject los permisos sobre la URI de S3 se transfieren a la entrada de la API.

Solución: agregue s3: el GetObject permiso en el rol usado para llamar a la API de tiempo de ejecución create/update de Agentcore.

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

AccessDenied: Acceso a objetos S3 con cifrado CMK

Cuando esto ocurre: durante la creación del agente con objetos de CMK-encrypted S3, cuando el rol de ejecución carece de los permisos de descifrado de KMS.

Por qué ocurre esto: el rol utilizado para llamar Create/UpdateAgentRuntime no tiene permisos de KMS:Decrypt en la CMK utilizada para cifrar el objeto de S3 que contiene el código del agente.

Solución: añada el permiso KMS:Decrypt al rol para la CMK específica:

{ "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: compatibilidad con paquetes de código

Cuando esto ocurre: durante la creación o actualización del agente con paquetes de código incompatibles (arquitectura, versión de idioma o formato de paquete incorrectos).

Por qué ocurre esto: el archivo ZIP subido contiene archivos binarios compilados para una arquitectura incorrecta (ARM64 frente a x86_64), una versión de idioma incompatible o una estructura de paquetes incorrecta que no cumple con los requisitos de Runtime. AgentCore

Solución:

Para resolver este problema, siga estos pasos:

  1. Asegúrese de que el código esté compilado para arm64.

  2. Utilice una versión de idioma compatible (consulte las versiones compatibles con AgentCore Runtime).

  3. Verifique que la estructura ZIP contenga los puntos de entrada y las dependencias adecuados.

  4. Reconstruya los paquetes en un entorno de ejecución compatible.

Indicadores de error:

  • Estado del agente: CREATE_FAILED o errores de tiempo de ejecución

  • Errores de importación o mensajes de «no se puede ejecutar el archivo binario» en los registros de Cloudwatch

  • La arquitectura no coincide con los errores cuando los recibes. AgentRuntimeEndpoint

Incompatibilidad binaria con ARM64

Cuando esto ocurre: durante la creación del agente, cuando el ZIP contiene archivos binarios nativos compilados para una arquitectura que no es ARM64.

Por qué ocurre esto: AgentCore Runtime solo admite la arquitectura del conjunto de instrucciones arm64. El servicio analiza todos los archivos binarios nativos de tu paquete de implementación (.soarchivos para Python y ambos archivos y .node archivos para Node.js ) .so y valida sus encabezados ELF para comprobar que son compatibles con ARM64. Si se compila algún binario para x86_64, macOS (Mach-O) u otra arquitectura, se produce un error en la validación.

Solución:

  • Python: utilízalo uv pip install --python-platform aarch64-manylinux2014 --only-binary=:all: para descargar ruedas compatibles con arm64.

  • Node.js: Instala módulos nativos en una máquina arm64 o úsalos. npm install --arch=arm64 --platform=linux

  • Como alternativa, cree sus dependencias en una instancia de AWS Graviton-based Amazon EC2 para garantizar la compatibilidad con arm64.

Indicador de error: "Your artifact contains binary files that are incompatible with Linux ARM64."

Falta el punto de entrada

Cuando esto ocurre: durante la creación del agente, cuando el archivo de punto de entrada especificado no existe en su ZIP.

Por qué ocurre esto: la ruta del archivo del punto de entrada que especificó en la entryPoint configuración no coincide con ningún archivo del paquete de implementación. Esto puede ocurrir si el archivo no estaba incluido en el ZIP, si la ruta está mal escrita o si la estructura del ZIP difiere de la esperada.

Solución:

  • Compruebe que el archivo de punto de entrada existe en su ZIP: unzip -l deployment_package.zip | grep app.js

  • Asegúrese de que la ruta de entryPoint entrada coincide con la ruta del archivo dentro del ZIP (incluidos los subdirectorios como src/app.js odist/index.js)

  • Para los agentes de Python, el punto de entrada debe terminar con.py; para Node.js los agentes, debe terminar con .js

Indicador de error: "The specified entrypoint could not be found or accessed in your artifact."

Node.js Declaración de engines.node incompatibles

Cuando esto ocurre: durante la creación del Node.js agente, cuando tu dependencia package.json o una dependencia común declara un engines.node rango que excluye la versión de destino. Node.js

Por qué ocurre esto: AgentCore Runtime comprueba el engines.node campo en tu raíz package.json y en las dependencias comunes. Si el rango de versiones excluye la versión de destino Node.js (por ejemplo, <18 o si >=14 <18 se implementa en Node.js 22), se produce un error en la creación del agente.

Solución:

  • Actualice el engines.node campo package.json para incluir la Node.js versión de destino (por ejemplo,">=18")

  • Actualice cualquier dependencia incompatible a una versión que sea compatible con la versión de destino Node.js

  • Elimine el engines campo si no es obligatorio

Indicador de error: "Your artifact contains dependencies with engines.node declarations incompatible with the target Node.js version."

Node.js Falta el paquete OTEL

Cuando esto ocurre: durante la creación del Node.js agente, cuando se especifica opentelemetry-instrument en el punto de entrada pero el paquete ADOT no está incluido en el ZIP.

Por qué sucede esto: cuando lo usas"entryPoint": ["opentelemetry-instrument", "app.js"], AgentCore Runtime espera que el paquete @aws/aws-distro-opentelemetry-node-autoinstrumentation npm esté presente node_modules/ en tu paquete de implementación.

Solución:

Instala el paquete ADOT antes de empaquetar tu ZIP:

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

También puedes eliminar el opentelemetry-instrument prefijo de tu punto de entrada si no necesitas la instrumentación automática.

Indicador de error: "OpenTelemetry instrumentation executable not found. The ZIP file requires open-telemetry dependencies, but none are present."