

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Résolution des problèmes liés au déploiement direct de code
<a name="runtime-code-deploy-common-issues"></a>

Problèmes courants et solutions lors de la mise en route du déploiement AgentCore direct du code Amazon Bedrock. Pour plus d'informations sur la résolution des problèmes, consultez [ Résoudre les problèmes liés à Amazon Bedrock Runtime AgentCore . ](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/runtime-troubleshooting.html)

## AccessDenied: autorisations S3 insuffisantes
<a name="permission-issues-s3"></a>

 **Dans ce cas : ** lors de la création ou de la mise à jour de l'agent avec un artefact compressé dans S3 via la console, le SDK ou l'interface de ligne de commande

 **Pourquoi cela se produit : ** le rôle utilisé pour appeler Create/UpdateAgentRuntime ne dispose pas d'GetObject autorisations s3 : sur l'URI S3 transmises dans l'entrée de l'API.

 **Solution : ** ajoutez s3 : GetObject autorisation dans le rôle utilisée pour appeler l'API Agentcore Runtime create/update .

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

## AccessDenied: accès aux objets S3 chiffrés par CMK
<a name="permission-issues-cmk"></a>

 **Lorsque cela se produit : ** lors de la création d'un agent avec des objets CMK-encrypted S3, lorsque le rôle d'exécution ne dispose pas des autorisations de déchiffrement KMS.

 **Pourquoi cela se produit : ** le rôle utilisé pour appeler Create/UpdateAgentRuntime ne dispose pas des autorisations KMS:Decrypt sur la CMK utilisée pour chiffrer l'objet S3 contenant le code de l'agent.

 **Solution : ** ajoutez l'autorisation KMS:Decrypt au rôle pour la CMK spécifique :

```
{
"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é des packages de code
<a name="code-package-compatibility"></a>

 **Lorsque cela se produit : ** lors de la création ou de la mise à jour de l'agent avec des packages de code incompatibles (architecture, version linguistique ou format de package incorrects).

 **Pourquoi cela se produit : ** le fichier ZIP téléchargé contient des fichiers binaires compilés pour une architecture incorrecte (ARM64 contre x86\_64), une version linguistique incompatible ou une structure de package incorrecte qui ne correspond pas aux exigences d'exécution. AgentCore 

 **Solution :** 

Pour résoudre ce problème :

1. Assurez-vous que le code est compilé pour arm64.

1. Utilisez une version linguistique compatible (vérifiez les versions prises en charge par AgentCore Runtime).

1. Vérifiez que la structure ZIP contient des points d'entrée et des dépendances appropriés.

1. Reconstruisez les packages sur un environnement d'exécution compatible.

 **Indicateurs d'erreur : ** 
+ État de l'agent : CREATE\_FAILED ou erreurs d'exécution
+ Erreur d'importation ou message « Impossible d'exécuter un fichier binaire » dans les journaux Cloudwatch
+ Des erreurs d'incompatibilité d'architecture lorsque vous obtenezAgentRuntimeEndpoint.

## Incompatibilité binaire ARM64
<a name="arm64-binary-incompatibility"></a>

 **Lorsque cela se produit : ** lors de la création de l'agent, lorsque votre fichier ZIP contient des fichiers binaires natifs compilés pour une architecture non ARM64.

 **Pourquoi cela se produit : ** AgentCore Runtime ne prend en charge que l'architecture du jeu d'instructions arm64. Le service analyse tous les fichiers binaires natifs de votre package de déploiement (`.so`fichiers pour Python et les deux `.so` et `.node` fichiers pour Node.js ) et valide leurs en-têtes ELF pour vérifier leur compatibilité avec ARM64. Si un binaire est compilé pour x86\_64, macOS (Mach-O) ou une autre architecture, la validation échoue.

 **Solution :** 
+  **Python : ** utilisez cette option `uv pip install --python-platform aarch64-manylinux2014 --only-binary=:all:` pour télécharger des roues compatibles avec arm64.
+  **Node.js: ** installez les modules natifs sur une machine arm64 ou utilisez`npm install --arch=arm64 --platform=linux`.
+ Vous pouvez également créer vos dépendances sur une instance AWS Graviton-based Amazon EC2 pour garantir la compatibilité avec arm64.

 **Indicateur d'erreur : ** `"Your artifact contains binary files that are incompatible with Linux ARM64."` 

## Point d'entrée manquant
<a name="missing-entry-point"></a>

 **Lorsque cela se produit : ** lors de la création de l'agent, lorsque le fichier de point d'entrée spécifié n'existe pas dans votre ZIP.

 **Pourquoi cela se produit : ** le chemin du fichier du point d'entrée que vous avez spécifié dans la `entryPoint` configuration ne correspond à aucun fichier du package de déploiement. Cela peut se produire si le fichier n'a pas été inclus dans le fichier ZIP, si le chemin est mal orthographié ou si la structure du fichier ZIP diffère de ce à quoi vous vous attendiez.

 **Solution :** 
+ Vérifiez que le fichier du point d'entrée existe dans votre ZIP : `unzip -l deployment_package.zip | grep app.js` 
+ Assurez-vous que le chemin d'accès `entryPoint` correspond au chemin du fichier dans le ZIP (y compris les sous-répertoires tels que `src/app.js` ou`dist/index.js`)
+ Pour les agents Python, le point d'entrée doit se terminer par `.py` ; pour les Node.js agents, il doit se terminer par `.js` 

 **Indicateur d'erreur : ** `"The specified entrypoint could not be found or accessed in your artifact."` 

## Node.js Déclaration « moteurs incompatibles » .node
<a name="node-incompatible-engines"></a>

 **Lorsque cela se produit : ** lors de la création de l' Node.js agent, lorsque votre dépendance `package.json` ou une dépendance courante déclare une `engines.node` plage qui exclut la Node.js version cible.

 **Pourquoi cela se produit : ** AgentCore Runtime vérifie le `engines.node` champ dans votre racine `package.json` et dans les dépendances courantes. Si la plage de versions exclut la Node.js version cible (par exemple, `<18` ou `>=14 <18` lors d'un déploiement vers la version Node.js 22), la création de l'agent échoue.

 **Solution :** 
+ Mettez à jour le `engines.node` champ `package.json` de votre afin d'inclure la Node.js version cible (par exemple,`">=18"`)
+ Mettez à jour toutes les dépendances incompatibles vers une version qui prend en charge la Node.js version cible
+ Supprimez le `engines` champ s'il n'est pas obligatoire

 **Indicateur d'erreur : ** `"Your artifact contains dependencies with engines.node declarations incompatible with the target Node.js version."` 

## Node.js Package OTEL manquant
<a name="node-missing-otel-package"></a>

 **Lorsque cela se produit : ** lors de la création de l' Node.js agent, lorsque vous spécifiez `opentelemetry-instrument` le point d'entrée mais que le package ADOT n'est pas inclus dans le ZIP.

 **Pourquoi cela se produit : ** lorsque vous utilisez`"entryPoint": ["opentelemetry-instrument", "app.js"]`, AgentCore Runtime s'attend à ce que le package `@aws/aws-distro-opentelemetry-node-autoinstrumentation` npm soit présent `node_modules/` dans votre package de déploiement.

 **Solution :** 

Installez le package ADOT avant d'empaqueter votre ZIP :

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

Vous pouvez également supprimer le `opentelemetry-instrument` préfixe de votre point d'entrée si vous n'avez pas besoin d'instrumentation automatique.

 **Indicateur d'erreur : ** `"OpenTelemetry instrumentation executable not found. The ZIP file requires open-telemetry dependencies, but none are present."` 