

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 AWS IoT Greengrass V2
<a name="troubleshooting"></a>

Utilisez les informations de dépannage et les solutions de cette section pour résoudre les problèmes liés à AWS IoT Greengrass Version 2.

**Topics**
+ [Afficher les journaux des logiciels AWS IoT Greengrass principaux et des composants](#troubleshoot-with-logs)
+ [AWS IoT Greengrass Principaux problèmes liés au logiciel](#greengrass-core-issues)
+ [AWS IoT Greengrass problèmes liés au cloud](#greengrass-cloud-issues)
+ [Principaux problèmes liés au déploiement des appareils](#greengrass-core-deployment-issues)
+ [Principaux problèmes liés aux composants de l'appareil](#greengrass-core-component-issues)
+ [Principaux problèmes liés aux composants de la fonction Lambda de l'appareil](#greengrass-core-lambda-function-issues)
+ [Version du composant abandonnée](#discontinued-component-version)
+ [Problèmes liés à l'interface de ligne de commande Greengrass](#greengrass-cli-issues)
+ [AWS Command Line Interface problèmes](#aws-cli-issues)
+ [Codes d'erreur de déploiement détaillés](troubleshooting-deployment.md)
+ [Codes d'état détaillés des composants](troubleshooting-component.md)

## Afficher les journaux des logiciels AWS IoT Greengrass principaux et des composants
<a name="troubleshoot-with-logs"></a>

Le logiciel AWS IoT Greengrass Core écrit des journaux dans le système de fichiers local que vous pouvez utiliser pour consulter des informations en temps réel sur le périphérique principal. Vous pouvez également configurer les périphériques principaux pour écrire des journaux dans les CloudWatch journaux, afin de pouvoir dépanner à distance les périphériques principaux. Ces journaux peuvent vous aider à identifier les problèmes liés aux composants, aux déploiements et aux principaux appareils. Pour de plus amples informations, veuillez consulter [AWS IoT Greengrass Journaux de surveillance](monitor-logs.md).

## AWS IoT Greengrass Principaux problèmes liés au logiciel
<a name="greengrass-core-issues"></a>

Résoudre les problèmes liés AWS IoT Greengrass au logiciel de base. 

**Topics**
+ [ThrottlingException depuis l' ListDeployments API](#ThrottlingException)
+ [Impossible de configurer le périphérique principal](#unable-to-set-up-core-device)
+ [Impossible de démarrer le logiciel AWS IoT Greengrass Core en tant que service système](#unable-to-start-system-service)
+ [Impossible de configurer Nucleus en tant que service système](#unable-to-set-up-system-service)
+ [Impossible de se connecter à AWS IoT Core](#core-error-unable-to-connect-to-aws-iot)
+ [Erreur de mémoire insuffisante](#java-out-of-memory)
+ [Impossible d'installer Greengrass CLI](#unable-to-install-greengrass-cli)
+ [User root is not allowed to execute](#user-not-allowed-to-execute)
+ [com.aws.greengrass.lifecyclemanager.GenericExternalService: Could not determine user/group to run with](#missing-default-run-with-user)
+ [Failed to map segment from shared object: operation not permitted](#tmp-folder-noexec)
+ [Impossible de configurer le service Windows](#failed-to-set-up-windows-service)
+ [com.aws.greengrass.util.exceptions.TLSAuthException: Failed to get trust manager](#failed-to-get-trust-manager)
+ [com.aws.greengrass.deployment.IotJobsHelper: No connection available during subscribing to Iot Jobs descriptions topic. Will retry in sometime](#iot-jobs-no-connection-available)
+ [software.amazon.awssdk.services.iam.model.IamException: The security token included in the request is invalid](#error-invalid-security-token)
+ [software.amazon.awssdk.services.iot.model.IotException: User: <user> is not authorized to perform: iot:GetPolicy](#missing-automatic-provisioning-permissions)
+ [Error: com.aws.greengrass.shadowmanager.sync.model.FullShadowSyncRequest: Could not execute cloud shadow get request](#shadow-manager-error-could-not-execute-shadow-get-request)
+ [Operation aws.greengrass\$1<operation> is not supported by Greengrass](#ipc-operation-not-supported)
+ [java.io.FileNotFoundException: <stream-manager-store-root-dir>/stream\$1manager\$1metadata\$1store (Permission denied)](#stream-manager-store-root-folder-not-found)
+ [com.aws.greengrass.security.provider.pkcs11.PKCS11CryptoKeyService: Private key or certificate with label <label> does not exist](#pkcs11-provider-error-private-key-or-certificate-does-not-exist)
+ [software.amazon.awssdk.services.secretsmanager.model.SecretsManagerException: User: <user> is not authorized to perform: secretsmanager:GetSecretValue on resource: <arn>](#secret-manager-error-not-authorized-to-perform-get-secret-value)
+ [software.amazon.awssdk.services.secretsmanager.model.SecretsManagerException: Access to KMS is not allowed](#secret-manager-error-no-kms-access)
+ [java.lang.NoClassDefFoundError: com/aws/greengrass/security/CryptoKeySpi](#hardware-security-incompatible-nucleus-version)
+ [com.aws.greengrass.security.provider.pkcs11.PKCS11CryptoKeyService: CKR\$1OPERATION\$1NOT\$1INITIALIZED](#ckr-operation-not-initialized)
+ [Greengrass core device stuck on nucleus v2.12.3](#v2.12.3-revise-deployment)
+ [Greengrass nucleus v2.14.0 systemd template issue](#v2.14.0-systemd-template)

### ThrottlingException depuis l' ListDeployments API
<a name="ThrottlingException"></a>

`ThrottlingException`depuis `ListDeployments` l'API : cela peut s'afficher lorsque vous avez un grand nombre de déploiements en compte. 

Pour résoudre ce problème, effectuez l'une des opérations suivantes :
+ Si vous utilisez le SDK, veuillez spécifier le MaxResult paramètre. Par exemple, pour [JavasDK](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/greengrassv2/model/ListDeploymentsRequest.html#maxResults) avec une petite valeur (par exemple 5).
+ Vous pouvez utiliser les [Quotas de AWS Service](https://docs.aws.amazon.com/servicequotas/latest/userguide/intro.html) pour demander une augmentation de la limite de débit de l'`DescribeJob`API. Vous pouvez accéder à la console des quotas de service, sélectionner les quotas de AWS IoT et le nom de la limite est **limite d'DescribeJob accélération**. Vous pouvez l'augmenter de 10 à 50.

### Impossible de configurer le périphérique principal
<a name="unable-to-set-up-core-device"></a>

Si le programme d'installation du logiciel AWS IoT Greengrass Core échoue et que vous ne parvenez pas à configurer un appareil principal, vous devrez peut-être désinstaller le logiciel et réessayer. Pour de plus amples informations, veuillez consulter [Désinstallez le logiciel AWS IoT Greengrass Core](uninstall-greengrass-core-v2.md).

### Impossible de démarrer le logiciel AWS IoT Greengrass Core en tant que service système
<a name="unable-to-start-system-service"></a>

Si le logiciel AWS IoT Greengrass Core ne démarre pas, [consultez les journaux de service du système](monitor-logs.md#access-system-service-logs) pour identifier le problème. Un problème courant est que Java n'est pas disponible sur la variable d'environnement PATH (Linux) ou la variable système PATH (Windows).

### Impossible de configurer Nucleus en tant que service système
<a name="unable-to-set-up-system-service"></a>

Cette erreur peut s'afficher lorsque le programme d'installation du logiciel AWS IoT Greengrass Core ne parvient pas à être configuré AWS IoT Greengrass en tant que service système. Sur les appareils Linux, cette erreur se produit généralement si le périphérique principal ne possède pas le [système d'initialisation systemd](https://en.wikipedia.org/wiki/Systemd). Le programme d'installation peut configurer correctement le logiciel AWS IoT Greengrass Core même s'il ne parvient pas à configurer le service système.

Effectuez l’une des actions suivantes :
+ Configurez et exécutez le logiciel AWS IoT Greengrass Core en tant que service système. Vous devez configurer le logiciel en tant que service système pour utiliser toutes les fonctionnalités de AWS IoT Greengrass. Vous pouvez installer [systemd](https://en.wikipedia.org/wiki/Systemd) ou utiliser un autre système d'initialisation. Pour de plus amples informations, veuillez consulter [Configurer le noyau Greengrass en tant que service système](configure-greengrass-core-v2.md#configure-system-service).
+ Exécutez le logiciel AWS IoT Greengrass Core sans service système. Vous pouvez exécuter le logiciel à l'aide d'un script de chargement que le programme d'installation configure dans le dossier racine de Greengrass. Pour de plus amples informations, veuillez consulter [Exécutez le logiciel AWS IoT Greengrass Core sans service système](run-greengrass-core-v2.md#run-greengrass-core-no-system-service).

### Impossible de se connecter à AWS IoT Core
<a name="core-error-unable-to-connect-to-aws-iot"></a>

Cette erreur peut s'afficher lorsque le logiciel AWS IoT Greengrass Core ne parvient pas à se connecter AWS IoT Core pour récupérer des tâches de déploiement, par exemple. Procédez comme suit :
+ Vérifiez que votre appareil principal peut se connecter à Internet et AWS IoT Core. Pour plus d'informations sur le AWS IoT Core point de terminaison auquel votre appareil se connecte, consultez[Configuration du logiciel AWS IoT Greengrass de base](configure-greengrass-core-v2.md).
+ Vérifiez que l'appareil AWS IoT principal de votre appareil utilise un certificat qui autorise les `iot:Subscribe` autorisations `iot:Connect` `iot:Publish``iot:Receive`,, et.
+ Si votre appareil principal utilise un [proxy réseau](configure-greengrass-core-v2.md#configure-network-proxy), vérifiez qu'il a un [rôle d'appareil](device-service-role.md) et que son rôle autorise les `iot:Subscribe` autorisations `iot:Connect` `iot:Publish``iot:Receive`,, et.

### Erreur de mémoire insuffisante
<a name="java-out-of-memory"></a>

Cette erreur se produit généralement si votre appareil ne dispose pas de suffisamment de mémoire pour allouer un objet dans le tas Java. Sur les appareils dont la mémoire est limitée, vous devrez peut-être spécifier une taille de segment maximale pour contrôler l'allocation de mémoire. Pour de plus amples informations, veuillez consulter [Contrôlez l'allocation de mémoire grâce aux options JVM](configure-greengrass-core-v2.md#jvm-tuning).

### Impossible d'installer Greengrass CLI
<a name="unable-to-install-greengrass-cli"></a>

Le message de console suivant peut s'afficher lorsque vous utilisez l'`--deploy-dev-tools`argument dans votre commande d'installation de AWS IoT Greengrass Core.

```
Thing group exists, it could have existing deployment and devices, hence NOT creating deployment for Greengrass first party dev tools, please manually create a deployment if you wish to
```

Cela se produit lorsque le composant Greengrass CLI n'est pas installé parce que votre périphérique principal est membre d'un groupe d'objets déjà déployé. Si ce message s'affiche, vous pouvez déployer manuellement le composant Greengrass CLI (`aws.greengrass.Cli`) sur le périphérique pour installer la Greengrass CLI. Pour de plus amples informations, veuillez consulter [Installation de la CLI Greengrass](install-gg-cli.md).

### User root is not allowed to execute
<a name="user-not-allowed-to-execute"></a>

Cette erreur peut s'afficher lorsque l'utilisateur qui exécute le logiciel AWS IoT Greengrass Core (généralement`root`) n'est pas autorisé à s'exécuter `sudo` avec un utilisateur ou un groupe. Pour l'utilisateur `ggc_user` du système par défaut, cette erreur se présente comme suit :

```
Sorry, user root is not allowed to execute <command> as ggc_user:ggc_group.
```

Vérifiez que votre `/etc/sudoers` fichier autorise l'utilisateur à s'exécuter `sudo` en tant qu'autre groupe. L'autorisation accordée à l'utilisateur `/etc/sudoers` doit ressembler à l'exemple suivant.

```
root    ALL=(ALL:ALL) ALL
```

### com.aws.greengrass.lifecyclemanager.GenericExternalService: Could not determine user/group to run with
<a name="missing-default-run-with-user"></a>

Cette erreur peut s'afficher lorsque le périphérique principal essaie d'exécuter un composant et que le noyau Greengrass ne spécifie pas d'utilisateur système par défaut à utiliser pour exécuter les composants.

Pour résoudre ce problème, configurez le noyau Greengrass pour spécifier l'utilisateur du système par défaut qui exécute les composants. Pour plus d’informations, consultez [Configurer l'utilisateur qui exécute les composants](configure-greengrass-core-v2.md#configure-component-user) et [Configuration de l'utilisateur du composant par défaut](configure-greengrass-core-v2.md#configure-default-component-user).

### Failed to map segment from shared object: operation not permitted
<a name="tmp-folder-noexec"></a>

Cette erreur peut s'afficher lorsque le logiciel AWS IoT Greengrass Core ne démarre pas parce que le `/tmp` dossier est monté avec des `noexec` autorisations. La [bibliothèque AWS Common Runtime (CRT)](https://github.com/awslabs/aws-crt-java) utilise le `/tmp` dossier par défaut.

Effectuez l’une des actions suivantes :
+ Exécutez la commande suivante pour remonter le `/tmp` dossier avec `exec` les autorisations et réessayez.

  ```
  sudo mount -o remount,exec /tmp
  ```
+ Si vous exécutez Greengrass nucleus v2.5.0 ou version ultérieure, vous pouvez définir une option JVM pour modifier le dossier utilisé par la bibliothèque CRT. AWS Vous pouvez spécifier le `jvmOptions` paramètre dans la configuration du composant Greengrass Nucleus lors d'un déploiement ou lors de l'installation du logiciel AWS IoT Greengrass Core. Remplacez */path/to/use* par le chemin d'accès à un dossier que la bibliothèque AWS CRT peut utiliser.

  ```
  {
    "jvmOptions": "-Daws.crt.lib.dir=\"/path/to/use\""
  }
  ```

### Impossible de configurer le service Windows
<a name="failed-to-set-up-windows-service"></a>

Cette erreur peut s'afficher si vous installez le logiciel AWS IoT Greengrass Core sur un appareil Microsoft Windows 2016. Le logiciel AWS IoT Greengrass Core n'est pas pris en charge sous Windows 2016. Pour obtenir la liste des systèmes d'exploitation pris en charge, voir[Plateformes prises en charge](greengrass-nucleus-component.md#greengrass-v2-supported-platforms).

Si vous devez utiliser Windows 2016, vous pouvez effectuer les opérations suivantes :

1. Décompressez l'archive d'installation AWS IoT Greengrass Core téléchargée

1. Dans le `Greengrass` répertoire, ouvrez le `bin/greengrass.xml.template` fichier.

1. Ajoutez le `<autoRefresh>` tag à la fin du fichier juste avant le `</service>` tag.

   ```
     </log>
     <autoRefresh>false</autoRefresh>
   </service>
   ```

### com.aws.greengrass.util.exceptions.TLSAuthException: Failed to get trust manager
<a name="failed-to-get-trust-manager"></a>

Cette erreur peut s'afficher lorsque vous installez le logiciel AWS IoT Greengrass Core sans fichier d'autorité de certification (CA) racine.

```
2022-06-05T10:00:39.556Z [INFO] (main) com.aws.greengrass.lifecyclemanager.Kernel: service-loaded. {serviceName=DeploymentService}
2022-06-05T10:00:39.943Z [WARN] (main) com.aws.greengrass.componentmanager.ClientConfigurationUtils: configure-greengrass-mutual-auth. Error during configure greengrass client mutual auth. {}
com.aws.greengrass.util.exceptions.TLSAuthException: Failed to get trust manager
```

Vérifiez que vous spécifiez un fichier CA racine valide avec le `rootCaPath` paramètre dans le fichier de configuration que vous fournissez au programme d'installation. Pour de plus amples informations, veuillez consulter [Installation du logiciel AWS IoT Greengrass de base](install-greengrass-core-v2.md).

### com.aws.greengrass.deployment.IotJobsHelper: No connection available during subscribing to Iot Jobs descriptions topic. Will retry in sometime
<a name="iot-jobs-no-connection-available"></a>

Ce message d'avertissement peut s'afficher lorsque l'appareil principal ne parvient pas à se connecter pour s'abonner AWS IoT Core aux notifications de tâches de déploiement. Procédez comme suit :
+ Vérifiez que l'appareil principal est connecté à Internet et peut atteindre le point de terminaison de AWS IoT données que vous avez configuré. Pour plus d'informations sur les terminaux utilisés par les appareils principaux, consultez[Autoriser le trafic des appareils via un proxy ou un pare-feu](allow-device-traffic.md).
+ Consultez les journaux de Greengrass pour détecter d'autres erreurs révélant d'autres causes profondes.

### software.amazon.awssdk.services.iam.model.IamException: The security token included in the request is invalid
<a name="error-invalid-security-token"></a>

Cette erreur peut s'afficher lorsque vous [installez le logiciel AWS IoT Greengrass Core avec un provisionnement automatique](quick-installation.md) et que le programme d'installation utilise un jeton de AWS session non valide. Procédez comme suit :
+ Si vous utilisez des informations d'identification de sécurité temporaires, vérifiez que le jeton de session est correct et que vous copiez et collez le jeton de session complet.
+ Si vous utilisez des informations d'identification de sécurité à long terme, vérifiez que l'appareil ne possède pas de jeton de session datant d'une époque où vous utilisiez auparavant des informations d'identification temporaires. Procédez comme suit :

  1. Exécutez la commande suivante pour désactiver la variable d'environnement du jeton de session.

------
#### [ Linux or Unix ]

     ```
     unset AWS_SESSION_TOKEN
     ```

------
#### [ Windows Command Prompt (CMD) ]

     ```
     set AWS_SESSION_TOKEN=
     ```

------
#### [ PowerShell ]

     ```
     Remove-Item Env:\AWS_SESSION_TOKEN
     ```

------

  1. Vérifiez si le fichier AWS d'informations d'identification contient un jeton de session,`aws_session_token`. `~/.aws/credentials` Si tel est le cas, supprimez cette ligne du fichier.

     ```
     aws_session_token = AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4Olgk
     ```

Vous pouvez également installer le logiciel AWS IoT Greengrass Core sans fournir AWS d'informations d'identification. Pour plus d’informations, consultez [Installation AWS IoT Greengrass du logiciel Core avec provisionnement manuel des ressources](manual-installation.md) ou [Installation AWS IoT Greengrass du logiciel de base avec provisionnement du AWS IoT parc](fleet-provisioning.md).

### software.amazon.awssdk.services.iot.model.IotException: User: <user> is not authorized to perform: iot:GetPolicy
<a name="missing-automatic-provisioning-permissions"></a>

Cette erreur peut s'afficher lorsque vous [installez le logiciel AWS IoT Greengrass Core avec un provisionnement automatique](quick-installation.md) et que le programme d'installation utilise des AWS informations d'identification ne disposant pas des autorisations requises. Pour plus d'informations sur les autorisations requises, consultez[Politique IAM minimale permettant au programme d'installation de provisionner les ressources](provision-minimal-iam-policy.md).

Vérifiez les autorisations relatives à l'identité IAM des informations d'identification et accordez à l'identité IAM toutes les autorisations requises manquantes.

### Error: com.aws.greengrass.shadowmanager.sync.model.FullShadowSyncRequest: Could not execute cloud shadow get request
<a name="shadow-manager-error-could-not-execute-shadow-get-request"></a>

Cette erreur peut s'afficher lorsque vous utilisez le [composant Shadow Manager](shadow-manager-component.md) pour [synchroniser les ombres de l'appareil avec AWS IoT Core](sync-shadows-with-iot-core.md). Le code d'état HTTP 403 indique que cette erreur s'est produite parce que la AWS IoT politique du périphérique principal n'accorde pas l'autorisation d'appeler`GetThingShadow`.

```
com.aws.greengrass.shadowmanager.sync.model.FullShadowSyncRequest: Could not execute cloud shadow get request. {thing name=MyGreengrassCore, shadow name=MyShadow}
2021-07-14T21:09:02.456Z [ERROR] (pool-2-thread-109) com.aws.greengrass.shadowmanager.sync.SyncHandler: sync. Skipping sync request. {thing name=MyGreengrassCore, shadow name=MyShadow}
com.aws.greengrass.shadowmanager.exception.SkipSyncRequestException: software.amazon.awssdk.services.iotdataplane.model.IotDataPlaneException: null (Service: IotDataPlane, Status Code: 403, Request ID: f6e713ba-1b01-414c-7b78-5beb3f3ad8f6, Extended Request ID: null)
```

Pour synchroniser les ombres locales avec AWS IoT Core, la AWS IoT politique de l'appareil principal doit accorder les autorisations suivantes :
+ `iot:GetThingShadow`
+ `iot:UpdateThingShadow`
+ `iot:DeleteThingShadow`

Vérifiez la AWS IoT politique de l'appareil principal et ajoutez les autorisations requises manquantes. Pour plus d’informations, consultez les ressources suivantes :
+ [AWS IoT Core actions politiques décrites](https://docs.aws.amazon.com/iot/latest/developerguide/iot-policy-actions.html) dans le *guide du AWS IoT développeur*
+ [Mettre à jour la AWS IoT politique d'un appareil principal](device-auth.md#update-core-device-iot-policy)

### Operation aws.greengrass\$1<operation> is not supported by Greengrass
<a name="ipc-operation-not-supported"></a>

Cette erreur peut s'afficher lorsque vous utilisez une [opération de communication interprocessus (IPC)](interprocess-communication.md) dans un composant Greengrass personnalisé et que le composant AWS fourni n'est pas installé sur le périphérique principal.

Pour résoudre ce problème, ajoutez le composant requis en tant que [dépendance dans votre recette de composant](component-recipe-reference.md#recipe-reference-component-dependencies), afin que le logiciel AWS IoT Greengrass Core installe le composant requis lorsque vous déployez votre composant.
+ [Récupérez les valeurs secrètes](ipc-secret-manager.md) — `aws.greengrass.SecretManager`
+ [Interagissez avec les ombres locales](ipc-local-shadows.md) — `aws.greengrass.ShadowManager`
+ [Gestion des déploiements et des composants locaux](ipc-local-deployments-components.md) (version `aws.greengrass.Cli` 2.6.0 ou ultérieure)
+ [Authentifier et autoriser les appareils clients](ipc-client-device-auth.md) — `aws.greengrass.clientdevices.Auth` v2.2.0 ou version ultérieure

### java.io.FileNotFoundException: <stream-manager-store-root-dir>/stream\$1manager\$1metadata\$1store (Permission denied)
<a name="stream-manager-store-root-folder-not-found"></a>

Cette erreur peut s'afficher dans le fichier journal du gestionnaire de flux (`aws.greengrass.StreamManager.log`) lorsque vous configurez le [gestionnaire de flux](stream-manager-component.md) pour qu'il utilise un dossier racine qui n'existe pas ou qui ne dispose pas des autorisations appropriées. Pour plus d'informations sur la configuration de ce dossier, consultez la section [Configuration du gestionnaire de flux](stream-manager-component.md#stream-manager-component-configuration).

### com.aws.greengrass.security.provider.pkcs11.PKCS11CryptoKeyService: Private key or certificate with label <label> does not exist
<a name="pkcs11-provider-error-private-key-or-certificate-does-not-exist"></a>

Cette erreur se produit lorsque le [composant fournisseur PKCS \$111](pkcs11-provider-component.md) ne parvient pas à trouver ou à charger la clé privée ou le certificat que vous spécifiez lorsque vous configurez le logiciel AWS IoT Greengrass Core pour utiliser un [module de sécurité matériel (HSM](hardware-security.md)). Procédez comme suit :
+ Vérifiez que la clé privée et le certificat sont stockés dans le HSM à l'aide de l'emplacement, du code PIN utilisateur et de l'étiquette d'objet que vous configurez pour utiliser dans le logiciel AWS IoT Greengrass Core.
+ Vérifiez que la clé privée et le certificat utilisent la même étiquette d'objet dans le HSM.
+ Si votre HSM prend en charge l'objet IDs, vérifiez que la clé privée et le certificat utilisent le même identifiant d'objet dans le HSM.

Consultez la documentation de votre HSM pour savoir comment demander des informations sur les jetons de sécurité contenus dans le HSM. Si vous devez modifier l'emplacement, l'étiquette ou l'ID d'objet d'un jeton de sécurité, consultez la documentation de votre HSM pour savoir comment procéder.

### software.amazon.awssdk.services.secretsmanager.model.SecretsManagerException: User: <user> is not authorized to perform: secretsmanager:GetSecretValue on resource: <arn>
<a name="secret-manager-error-not-authorized-to-perform-get-secret-value"></a>

Cette erreur peut se produire lorsque vous utilisez le [composant du gestionnaire de secrets](secret-manager-component.md) pour déployer un AWS Secrets Manager secret. Si le [rôle IAM d'échange de jetons](device-service-role.md) du périphérique principal n'autorise pas l'obtention du secret, le déploiement échoue et les journaux de Greengrass incluent cette erreur.

**Pour autoriser un appareil principal à télécharger un secret**

1. Ajoutez l'`secretsmanager:GetSecretValue`autorisation au rôle d'échange de jetons de l'appareil principal. L'exemple de déclaration de politique suivant accorde l'autorisation d'obtenir la valeur d'un secret.

   ```
   {
       "Effect": "Allow",
       "Action": [
           "secretsmanager:GetSecretValue"
       ],
       "Resource": [
           "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyGreengrassSecret-abcdef"
       ]
   }
   ```

   Pour de plus amples informations, veuillez consulter [Autoriser les appareils principaux à interagir avec les AWS services](device-service-role.md).

1. Réappliquez le déploiement au périphérique principal. Effectuez l’une des actions suivantes :
   + Révisez le déploiement sans aucune modification. Le périphérique principal essaie de télécharger à nouveau le secret lorsqu'il reçoit le déploiement révisé. Pour de plus amples informations, veuillez consulter [Réviser les déploiements](revise-deployments.md).
   + Redémarrez le logiciel AWS IoT Greengrass Core pour réessayer le déploiement. Pour de plus amples informations, consultez [Exécutez le logiciel AWS IoT Greengrass Core](run-greengrass-core-v2.md).

   Le déploiement réussit si le gestionnaire de secrets télécharge le secret avec succès.

### software.amazon.awssdk.services.secretsmanager.model.SecretsManagerException: Access to KMS is not allowed
<a name="secret-manager-error-no-kms-access"></a>

Cette erreur peut se produire lorsque vous utilisez le [composant du gestionnaire de secrets](secret-manager-component.md) pour déployer un AWS Secrets Manager secret chiffré par une AWS Key Management Service clé. Si le [rôle IAM d'échange de jetons](device-service-role.md) du périphérique principal n'autorise pas le déchiffrement du secret, le déploiement échoue et les journaux de Greengrass incluent cette erreur.

Pour résoudre le problème, ajoutez l'`kms:Decrypt`autorisation au rôle d'échange de jetons de l'appareil principal. Pour plus d’informations, consultez les ressources suivantes :
+ [Chiffrement et déchiffrement secrets](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html) dans le guide de l'*AWS Secrets Manager utilisateur*
+ [Autoriser les appareils principaux à interagir avec les AWS services](device-service-role.md)

### java.lang.NoClassDefFoundError: com/aws/greengrass/security/CryptoKeySpi
<a name="hardware-security-incompatible-nucleus-version"></a>

Cette erreur peut s'afficher lorsque vous essayez d'installer le logiciel AWS IoT Greengrass Core avec [sécurité matérielle](hardware-security.md) et que vous utilisez une version antérieure de Greengrass Nucleus qui ne prend pas en charge l'intégration de la sécurité matérielle. Pour utiliser l'intégration de la sécurité matérielle, vous devez utiliser Greengrass nucleus v2.5.3 ou version ultérieure.

### com.aws.greengrass.security.provider.pkcs11.PKCS11CryptoKeyService: CKR\$1OPERATION\$1NOT\$1INITIALIZED
<a name="ckr-operation-not-initialized"></a>

Cette erreur peut s'afficher lorsque vous utilisez la TPM2 bibliothèque lors de l'exécution de AWS IoT Greengrass Core en tant que service système.

Cette erreur indique que vous devez ajouter une variable d'environnement indiquant l'emplacement du magasin PKCS \$111 dans le fichier de service AWS IoT Greengrass Core systemd. 

Pour plus d'informations, consultez la section Exigences de la documentation du [Fournisseur PKCS \$111](pkcs11-provider-component.md) composant.

### Greengrass core device stuck on nucleus v2.12.3
<a name="v2.12.3-revise-deployment"></a>

Si votre appareil principal Greengrass ne veut pas réviser votre déploiement à partir de la version 2.12.3 de Nucleus, vous devrez peut-être télécharger et remplacer le fichier `Greengrass.jar` par Greengrass nucleus version 2.12.2. Procédez comme suit :

1. Sur votre appareil Greengrass Core, exécutez la commande suivante pour arrêter le logiciel Greengrass Core.

------
#### [ Linux or Unix ]

   ```
   sudo systemctl stop greengrass
   ```

------
#### [ Windows Command Prompt (CMD) ]

   ```
   sc stop "greengrass"
   ```

------
#### [ PowerShell ]

   ```
   Stop-Service -Name "greengrass"
   ```

------

1. Sur votre appareil principal, téléchargez le AWS IoT Greengrass logiciel dans un fichier nommé`greengrass-2.12.2.zip`.

------
#### [ Linux or Unix ]

   ```
   curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-2.12.2.zip > greengrass-2.12.2.zip
   ```

------
#### [ Windows Command Prompt (CMD) ]

   ```
   curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-2.12.2.zip > greengrass-2.12.2.zip
   ```

------
#### [ PowerShell ]

   ```
   iwr -Uri https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-2.12.2.zip -OutFile greengrass-2.12.2.zip
   ```

------

1. Décompressez le logiciel AWS IoT Greengrass Core dans un dossier de votre appareil. *GreengrassInstaller*Remplacez-le par le dossier que vous souhaitez utiliser.

------
#### [ Linux or Unix ]

   ```
   unzip greengrass-2.12.2.zip -d GreengrassInstaller && rm greengrass-2.12.2.zip
   ```

------
#### [ Windows Command Prompt (CMD) ]

   ```
   mkdir GreengrassInstaller && tar -xf greengrass-2.12.2.zip -C GreengrassInstaller && del greengrass-2.12.2.zip
   ```

------
#### [ PowerShell ]

   ```
   Expand-Archive -Path greengrass-2.12.2.zip -DestinationPath .\\GreengrassInstaller
   rm greengrass-2.12.2.zip
   ```

------

1. Exécutez la commande suivante pour remplacer le fichier JAR Greengrass de la version 2.12.3 du noyau par le fichier JAR Greengrass de la version 2.12.2 du noyau.

------
#### [ Linux or Unix ]

   ```
   sudo cp ./GreengrassInstaller/lib/Greengrass.jar /greengrass/v2/packages/artifacts-unarchived/aws.greengrass.Nucleus/2.12.3/aws.greengrass.nucleus/lib
   ```

------
#### [ Windows Command Prompt (CMD) ]

   ```
   robocopy ./GreengrassInstaller/lib/Greengrass.jar /greengrass/v2/packages/artifacts-unarchived/aws.greengrass.Nucleus/2.12.3/aws.greengrass.nucleus/lib /E
   ```

------
#### [ PowerShell ]

   ```
   cp -Path ./GreengrassInstaller/lib/Greengrass.jar -Destination /greengrass/v2/packages/artifacts-unarchived/aws.greengrass.Nucleus/2.12.3/aws.greengrass.nucleus/lib
   ```

------

1. Exécutez la commande suivante pour démarrer le logiciel Greengrass Core.

------
#### [ Linux or Unix ]

   ```
   sudo systemctl start greengrass
   ```

------
#### [ Windows Command Prompt (CMD) ]

   ```
   sc start "greengrass"
   ```

------
#### [ PowerShell ]

   ```
   Start-Service -Name "greengrass"
   ```

------

### Greengrass nucleus v2.14.0 systemd template issue
<a name="v2.14.0-systemd-template"></a>

Vous pouvez rencontrer ce problème si vous avez installé Greengrass nucleus v2.14.0 sur un appareil Linux avec son modèle de service systemd par défaut. Procédez comme suit :

1. Sur votre périphérique principal Greengrass, exécutez la commande suivante pour rétablir le fichier de service systemd tel qu'il est dans Nucleus v2.13.0 et versions antérieures.

------
#### [ Linux or Unix ]

   ```
   sudo sed -i 's|ExecStart=/bin/sh -c "\(.*\) >> .*/logs/loader.log 2>&1"|ExecStart=/bin/sh \1|' /etc/systemd/system/greengrass.service
   ```

------

1. Appliquez les modifications.

------
#### [ Linux or Unix ]

   ```
   sudo systemctl daemon-reload
   sudo systemctl restart greengrass
   ```

------

## AWS IoT Greengrass problèmes liés au cloud
<a name="greengrass-cloud-issues"></a>

Utilisez les informations suivantes pour résoudre les problèmes liés à la AWS IoT Greengrass console et à l'API. Chaque entrée correspond à un message d'erreur qui peut s'afficher lorsque vous effectuez une action.

### An error occurred (AccessDeniedException) when calling the CreateComponentVersion operation: User: arn:aws:iam::123456789012:user/<username> is not authorized to perform: null
<a name="cloud-error-create-component-version-not-authorized-to-perform-null"></a>

Cette erreur peut s'afficher lorsque vous créez une version de composant à partir de la AWS IoT Greengrass console ou lors de l'[CreateComponentVersion](https://docs.aws.amazon.com/greengrass/v2/APIReference/API_CreateComponentVersion.html)opération.

Cette erreur indique que votre recette n'est pas un JSON ou YAML valide. Vérifiez la syntaxe de votre recette, corrigez les éventuels problèmes de syntaxe et réessayez. Vous pouvez utiliser un vérificateur de syntaxe JSON ou YAML en ligne pour identifier les problèmes de syntaxe dans votre recette.

### Invalid Input: Encountered following errors in Artifacts: \$1<s3ArtifactUri> = Specified artifact resource cannot be accessed\$1
<a name="cloud-error-specified-artifact-resource-cannot-be-accessed"></a>

Cette erreur peut s'afficher lorsque vous créez une version de composant à partir de la AWS IoT Greengrass console ou lors de l'[CreateComponentVersion](https://docs.aws.amazon.com/greengrass/v2/APIReference/API_CreateComponentVersion.html)opération. Cette erreur indique qu'un artefact S3 de la recette du composant n'est pas valide.

Procédez comme suit :
+ Vérifiez que le compartiment S3 se trouve dans le même emplacement que celui dans Région AWS lequel vous créez le composant. AWS IoT Greengrass ne prend pas en charge les demandes interrégionales pour les artefacts de composants.
+ Vérifiez que l'URI de l'artefact est une URL d'objet S3 valide et vérifiez que l'artefact existe à cette URL d'objet S3.
+ Vérifiez que vous êtes Compte AWS autorisé à accéder à l'artefact via l'URL de son objet S3.

### INACTIVE deployment status
<a name="cloud-error-inactive-deployment"></a>

Vous pouvez obtenir un statut de `INACTIVE` déploiement lorsque vous appelez l'[ListDeployments](https://docs.aws.amazon.com/greengrass/v2/APIReference/API_ListDeployments.html)API sans les AWS IoT politiques dépendantes requises. Vous devez disposer des autorisations nécessaires pour obtenir un statut de déploiement précis. Vous pouvez trouver les actions dépendantes en consultant les [actions définies par AWS IoT Greengrass V2 et en](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotgreengrassv2.html#awsiotgreengrassv2-actions-as-permissions) suivant les autorisations nécessaires pour`ListDeployments`. Sans les AWS IoT autorisations dépendantes requises, vous verrez toujours l'état du déploiement, mais vous pourriez voir un état de déploiement inexact de`INACTIVE`.

## Principaux problèmes liés au déploiement des appareils
<a name="greengrass-core-deployment-issues"></a>

Résolvez les problèmes de déploiement sur les appareils principaux de Greengrass. Chaque entrée correspond à un message de journal que vous pourriez voir sur votre appareil principal.

**Topics**
+ [Error: com.aws.greengrass.componentmanager.exceptions.PackageDownloadException: Failed to download artifact](#core-error-failed-to-download-artifact-package-download-exception)
+ [Error: com.aws.greengrass.componentmanager.exceptions.ArtifactChecksumMismatchException: Integrity check for downloaded artifact failed. Probably due to file corruption.](#core-error-failed-to-download-artifact-checksum-mismatch-exception)
+ [Error: com.aws.greengrass.componentmanager.exceptions.NoAvailableComponentVersionException: Failed to negotiate component <name> version with cloud and no local applicable version satisfying requirement <requirements>](#core-error-no-available-component-version)
+ [software.amazon.awssdk.services.greengrassv2data.model.ResourceNotFoundException: The latest version of Component <componentName> doesn't claim platform <coreDevicePlatform> compatibility](#deployment-error-no-platform-compatibility)
+ [com.aws.greengrass.componentmanager.exceptions.PackagingException: The deployment attempts to update the nucleus from aws.greengrass.Nucleus-<version> to aws.greengrass.Nucleus-<version> but no component of type nucleus was included as target component](#deployment-error-nucleus-minor-version-update)
+ [Error: com.aws.greengrass.deployment.exceptions.DeploymentException: Unable to process deployment. Greengrass launch directory is not set up or Greengrass is not set up as a system service](#deployment-error-unable-to-process-deployment)
+ [Info: com.aws.greengrass.deployment.exceptions.RetryableDeploymentDocumentDownloadException: Greengrass Cloud Service returned an error when getting full deployment configuration](#core-error-getting-full-deployment-configuration)
+ [Warn: com.aws.greengrass.deployment.DeploymentService: Failed to get thing group hierarchy](#core-warning-failed-to-get-thing-group-hierarchy)
+ [Info: com.aws.greengrass.deployment.DeploymentDocumentDownloader: Calling Greengrass cloud to get full deployment configuration](#core-info-repetitive-get-full-deployment-configuration)
+ [Caused by: software.amazon.awssdk.services.greengrassv2data.model.GreengrassV2DataException: null (Service: GreengrassV2Data, Status Code: 403, Request ID: <some\$1request\$1id>, Extended Request ID: null)](#greengrassv2dataexception)

### Error: com.aws.greengrass.componentmanager.exceptions.PackageDownloadException: Failed to download artifact
<a name="core-error-failed-to-download-artifact-package-download-exception"></a>

Cette erreur peut s'afficher lorsque le logiciel AWS IoT Greengrass Core ne parvient pas à télécharger un artefact de composant lorsque le périphérique principal effectue un déploiement. Le déploiement échoue à cause de cette erreur.

Lorsque vous recevez cette erreur, le journal inclut également une trace de pile que vous pouvez utiliser pour identifier le problème spécifique. Chacune des entrées suivantes correspond à un message que vous pourriez voir dans la pile de traces du message `Failed to download artifact` d'erreur.

**Topics**
+ [software.amazon.awssdk.services.s3.model.S3Exception: null (Service: S3, Status Code: 403, Request ID: null, ...)](#core-error-failed-to-download-artifact-s3-permissions)
+ [software.amazon.awssdk.services.s3.model.S3Exception: Access Denied (Service: S3, Status Code: 403, Request ID: <requestID>](#core-error-failed-to-download-artifact-get-bucket-location-403)

#### software.amazon.awssdk.services.s3.model.S3Exception: null (Service: S3, Status Code: 403, Request ID: null, ...)
<a name="core-error-failed-to-download-artifact-s3-permissions"></a>

L'[PackageDownloadException erreur](#core-error-failed-to-download-artifact-package-download-exception) peut inclure cette trace de pile dans les cas suivants :
+ L'artefact du composant n'est pas disponible à l'URL de l'objet S3 que vous spécifiez dans la recette du composant. Vérifiez que vous avez chargé l'artefact dans le compartiment S3 et que l'URI de l'artefact correspond à l'URL de l'objet S3 de l'artefact dans le compartiment.
+ Le [rôle d'échange de jetons](device-service-role.md) du périphérique principal ne permet pas au logiciel AWS IoT Greengrass Core de télécharger l'artefact du composant à partir de l'URL de l'objet S3 que vous spécifiez dans la recette du composant. Vérifiez que le rôle d'échange de jetons autorise `s3:GetObject` l'URL de l'objet S3 où l'artefact est disponible.

#### software.amazon.awssdk.services.s3.model.S3Exception: Access Denied (Service: S3, Status Code: 403, Request ID: <requestID>
<a name="core-error-failed-to-download-artifact-get-bucket-location-403"></a>

L'[PackageDownloadException erreur](#core-error-failed-to-download-artifact-package-download-exception) peut inclure cette trace de pile lorsque le périphérique principal n'est pas autorisé à appeler`s3:GetBucketLocation`. Le message d'erreur inclut également le message suivant.

```
reason: Failed to determine S3 bucket location
```

Vérifiez que le [rôle d'échange de jetons](device-service-role.md) du périphérique principal autorise `s3:GetBucketLocation` le compartiment S3 dans lequel l'artefact est disponible.

### Error: com.aws.greengrass.componentmanager.exceptions.ArtifactChecksumMismatchException: Integrity check for downloaded artifact failed. Probably due to file corruption.
<a name="core-error-failed-to-download-artifact-checksum-mismatch-exception"></a>

Cette erreur peut s'afficher lorsque le logiciel AWS IoT Greengrass Core ne parvient pas à télécharger un artefact de composant lorsque le périphérique principal effectue un déploiement. Le déploiement échoue car la somme de contrôle du fichier d'artefact téléchargé ne correspond pas à la somme de contrôle AWS IoT Greengrass calculée lors de la création du composant.

Procédez comme suit :
+ Vérifiez si le fichier d'artefact a changé dans le compartiment S3 où vous l'hébergez. Si le fichier a changé depuis que vous avez créé le composant, restaurez la version précédente attendue par le périphérique principal. Si vous ne parvenez pas à restaurer la version précédente du fichier ou si vous souhaitez utiliser la nouvelle version du fichier, créez une nouvelle version du composant avec le fichier d'artefact.
+ Vérifiez la connexion Internet de votre appareil principal. Cette erreur peut se produire si le fichier d'artefact est endommagé lors du téléchargement. Créez un nouveau déploiement et réessayez.

### Error: com.aws.greengrass.componentmanager.exceptions.NoAvailableComponentVersionException: Failed to negotiate component <name> version with cloud and no local applicable version satisfying requirement <requirements>
<a name="core-error-no-available-component-version"></a>

Cette erreur peut s'afficher lorsqu'un périphérique principal ne trouve pas de version de composant répondant aux exigences des déploiements pour ce périphérique principal. Le périphérique principal vérifie la présence du composant dans le AWS IoT Greengrass service et sur le périphérique local. Le message d'erreur inclut la cible de chaque déploiement et les exigences de version de ce déploiement pour le composant. La cible de déploiement peut être un objet, un groupe d'objets ou `LOCAL_DEPLOYMENT` un objet représentant le déploiement local sur le périphérique principal.

Ce problème peut se produire dans les cas suivants :
+ Le périphérique principal est la cible de plusieurs déploiements dont les exigences en matière de version des composants sont contradictoires. Par exemple, le périphérique principal peut être la cible de plusieurs déploiements incluant un `com.example.HelloWorld` composant, l'un nécessitant la version 1.0.0 et l'autre la version 1.0.1. Comme il est impossible de disposer d'un composant répondant aux deux exigences, le déploiement échoue.
+ La version du composant n'existe pas dans le AWS IoT Greengrass service ou sur l'appareil local. Le composant a peut-être été supprimé, par exemple.
+ Il existe des versions de composants qui répondent aux exigences de version, mais aucune n'est compatible avec la plate-forme de l'appareil principal.
+ La AWS IoT politique de l'appareil principal n'accorde pas l'`greengrass:ResolveComponentCandidates`autorisation. Recherchez `Status Code: 403` dans le journal des erreurs pour identifier ce problème. Pour résoudre ce problème, ajoutez l'`greengrass:ResolveComponentCandidates`autorisation à la AWS IoT politique de l'appareil principal. Pour de plus amples informations, veuillez consulter [AWS IoT Politique minimale pour les appareils AWS IoT Greengrass V2 principaux](device-auth.md#greengrass-core-minimal-iot-policy).

Pour résoudre ce problème, modifiez les déploiements afin d'inclure les versions de composants compatibles ou supprimez les versions incompatibles. Pour plus d'informations sur la révision des déploiements dans le cloud, consultez[Réviser les déploiements](revise-deployments.md). Pour plus d'informations sur la façon de réviser les déploiements locaux, consultez la commande [AWS IoT Greengrass CLI deployment create](gg-cli-deployment.md#deployment-create).

### software.amazon.awssdk.services.greengrassv2data.model.ResourceNotFoundException: The latest version of Component <componentName> doesn't claim platform <coreDevicePlatform> compatibility
<a name="deployment-error-no-platform-compatibility"></a>

Cette erreur peut s'afficher lorsque vous déployez un composant sur un périphérique principal et que le composant ne répertorie aucune plate-forme compatible avec la plate-forme de l'appareil principal. Effectuez l’une des actions suivantes :
+ S'il s'agit d'un composant Greengrass personnalisé, vous pouvez le mettre à jour pour qu'il soit compatible avec le périphérique principal. Ajoutez un nouveau manifeste correspondant à la plate-forme de l'appareil principal ou mettez à jour un manifeste existant pour qu'il corresponde à la plate-forme de l'appareil principal. Pour de plus amples informations, veuillez consulter [AWS IoT Greengrass référence de recette de composant](component-recipe-reference.md).
+ Si le composant est fourni par AWS, vérifiez si une autre version du composant est compatible avec le périphérique principal. Si aucune version n'est compatible, contactez-nous en [AWS re:Post](https://repost.aws/)utilisant le [AWS IoT Greengrass tag](https://repost.aws/tags/TA4ckIed1sR4enZBey29rKTg/aws-io-t-greengrass), ou contactez [Support](https://aws.amazon.com/contact-us/).

### com.aws.greengrass.componentmanager.exceptions.PackagingException: The deployment attempts to update the nucleus from aws.greengrass.Nucleus-<version> to aws.greengrass.Nucleus-<version> but no component of type nucleus was included as target component
<a name="deployment-error-nucleus-minor-version-update"></a>

Cette erreur peut s'afficher lorsque vous déployez un composant qui dépend du [noyau Greengrass](greengrass-nucleus-component.md) et que le périphérique principal exécute une version du noyau de Greengrass antérieure à la dernière version mineure disponible. Cette erreur se produit car le logiciel AWS IoT Greengrass Core essaie de mettre à jour automatiquement les composants vers la dernière version compatible. Cependant, le logiciel AWS IoT Greengrass Core empêche la mise à jour du noyau Greengrass vers une nouvelle version mineure, car plusieurs composants AWS fournis dépendent de versions mineures spécifiques du noyau Greengrass. Pour de plus amples informations, veuillez consulter [Comportement de mise à jour du noyau Greengrass](update-greengrass-core-v2.md#ota-update-behavior-nucleus).

Vous devez [revoir le déploiement](revise-deployments.md) pour spécifier la version du noyau Greengrass que vous souhaitez utiliser. Effectuez l’une des actions suivantes :
+ Révisez le déploiement pour spécifier la version du noyau Greengrass que le périphérique principal exécute actuellement.
+ Révisez le déploiement pour spécifier une version mineure ultérieure du noyau Greengrass. Si vous choisissez cette option, vous devez également mettre à jour les versions de tous les composants AWS fournis qui dépendent de versions mineures spécifiques du noyau Greengrass. Pour de plus amples informations, veuillez consulter [AWS-composants fournis](public-components.md).

### Error: com.aws.greengrass.deployment.exceptions.DeploymentException: Unable to process deployment. Greengrass launch directory is not set up or Greengrass is not set up as a system service
<a name="deployment-error-unable-to-process-deployment"></a>

Cette erreur peut s'afficher lorsque vous déplacez un appareil Greengrass d'un groupe d'objets à un autre, puis que vous revenez au groupe d'origine avec des déploiements nécessitant le redémarrage de Greengrass. 

Pour résoudre ce problème, recréez le répertoire de lancement de l'appareil. Nous vous recommandons également vivement de passer à la version 2.9.6 ou ultérieure du noyau Greengrass.

Voici un script Linux permettant de recréer le répertoire de lancement. Enregistrez le script dans un fichier appelé`fix_directory.sh`.

```
#!/bin/bash

set -e

GG_ROOT=$1
GG_VERSION=$2

CURRENT="$GG_ROOT/alts/current"

if [ ! -L "$CURRENT" ]; then
  mkdir -p $GG_ROOT/alts/directory_fix
  echo "Relinking $GG_ROOT/alts/directory_fix to $CURRENT"
  ln -sf $GG_ROOT/alts/directory_fix $CURRENT
fi

TARGET=$(readlink $CURRENT)

if [[ ! -d "$TARGET" ]]; then
  echo "Creating directory: $TARGET"
  mkdir -p "$TARGET"
fi

DISTRO_LINK="$TARGET/distro"
DISTRO="$GG_ROOT/packages/artifacts-unarchived/aws.greengrass.Nucleus/$GG_VERSION/aws.greengrass.nucleus/"
echo "Relinking Nucleus artifacts to $DISTRO_LINK"
ln -sf $DISTRO $DISTRO_LINK
```

Pour exécuter le script, exécutez la commande suivante :

```
[root@ip-172-31-27-165 ~]# ./fix_directory.sh /greengrass/v2 2.9.5
Relinking /greengrass/v2/alts/directory_fix to /greengrass/v2/alts/current
Relinking Nucleus artifacts to /greengrass/v2/alts/directory_fix/distro
```

### Info: com.aws.greengrass.deployment.exceptions.RetryableDeploymentDocumentDownloadException: Greengrass Cloud Service returned an error when getting full deployment configuration
<a name="core-error-getting-full-deployment-configuration"></a>

Cette erreur peut s'afficher lorsque le périphérique principal reçoit un document de déploiement volumineux, qui est un document de déploiement supérieur à 7 Ko (pour les déploiements ciblant des objets) ou 31 Ko (pour les déploiements ciblant des groupes d'objets). Pour récupérer un document de déploiement volumineux, la AWS IoT politique d'un appareil principal doit autoriser l'`greengrass:GetDeploymentConfiguration`autorisation. Cette erreur peut se produire lorsque le périphérique principal ne dispose pas de cette autorisation. Lorsque cette erreur se produit, le déploiement recommence indéfiniment et son statut est **En cours** (`IN_PROGRESS`).

Pour résoudre ce problème, ajoutez l'`greengrass:GetDeploymentConfiguration`autorisation à la AWS IoT politique de l'appareil principal. Pour de plus amples informations, veuillez consulter [Mettre à jour la AWS IoT politique d'un appareil principal](device-auth.md#update-core-device-iot-policy).

### Warn: com.aws.greengrass.deployment.DeploymentService: Failed to get thing group hierarchy
<a name="core-warning-failed-to-get-thing-group-hierarchy"></a>

Cet avertissement peut s'afficher lorsque le périphérique principal reçoit un déploiement et que la AWS IoT politique du périphérique principal n'autorise pas cette `greengrass:ListThingGroupsForCoreDevice` autorisation. Lorsque vous créez un déploiement, le périphérique principal utilise cette autorisation pour identifier ses groupes d'objets et supprimer des composants pour tous les groupes d'objets dont vous avez supprimé le périphérique principal. Si le périphérique principal exécute [Greengrass nucleus](greengrass-nucleus-component.md) v2.5.0, le déploiement échoue. Si le périphérique principal exécute Greengrass nucleus v2.5.1 ou version ultérieure, le déploiement se poursuit mais aucun composant n'est supprimé. Pour plus d'informations sur le comportement de suppression des groupes d'objets, consultez[Déployer AWS IoT Greengrass des composants sur des appareils](manage-deployments.md).

Pour mettre à jour le comportement de l'appareil principal afin de supprimer les composants des groupes d'objets dont vous supprimez le périphérique principal, ajoutez l'`greengrass:ListThingGroupsForCoreDevice`autorisation à la AWS IoT politique du périphérique principal. Pour de plus amples informations, veuillez consulter [Mettre à jour la AWS IoT politique d'un appareil principal](device-auth.md#update-core-device-iot-policy).

### Info: com.aws.greengrass.deployment.DeploymentDocumentDownloader: Calling Greengrass cloud to get full deployment configuration
<a name="core-info-repetitive-get-full-deployment-configuration"></a>

Ce message d'information peut s'afficher plusieurs fois sans erreur, car le périphérique principal enregistre l'erreur au niveau du `DEBUG` journal. Ce problème peut se produire lorsque le périphérique principal reçoit un document de déploiement volumineux. Lorsque ce problème se produit, le déploiement recommence indéfiniment et son statut est **En cours** (`IN_PROGRESS`). Pour plus d'informations sur la manière de résoudre ce problème, consultez [cette entrée de résolution des problèmes](#core-error-getting-full-deployment-configuration).

### Caused by: software.amazon.awssdk.services.greengrassv2data.model.GreengrassV2DataException: null (Service: GreengrassV2Data, Status Code: 403, Request ID: <some\$1request\$1id>, Extended Request ID: null)
<a name="greengrassv2dataexception"></a>

Cette erreur peut s'afficher lorsqu'une API de plan de données n'est pas `iot:Connect` autorisée. Si vous n'avez pas la bonne politique, vous recevrez un`GreengrassV2DataException: 403`. Pour créer une politique d'autorisation, suivez ces instructions :[Création d'une AWS IoT politique](fleet-provisioning-setup.md#create-iot-policy).

## Principaux problèmes liés aux composants de l'appareil
<a name="greengrass-core-component-issues"></a>

Résolvez les problèmes liés aux composants Greengrass sur les principaux appareils.

**Topics**
+ [Warn: '<command>' is not recognized as an internal or external command](#component-warn-command-not-recognized)
+ [Le script Python n'enregistre pas les messages](#python-component-no-log-output)
+ [La configuration des composants ne se met pas à jour lors de la modification de la configuration par défaut](#update-component-configuration-to-default-configuration)
+ [awsiot.greengrasscoreipc.model.UnauthorizedError](#ipc-unauthorized-error)
+ [com.aws.greengrass.authorization.exceptions.AuthorizationException: Duplicate policy ID "<id>" for principal "<componentList>"](#ipc-duplicate-authorization-policy-ids)
+ [com.aws.greengrass.tes.CredentialRequestHandler: Error in retrieving AwsCredentials from TES (HTTP 400)](#token-exchange-service-credentials-http-400)
+ [com.aws.greengrass.tes.CredentialRequestHandler: Error in retrieving AwsCredentials from TES (HTTP 403)](#token-exchange-service-credentials-http-403)
+ [com.aws.greengrass.tes.CredentialsProviderError: Could not load credentials from any providers](#token-exchange-service-credentials-provider-error)
+ [Received error when attempting to retrieve ECS metadata: Could not connect to the endpoint URL: "<tokenExchangeServiceEndpoint>"](#token-exchange-service-not-running)
+ [copyFrom: <configurationPath> is already a container, not a leaf](#configuration-key-is-container-cannot-become-leaf)
+ [com.aws.greengrass.componentmanager.plugins.docker.exceptions.DockerLoginException: Error logging into the registry using credentials - 'The stub received bad data.'](#docker-login-stub-received-bad-data)
+ [java.io.IOException: Cannot run program "cmd" ...: [LogonUser] The password for this account has expired.](#windows-account-password-expired)
+ [aws.greengrass.StreamManager: Instant exceeds minimum or maximum instant](#stream-manager-instant-exceeds-maximun-minimum)

### Warn: '<command>' is not recognized as an internal or external command
<a name="component-warn-command-not-recognized"></a>

Cette erreur peut s'afficher dans les journaux d'un composant Greengrass lorsque le logiciel AWS IoT Greengrass Core ne parvient pas à exécuter une commande dans le script de cycle de vie du composant. L'état du composant `BROKEN` résulte de cette erreur. Cette erreur peut se produire si l'utilisateur du système qui exécute le composant, par exemple`ggc_user`, ne trouve pas le fichier exécutable de la commande dans les dossiers du [PATH](https://en.wikipedia.org/wiki/PATH_(variable)).

Sur les appareils Windows, vérifiez que le dossier contenant le fichier exécutable est destiné à l'`PATH`utilisateur du système qui exécute le composant. S'il ne figure pas dans le`PATH`, effectuez l'une des opérations suivantes :
+ Ajoutez le dossier de l'exécutable à la variable `PATH` système, qui est accessible à tous les utilisateurs. Redémarrez ensuite le composant.

  Si vous exécutez Greengrass nucleus 2.5.0, après avoir mis à jour la variable `PATH` système, vous devez redémarrer le logiciel AWS IoT Greengrass Core pour exécuter les composants avec la mise à jour. `PATH` Si le logiciel AWS IoT Greengrass Core n'utilise pas la mise à jour `PATH` après le redémarrage du logiciel, redémarrez l'appareil et réessayez. Pour de plus amples informations, veuillez consulter [Exécutez le logiciel AWS IoT Greengrass Core](run-greengrass-core-v2.md).
+ Ajoutez le dossier de l'exécutable à la variable `PATH` utilisateur correspondant à l'utilisateur du système qui exécute le composant.

### Le script Python n'enregistre pas les messages
<a name="python-component-no-log-output"></a>

Les appareils Greengrass Core collectent des journaux que vous pouvez utiliser pour identifier les problèmes liés aux composants. Si vos scripts `stdout` et `stderr` messages Python n'apparaissent pas dans les journaux de vos composants, vous devrez peut-être vider la mémoire tampon ou désactiver la mise en mémoire tampon pour ces flux de sortie standard en Python. Effectuez l’une des actions suivantes :
+ Exécutez Python avec l'argument [-u](https://docs.python.org/3/using/cmdline.html#cmdoption-u) pour désactiver la mise en mémoire tampon sur `stdout` et. `stderr`

------
#### [ Linux or Unix ]

  ```
  python3 -u hello_world.py
  ```

------
#### [ Windows ]

  ```
  py -3 -u hello_world.py
  ```

------
+ Utilisez [Setenv](component-recipe-reference.md#lifecycle-setenv-definition) dans la recette de votre composant pour définir la variable d'environnement [PYTHONUNBUFFERED](https://docs.python.org/3/using/cmdline.html#envvar-PYTHONUNBUFFERED) sur une chaîne non vide. Cette variable d'environnement désactive la mise en mémoire tampon sur `stdout` et. `stderr`
+ Videz la mémoire tampon pour les `stderr` flux `stdout` or. Effectuez l’une des actions suivantes :
  + Videz un message lorsque vous l'imprimez.

    ```
    import sys
    
    print('Hello, error!', file=sys.stderr, flush=True)
    ```
  + Videz un message après l'avoir imprimé. Vous pouvez envoyer plusieurs messages avant de vider le flux.

    ```
    import sys
    
    print('Hello, error!', file=sys.stderr)
    sys.stderr.flush()
    ```

Pour plus d'informations sur la façon de vérifier que votre script Python génère des messages de journal, consultez[AWS IoT Greengrass Journaux de surveillance](monitor-logs.md).

### La configuration des composants ne se met pas à jour lors de la modification de la configuration par défaut
<a name="update-component-configuration-to-default-configuration"></a>

Lorsque vous modifiez la recette `DefaultConfiguration` d'un composant, la nouvelle configuration par défaut ne remplacera pas la configuration existante du composant lors d'un déploiement. Pour appliquer la nouvelle configuration par défaut, vous devez rétablir les paramètres par défaut du composant. Lorsque vous déployez le composant, spécifiez une seule chaîne vide comme [mise à jour de réinitialisation](update-component-configurations.md#reset-configuration-update).

------
#### [ Console ]

**Réinitialiser les chemins**  

```
[""]
```

------
#### [ AWS CLI ]

La commande suivante crée un déploiement sur un périphérique principal.

```
aws greengrassv2 create-deployment --cli-input-json file://reset-configuration-deployment.json
```

Le `reset-configuration-deployment.json` fichier contient le document JSON suivant.

```
{
  "targetArn": "arn:aws:iot:us-west-2:123456789012:thing/MyGreengrassCore",
  "deploymentName": "Deployment for MyGreengrassCore",
  "components": {
    "com.example.HelloWorld": {
      "componentVersion": "1.0.0",
      "configurationUpdate": {,
        "reset": [""]
      }
    }
  }
}
```

------
#### [ Greengrass CLI ]

La commande [Greengrass CLI](greengrass-cli-component.md) suivante crée un déploiement local sur un périphérique principal.

```
sudo greengrass-cli deployment create \
  --recipeDir recipes \
  --artifactDir artifacts \
  --merge "com.example.HelloWorld=1.0.0" \
  --update-config reset-configuration-deployment.json
```

Le `reset-configuration-deployment.json` fichier contient le document JSON suivant.

```
{
  "com.example.HelloWorld": {
    "RESET": [""]
  }
}
```

------

### awsiot.greengrasscoreipc.model.UnauthorizedError
<a name="ipc-unauthorized-error"></a>

Vous pouvez voir cette erreur dans les journaux d'un composant Greengrass lorsque le composant n'est pas autorisé à effectuer une opération IPC sur une ressource. Pour autoriser un composant à appeler une opération IPC, définissez une politique d'autorisation IPC dans la configuration du composant. Pour de plus amples informations, veuillez consulter [Autoriser les composants à effectuer des opérations IPC](interprocess-communication.md#ipc-authorization-policies).

**Astuce**  <a name="tip-reset-configuration-to-apply-new-default-configuration"></a>
Si vous modifiez la `DefaultConfiguration` recette d'un composant, vous devez rétablir la configuration du composant à sa nouvelle configuration par défaut. Lorsque vous déployez le composant, spécifiez une seule chaîne vide comme [mise à jour de réinitialisation](update-component-configurations.md#reset-configuration-update). Pour de plus amples informations, veuillez consulter [La configuration des composants ne se met pas à jour lors de la modification de la configuration par défaut](#update-component-configuration-to-default-configuration).

### com.aws.greengrass.authorization.exceptions.AuthorizationException: Duplicate policy ID "<id>" for principal "<componentList>"
<a name="ipc-duplicate-authorization-policy-ids"></a>

Cette erreur peut s'afficher si plusieurs politiques d'autorisation IPC, y compris pour tous les composants du périphérique principal, utilisent le même ID de stratégie.

Vérifiez les politiques d'autorisation IPC de vos composants, corrigez les doublons et réessayez. Pour créer une politique unique IDs, nous vous recommandons de combiner le nom du composant, le nom du service IPC et un compteur. Pour de plus amples informations, veuillez consulter [Autoriser les composants à effectuer des opérations IPC](interprocess-communication.md#ipc-authorization-policies).

**Astuce**  <a name="tip-reset-configuration-to-apply-new-default-configuration"></a>
Si vous modifiez la `DefaultConfiguration` recette d'un composant, vous devez rétablir la configuration du composant à sa nouvelle configuration par défaut. Lorsque vous déployez le composant, spécifiez une seule chaîne vide comme [mise à jour de réinitialisation](update-component-configurations.md#reset-configuration-update). Pour de plus amples informations, veuillez consulter [La configuration des composants ne se met pas à jour lors de la modification de la configuration par défaut](#update-component-configuration-to-default-configuration).

### com.aws.greengrass.tes.CredentialRequestHandler: Error in retrieving AwsCredentials from TES (HTTP 400)
<a name="token-exchange-service-credentials-http-400"></a>

Cette erreur peut s'afficher lorsqu'un appareil principal ne parvient pas à obtenir les AWS informations d'identification du [service d'échange de jetons](interact-with-aws-services.md). Le code d'état HTTP 400 indique que cette erreur s'est produite parce que le [rôle IAM d'échange de jetons](device-service-role.md) du périphérique principal n'existe pas ou n'a aucune relation de confiance permettant au fournisseur AWS IoT d'informations d'identification de l'assumer.

Procédez comme suit :

1. Identifiez le rôle d'échange de jetons utilisé par le périphérique principal. Le message d'erreur inclut l'alias de AWS IoT rôle du périphérique principal, qui pointe vers le rôle d'échange de jetons. Exécutez la commande suivante sur votre ordinateur de développement et remplacez-la *MyGreengrassCoreTokenExchangeRoleAlias* par le nom de l'alias de AWS IoT rôle indiqué dans le message d'erreur.

   ```
   aws iot describe-role-alias --role-alias MyGreengrassCoreTokenExchangeRoleAlias
   ```

   La réponse inclut le nom de ressource Amazon (ARN) du rôle IAM d'échange de jetons.

   ```
   {
     "roleAliasDescription": {
       "roleAlias": "MyGreengrassCoreTokenExchangeRoleAlias",
       "roleAliasArn": "arn:aws:iot:us-west-2:123456789012:rolealias/MyGreengrassCoreTokenExchangeRoleAlias",
       "roleArn": "arn:aws:iam::123456789012:role/MyGreengrassV2TokenExchangeRole",
       "owner": "123456789012",
       "credentialDurationSeconds": 3600,
       "creationDate": "2021-02-05T16:46:18.042000-08:00",
       "lastModifiedDate": "2021-02-05T16:46:18.042000-08:00"
     }
   }
   ```

1. Vérifiez que le rôle existe. Exécutez la commande suivante et remplacez-la *MyGreengrassV2TokenExchangeRole* par le nom du rôle d'échange de jetons.

   ```
   aws iam get-role --role-name MyGreengrassV2TokenExchangeRole
   ```

   Si la commande renvoie une `NoSuchEntity` erreur, le rôle n'existe pas et vous devez le créer. Pour plus d'informations sur la création et la configuration de ce rôle, consultez[Autoriser les appareils principaux à interagir avec les AWS services](device-service-role.md).

1. Vérifiez que le rôle possède une relation de confiance qui permet au fournisseur AWS IoT d'informations d'identification de l'assumer. La réponse de l'étape précédente contient un`AssumeRolePolicyDocument`, qui définit les relations de confiance du rôle. Le rôle doit définir une relation de confiance permettant `credentials.iot.amazonaws.com` de l'assumer. Ce document doit ressembler à l'exemple suivant.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "credentials.iot.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

   Si les relations de confiance du rôle ne permettent pas `credentials.iot.amazonaws.com` de l'assumer, vous devez ajouter cette relation de confiance au rôle. Pour plus d'informations, consultez [Modification d'un rôle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html) dans le *Guide de l'utilisateur Gestion des identités et des accès AWS *.

### com.aws.greengrass.tes.CredentialRequestHandler: Error in retrieving AwsCredentials from TES (HTTP 403)
<a name="token-exchange-service-credentials-http-403"></a>

Cette erreur peut s'afficher lorsqu'un appareil principal ne parvient pas à obtenir les AWS informations d'identification du [service d'échange de jetons](interact-with-aws-services.md). Le code d'état HTTP 403 indique que cette erreur s'est produite parce que les AWS IoT politiques du périphérique principal n'accordent pas l'`iot:AssumeRoleWithCertificate`autorisation d'utiliser l'alias de AWS IoT rôle du périphérique principal.

Passez en revue les AWS IoT politiques de l'appareil principal et ajoutez l'`iot:AssumeRoleWithCertificate`autorisation pour l'alias de AWS IoT rôle de l'appareil principal. Le message d'erreur inclut l'alias de AWS IoT rôle actuel du périphérique principal. Pour plus d'informations sur cette autorisation et sur la manière de mettre à jour les AWS IoT politiques de l'appareil principal, consultez [AWS IoT Politique minimale pour les appareils AWS IoT Greengrass V2 principaux](device-auth.md#greengrass-core-minimal-iot-policy) et[Mettre à jour la AWS IoT politique d'un appareil principal](device-auth.md#update-core-device-iot-policy).

### com.aws.greengrass.tes.CredentialsProviderError: Could not load credentials from any providers
<a name="token-exchange-service-credentials-provider-error"></a>

Cette erreur peut s'afficher lorsque le composant essaie de demander des AWS informations d'identification et ne parvient pas à se connecter au [service d'échange de jetons](interact-with-aws-services.md).

Procédez comme suit :
+ Vérifiez que le composant déclare une dépendance à l'égard du composant du service d'échange de jetons,`aws.greengrass.TokenExchangeService`. Si ce n'est pas le cas, ajoutez la dépendance et redéployez le composant.
+ Si le composant s'exécute dans docker, assurez-vous d'appliquer les bons paramètres réseau et variables d'environnement, en fonction de. [Utiliser les AWS informations d'identification dans les composants du conteneur Docker (Linux)](run-docker-container.md#docker-container-token-exchange-service)
+ [Si le composant est écrit en NodeJS, définissez dns. setDefaultResultCommandez](https://nodejs.org/docs/latest/api/dns.html#dnssetdefaultresultorderorder) à**ipv4first**.
+ Vérifiez `/etc/hosts` s'il s'agit d'une entrée commençant par `::1` et contenant`localhost`. Supprimez l'entrée pour voir si le composant s'est connecté au service d'échange de jetons à la mauvaise adresse.

### Received error when attempting to retrieve ECS metadata: Could not connect to the endpoint URL: "<tokenExchangeServiceEndpoint>"
<a name="token-exchange-service-not-running"></a>

Cette erreur peut s'afficher lorsque le composant n'exécute pas le [service d'échange de jetons](interact-with-aws-services.md) et qu'un composant essaie de demander des AWS informations d'identification.

Procédez comme suit :
+ Vérifiez que le composant déclare une dépendance à l'égard du composant du service d'échange de jetons,`aws.greengrass.TokenExchangeService`. Si ce n'est pas le cas, ajoutez la dépendance et redéployez le composant.
+ Vérifiez si le composant utilise des AWS informations d'identification dans son `install` cycle de vie. AWS IoT Greengrass ne garantit pas la disponibilité du service d'échange de jetons pendant le `install` cycle de vie. Mettez à jour le composant pour déplacer le code qui utilise les AWS informations d'identification dans le `startup` `run` cycle de vie de l'unité d'exploitation, puis redéployez le composant.

### copyFrom: <configurationPath> is already a container, not a leaf
<a name="configuration-key-is-container-cannot-become-leaf"></a>

Cette erreur peut s'afficher lorsque vous modifiez une valeur de configuration d'un type de conteneur (liste ou objet) à un type non conteneur (chaîne, nombre ou booléen). Procédez comme suit :

1. Vérifiez la recette du composant pour voir si sa configuration par défaut définit cette valeur de configuration comme une liste ou un objet. Si tel est le cas, supprimez ou modifiez cette valeur de configuration.

1. Créez un déploiement pour rétablir cette valeur de configuration à sa valeur par défaut. Pour plus d’informations, consultez [Créer des déploiements](create-deployments.md) et [Mettre à jour les configurations des composants](update-component-configurations.md).

Vous pouvez ensuite définir cette valeur de configuration sur une chaîne, un nombre ou un booléen.

### com.aws.greengrass.componentmanager.plugins.docker.exceptions.DockerLoginException: Error logging into the registry using credentials - 'The stub received bad data.'
<a name="docker-login-stub-received-bad-data"></a>

Cette erreur peut s'afficher dans les journaux du noyau de Greengrass lorsque le [composant du gestionnaire d'applications Docker](docker-application-manager-component.md) essaie de télécharger une image Docker depuis un dépôt privé dans Amazon Elastic Container Registry (Amazon ECR). Cette erreur se produit si vous utilisez l'[assistant d'identification `wincred` Docker](https://github.com/docker/docker-credential-helpers) (). `docker-credential-wincred` Par conséquent, Amazon ECR n'est pas en mesure de stocker les informations de connexion.

Effectuez l'une des actions suivantes :
+ Si vous n'utilisez pas l'assistant d'identification `wincred` Docker, supprimez le `docker-credential-wincred` programme de l'appareil principal.
+ Si vous utilisez l'assistant d'identification `wincred` Docker, procédez comme suit :

  1. Renommez le `docker-credential-wincred` programme sur l'appareil principal. `wincred`Remplacez-le par un nouveau nom pour l'assistant d'identification Windows Docker. Par exemple, vous pouvez le renommer en`docker-credential-wincredreal`.

  1. Mettez à jour l'`credsStore`option dans le fichier de configuration Docker (`.docker/config.json`) pour utiliser le nouveau nom de l'assistant d'identification Windows Docker. Par exemple, si vous avez renommé le programme en`docker-credential-wincredreal`, mettez à jour l'`credsStore`option en`wincredreal`.

     ```
     {
       "credsStore": "wincredreal"
     }
     ```

### java.io.IOException: Cannot run program "cmd" ...: [LogonUser] The password for this account has expired.
<a name="windows-account-password-expired"></a>

Cette erreur peut s'afficher sur un périphérique Windows principal lorsque l'utilisateur du système qui exécute les processus du composant, par exemple`ggc_user`, a un mot de passe expiré. Par conséquent, le logiciel AWS IoT Greengrass Core n'est pas en mesure d'exécuter les processus des composants en tant qu'utilisateur du système.

**Pour mettre à jour le mot de passe d'un utilisateur du système Greengrass**

1. Exécutez la commande suivante en tant qu'administrateur pour définir le mot de passe de l'utilisateur. Remplacez *ggc\$1user* par l'utilisateur du système et remplacez *password* par le mot de passe à définir.

   ```
   net user ggc_user password
   ```

1. Utilisez l'[PsExec utilitaire](https://docs.microsoft.com/en-us/sysinternals/downloads/psexec) pour enregistrer le nouveau mot de passe de l'utilisateur dans l'instance Credential Manager du LocalSystem compte. *password*Remplacez-le par le mot de passe utilisateur que vous avez défini.

   ```
   psexec -s cmd /c cmdkey /generic:ggc_user /user:ggc_user /pass:password
   ```

**Astuce**  <a name="windows-password-expiration-tip"></a>
En fonction de votre configuration Windows, le mot de passe de l'utilisateur peut être configuré pour expirer à une date ultérieure. Pour vous assurer que vos applications Greengrass continuent de fonctionner, suivez la date d'expiration du mot de passe et mettez-le à jour avant son expiration. Vous pouvez également définir le mot de passe de l'utilisateur pour qu'il n'expire jamais.  
Pour vérifier la date d'expiration d'un utilisateur et de son mot de passe, exécutez la commande suivante.  

  ```
  net user ggc_user | findstr /C:expires
  ```
Pour définir le mot de passe d'un utilisateur afin qu'il n'expire jamais, exécutez la commande suivante.  

  ```
  wmic UserAccount where "Name='ggc_user'" set PasswordExpires=False
  ```
Si vous utilisez Windows 10 ou une version ultérieure où la [`wmic`commande est obsolète](https://learn.microsoft.com/en-us/windows/win32/wmisdk/wmic), exécutez la commande suivante PowerShell .  

  ```
  Get-CimInstance -Query "SELECT * from Win32_UserAccount WHERE name = 'ggc_user'" | Set-CimInstance -Property @{PasswordExpires="False"}
  ```

### aws.greengrass.StreamManager: Instant exceeds minimum or maximum instant
<a name="stream-manager-instant-exceeds-maximun-minimum"></a>

Lorsque vous mettez à niveau le gestionnaire de flux v2.0.7 vers une version comprise entre v2.0.8 et v2.0.11, vous pouvez voir l'erreur suivante dans les journaux du composant Stream Manager si le composant ne démarre pas. 

```
2021-07-16T00:54:58.568Z [INFO] (Copier) aws.greengrass.StreamManager: stdout. Caused by: com.fasterxml.jackson.databind.JsonMappingException: Instant exceeds minimum or maximum instant (through reference chain: com.amazonaws.iot.greengrass.streammanager.export.PersistedSuccessExportStatesV1["lastExportTime"]). {scriptName=services.aws.greengrass.StreamManager.lifecycle.startup.script, serviceName=aws.greengrass.StreamManager, currentState=STARTING}
2021-07-16T00:54:58.579Z [INFO] (Copier) aws.greengrass.StreamManager: stdout. Caused by: java.time.DateTimeException: Instant exceeds minimum or maximum instant. {scriptName=services.aws.greengrass.StreamManager.lifecycle.startup.script, serviceName=aws.greengrass.StreamManager, currentState=STARTING}
```

Si vous avez déployé le gestionnaire de flux v2.0.7 et que vous souhaitez effectuer une mise à niveau vers une version ultérieure, vous devez passer directement au gestionnaire de flux v2.0.12. Pour plus d'informations sur le composant du gestionnaire de flux, consultez[Gestionnaire de flux](stream-manager-component.md).

## Principaux problèmes liés aux composants de la fonction Lambda de l'appareil
<a name="greengrass-core-lambda-function-issues"></a>

Résolvez les problèmes liés aux composants de la fonction Lambda sur les appareils principaux.

**Topics**
+ [The following cgroup subsystems are not mounted: devices, memory](#lambda-cgroups-not-mounted)
+ [ipc\$1client.py:64,HTTP Error 400:Bad Request, b'No subscription exists for the source <label-or-lambda-arn> and subject <label-or-lambda-arn>](#v1-lambda-no-subscription-exists)

### The following cgroup subsystems are not mounted: devices, memory
<a name="lambda-cgroups-not-mounted"></a>

Cette erreur peut s'afficher lorsque vous exécutez une fonction Lambda conteneurisée dans les cas suivants :
+ Le cgroup v1 n'est pas activé pour la mémoire ou les cgroups de périphériques sur le périphérique principal.
+ Le périphérique principal a activé cgroups v2. Les fonctions Lambda de Greengrass nécessitent des cgroups v1, et les cgroups v1 et v2 s'excluent mutuellement.

Pour activer cgroups v1, démarrez le périphérique avec les paramètres du noyau Linux suivants.

```
cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0
```

**Astuce**  
Sur un Raspberry Pi, modifiez le `/boot/cmdline.txt` fichier pour définir les paramètres du noyau de l'appareil.

### ipc\$1client.py:64,HTTP Error 400:Bad Request, b'No subscription exists for the source <label-or-lambda-arn> and subject <label-or-lambda-arn>
<a name="v1-lambda-no-subscription-exists"></a>

Cette erreur peut s'afficher lorsque vous exécutez une fonction Lambda V1, qui utilise le SDK AWS IoT Greengrass Core, sur un périphérique principal V2 sans spécifier d'abonnement dans l'[ancien composant routeur d'abonnement](legacy-subscription-router-component.md). Pour résoudre ce problème, déployez et configurez l'ancien routeur d'abonnement afin de spécifier les abonnements requis. Pour de plus amples informations, veuillez consulter [Importer les fonctions Lambda de la V1](set-up-v2-test-device.md#run-v1-lambda-functions).

## Version du composant abandonnée
<a name="discontinued-component-version"></a>

Une notification peut s'afficher sur votre Personal Health Dashboard (PHD) lorsqu'une version d'un composant de votre appareil principal est abandonnée. La version du composant envoie cette notification à votre PHD dans les 60 minutes suivant son arrêt.

Pour voir quels déploiements vous devez réviser, procédez comme suit à l'aide de AWS Command Line Interface :

1. Exécutez la commande suivante pour obtenir la liste de vos principaux appareils.

   ```
   aws greengrassv2 list-core-devices
   ```

1. Exécutez la commande suivante pour récupérer l'état des composants de chaque périphérique principal à partir de l'étape 1. Remplacez `coreDeviceName` par le nom de chaque périphérique principal à interroger.

   ```
   aws greengrassv2 list-installed-components --core-device-thing-name coreDeviceName
   ```

1. Rassemblez les principaux appareils sur lesquels la version du composant abandonnée est installée comme indiqué dans les étapes précédentes.

1. Exécutez la commande suivante pour récupérer l'état de toutes les tâches de déploiement pour chaque périphérique principal à partir de l'étape 3. Remplacez `coreDeviceName` par le nom du périphérique principal à interroger.

   ```
   aws greengrassv2 list-effective-deployments --core-device-thing-name coreDeviceName
   ```

   La réponse contient la liste des tâches de déploiement pour le périphérique principal. Vous pouvez revoir le déploiement pour choisir une autre version du composant. Pour plus d'informations sur la façon de réviser un déploiement, consultez la section [Réviser les déploiements.](https://docs.aws.amazon.com/greengrass/v2/developerguide/revise-deployments.html)

## Problèmes liés à l'interface de ligne de commande Greengrass
<a name="greengrass-cli-issues"></a>

Résolvez les problèmes liés à la CLI [Greengrass](gg-cli.md).

**Topics**
+ [java.lang.RuntimeException: Unable to create ipc client](#greengrass-cli-unable-to-create-ipc-client)

### java.lang.RuntimeException: Unable to create ipc client
<a name="greengrass-cli-unable-to-create-ipc-client"></a>

Cette erreur peut s'afficher lorsque vous exécutez une commande Greengrass CLI et que vous spécifiez un dossier racine différent de celui dans lequel le logiciel AWS IoT Greengrass Core est installé.

Procédez de l'une des manières suivantes pour définir le chemin racine et remplacez-le `/greengrass/v2` par le chemin d'installation de votre logiciel AWS IoT Greengrass Core :<a name="greengrass-cli-set-root-path"></a>
+ Définissez la variable d'environnement `GGC_ROOT_PATH` sur `/greengrass/v2`.
+ Ajoutez l'`--ggcRootPath /greengrass/v2`argument à votre commande comme indiqué dans l'exemple suivant.

  ```
  greengrass-cli --ggcRootPath /greengrass/v2 <command> <subcommand> [arguments]
  ```

## AWS Command Line Interface problèmes
<a name="aws-cli-issues"></a>

Résoudre les AWS CLI problèmes liés à. AWS IoT Greengrass V2

**Topics**
+ [Error: Invalid choice: 'greengrassv2'](#aws-cli-invalid-choice-greengrassv2)

### Error: Invalid choice: 'greengrassv2'
<a name="aws-cli-invalid-choice-greengrassv2"></a>

Cette erreur peut s'afficher lorsque vous exécutez une AWS IoT Greengrass V2 commande avec le AWS CLI (par exemple,`aws greengrassv2 list-core-devices`).

Cette erreur indique que vous disposez d'une version AWS CLI qui n'est pas compatible AWS IoT Greengrass V2. Pour l'utiliser AWS IoT Greengrass V2 avec le AWS CLI, vous devez disposer de l'une des versions suivantes ou d'une version ultérieure :<a name="minimum-aws-cli-versions"></a>
+ Version AWS CLI V1 minimale : v1.18.197
+ Version AWS CLI V2 minimale : v2.1.11

**Astuce**  <a name="tip-check-aws-cli-version"></a>
Vous pouvez exécuter la commande suivante pour vérifier la version AWS CLI dont vous disposez.  

```
aws --version
```

Pour résoudre ce problème, mettez à jour le AWS CLI vers une version ultérieure qui prend en charge AWS IoT Greengrass V2. Pour plus d'informations, consultez la section [Installation, mise à jour et désinstallation du AWS CLI dans le](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) *guide de l'AWS Command Line Interface utilisateur*.

# Codes d'erreur de déploiement détaillés
<a name="troubleshooting-deployment"></a>

Utilisez les codes d'erreur et les solutions présentés dans ces sections pour résoudre les problèmes liés au déploiement des composants lors de l'utilisation du noyau Greengrass version 2.8.0 ou ultérieure.

Le noyau Greengrass signale les erreurs de déploiement sous la forme d'une hiérarchie allant du code le moins spécifique au code le plus spécifique disponible. Vous pouvez utiliser cette hiérarchie pour identifier la raison d'une erreur de déploiement. Par exemple, voici une hiérarchie d'erreurs possible :
+ ÉCHEC DU DÉPLOIEMENT
  + ERREUR DE TÉLÉCHARGEMENT D'ARTÉFACT
    + IO\$1ERROR
      + DISK\$1SPACE\$1CRITICAL

Les codes d'erreur sont organisés en types. Chaque type représente une classe d'erreurs susceptibles de se produire. AWS IoT Greengrass signale ces types d'erreurs dans la console, l'API et AWS CLI. Il peut y avoir plusieurs types d'erreur, en fonction des erreurs signalées dans la hiérarchie des erreurs. Pour l'exemple précédent, le type d'erreur renvoyé est`DEVICE_ERROR`.

Les types sont les suivants :
+ **PERMISSION\$1ERROR** — L'accès à une opération nécessitant une autorisation a été refusé.
+ **REQUEST\$1ERROR** — Une erreur s'est produite en raison d'un problème dans le document de déploiement.
+ **COMPONENT\$1RECIPE\$1ERROR — Une erreur** s'est produite en raison d'un problème dans la recette d'un composant.
+ **AWS\$1COMPONENT\$1ERROR** — Une erreur s'est produite lors du démarrage ou de la suppression d'un composant AWS fourni.
+ **USER\$1COMPONENT\$1ERROR — Une erreur** s'est produite lors du démarrage ou de la suppression d'un composant utilisateur.
+ **COMPONENT\$1ERROR** — Une erreur s'est produite lors du démarrage ou de la suppression d'un composant, mais le noyau Greengrass n'a pas pu déterminer si le composant est un composant AWS fourni ou un composant utilisateur.
+ **DEVICE\$1ERROR — Une erreur** s'est produite au niveau local I/O ou une autre erreur de périphérique s'est produite.
+ **DEPENDENCY\$1ERROR** — Un déploiement n'a pas réussi à télécharger un artefact depuis Amazon S3 ou à extraire une image d'un registre ECR.
+ **HTTP\$1ERROR** — Une erreur s'est produite lors d'une requête HTTP.
+ **NETWORK\$1ERROR** — Une erreur s'est produite sur le réseau de l'appareil.
+ **NUCLEUS\$1ERROR** — Le noyau de Greengrass n'a pas pu localiser un composant ou n'a pas pu trouver la version du noyau actif.
+ **SERVER\$1ERROR** — Un serveur a renvoyé une erreur 500 en réponse à une demande.
+ **CLOUD\$1SERVICE\$1ERROR — Une erreur** s'est produite avec le service cloud. AWS IoT Greengrass 
+ **UNKNOWN\$1ERROR** — Une exception non vérifiée a été émise par le composant.

La plupart des erreurs de cette section signalent des informations supplémentaires dans les journaux de AWS IoT Greengrass base. Ces journaux sont stockés dans le système de fichiers local de l'appareil principal. Il existe des journaux pour le logiciel AWS IoT Greengrass principal et pour chaque composant individuel. Pour plus d'informations sur l'accès aux journaux, consultez[Accéder aux journaux du système de fichiers](monitor-logs.md#access-local-logs).

## Erreur d'autorisation
<a name="permission-error"></a>

ACCÈS REFUSÉ  
Cette erreur peut se produire lorsqu'une opération de AWS service renvoie une erreur 403 parce que les autorisations ne sont pas correctement configurées. Consultez le code d'erreur le plus spécifique pour plus de détails.

GET\$1DEPLOYMENT\$1CONFIGURATION\$1ACCESS\$1DENIED  
Cette erreur peut se produire lorsque la AWS IoT politique ne permet pas d'appeler l'`GetDeploymentConfiguration`opération. Ajoutez l'`greengrass::GetDeploymentConfiguration`autorisation à la politique de l'appareil principal.

GET\$1COMPONENT\$1VERSION\$1ARTIFACT\$1ACCESS\$1DENIED  
Cette erreur peut se produire lorsque la AWS IoT politique principale de l'appareil n'autorise pas l'`greengrass:GetComponentVersionArtifact`autorisation. Ajoutez l'autorisation à la politique de l'appareil principal.

RESOLVE\$1COMPONENT\$1CANDIDATES\$1ACCESS\$1DENIED  
Cette erreur peut se produire lorsque la AWS IoT politique principale de l'appareil n'autorise pas l'`greengrass:ResolveComponentCandidates`autorisation. Ajoutez l'autorisation à la politique de l'appareil principal.

GET\$1ECR\$1CREDENTIAL\$1ERROR  
Cette erreur peut se produire lorsque le déploiement n'a pas pu s'authentifier auprès d'un registre privé dans ECR. Vérifiez la présence d'une erreur spécifique dans le journal, puis réessayez le déploiement.

UTILISATEUR NON AUTORISÉ POUR DOCKER  
Cette erreur peut se produire lorsque l'utilisateur de Greengrass n'est pas autorisé à utiliser Docker. Assurez-vous que vous utilisez Greengrass en tant que root ou que l'utilisateur est ajouté au `docker` groupe. Réessayez ensuite le déploiement.

S3\$1ACCESS\$1DENIED  
Cette erreur peut se produire lorsqu'une opération Amazon S3 renvoie une erreur 403. Consultez tous les codes d'erreur ou journaux supplémentaires pour plus de détails.

S3\$1HEAD\$1OBJECT\$1ACCESS\$1DENIED  
Cette erreur peut se produire soit lorsque le rôle d'échange de jetons de l'appareil n'autorise pas le logiciel AWS IoT Greengrass Core à télécharger l'artefact du composant à partir de l'URL de l'objet S3 que vous spécifiez dans la recette du composant, soit lorsque l'artefact du composant n'est pas disponible. Vérifiez que le rôle d'échange de jetons autorise `s3:GetObject` l'URL de l'objet S3 où l'artefact est disponible et que l'artefact est présent.

S3\$1GET\$1BUCKET\$1LOCATION\$1ACCESS\$1DENIED  
Cette erreur peut se produire lorsque le rôle d'échange de jetons de l'appareil n'autorise pas l'`s3:GetBucketLocation`accès au compartiment Amazon S3 dans lequel l'artefact est disponible. Vérifiez que l'appareil autorise l'autorisation, puis réessayez le déploiement.

S3\$1GET\$1OBJECT\$1ACCESS\$1DENIED  
Cette erreur peut se produire soit lorsque le rôle d'échange de jetons de l'appareil n'autorise pas le logiciel AWS IoT Greengrass Core à télécharger l'artefact du composant à partir de l'URL de l'objet S3 que vous spécifiez dans la recette du composant, soit lorsque l'artefact du composant n'est pas disponible. Vérifiez que le rôle d'échange de jetons autorise `s3:GetObject` l'URL de l'objet S3 où l'artefact est disponible et que l'artefact est présent.

## Erreur de demande
<a name="request-error"></a>

CAPACITÉS REQUISES\$1MANQUANTES DU NOYAU  
Cette erreur peut se produire lorsque la version du noyau du déploiement ne permet pas une opération demandée, telle que le téléchargement d'une configuration volumineuse ou la définition de limites de ressources Linux. Réessayez le déploiement avec une version du noyau compatible avec l'opération.

ERREUR MULTIPLE\$1NUCLEUS\$1RESOLVED\$1ERROR  
Cette erreur peut se produire lorsqu'un déploiement tente de déployer plusieurs composants du noyau. Consultez le journal pour voir la cause de l'erreur, puis consultez la page de mise à jour du logiciel Nucleus pour voir si le problème a été corrigé dans une version ultérieure du Nucleus, ou contactez Support.

COMPONENT\$1CIRCULAR\$1DEPENDENCY\$1ERROR  
Cette erreur peut se produire lorsque deux composants de votre déploiement dépendent l'un de l'autre. Révisez la configuration des composants afin que les composants de votre déploiement ne dépendent pas les uns des autres. 

UNAUTHORIZED\$1NUCLEUS\$1MINOR\$1VERSION\$1UPDATE  
Cette erreur peut se produire lorsqu'un composant de votre déploiement nécessite une mise à jour d'une version mineure du noyau, mais que cette version n'est pas spécifiée dans le déploiement. Cela permet de réduire les mises à jour mineures accidentelles pour les composants qui dépendent d'une version différente. Incluez la nouvelle version mineure du noyau dans le déploiement.

GESTIONNAIRE D'APPLICATIONS DOCKER\$1MANQUANT  
Cette erreur peut se produire lorsque vous déployez un composant Docker sans déployer le gestionnaire d'applications Docker. Assurez-vous que votre déploiement inclut le gestionnaire d'applications Docker.

SERVICE D'ÉCHANGE DE JETONS MANQUANTS  
Cette erreur peut se produire lorsque le déploiement souhaite télécharger un artefact d'image Docker à partir d'un registre ECR privé sans déployer le service d'échange de jetons. Assurez-vous que votre déploiement inclut le service d'échange de jetons.

LES EXIGENCES RELATIVES À LA VERSION DU COMPOSANT NE SONT PAS SATISFAITES  
Cette erreur peut s'afficher en cas de conflit de contrainte de version ou en cas d'inexistence d'une version de composant. Pour de plus amples informations, veuillez consulter [Error: com.aws.greengrass.componentmanager.exceptions.NoAvailableComponentVersionException: Failed to negotiate component <name> version with cloud and no local applicable version satisfying requirement <requirements>](troubleshooting.md#core-error-no-available-component-version).

THROTTLING\$1ERROR  
Cette erreur peut se produire lorsqu'une opération AWS de service a dépassé un quota de débit. Retentez le déploiement.

DEMANDE\$1CONFLICTUELLE  
Cette erreur peut se produire lorsqu'une opération de AWS service renvoie une erreur 409 parce que votre déploiement tente d'effectuer plusieurs opérations à la fois. Retentez le déploiement.

RESSOURCE INTROUVABLE  
Cette erreur peut se produire lorsqu'une opération de AWS service renvoie une erreur 404 parce qu'une ressource est introuvable. Vérifiez la ressource manquante dans le journal.

EXÉCUTER\$1AVEC\$1CONFIG\$1NOT\$1VALID  
Cette erreur peut se produire lorsque les `windowsUser` informations `posixUser``posixGroup`, ou spécifiées pour exécuter le composant ne sont pas valides. Vérifiez que l'utilisateur est valide, puis réessayez le déploiement.

RÉGION\$1NON PRISE EN CHARGE  
Cette erreur peut se produire lorsque la région spécifiée pour le déploiement n'est pas prise en charge par AWS IoT Greengrass. Vérifiez la région et réessayez le déploiement.

IOT\$1CRED\$1ENDPOINT\$1NOT\$1VALID  
Cette erreur peut se produire lorsque le point de terminaison des AWS IoT informations d'identification spécifié dans la configuration n'est pas valide. Vérifiez le point de terminaison et réessayez votre demande.

IOT\$1DATA\$1ENDPOINT\$1NOT\$1VALID  
Cette erreur peut se produire lorsque le point de terminaison de AWS IoT données spécifié dans la configuration n'est pas valide. Vérifiez le point de terminaison et réessayez votre demande.

S3\$1HEAD\$1OBJECT\$1RESOURCE\$1NOT\$1FOUND  
Cette erreur peut se produire lorsque l'artefact du composant n'est pas disponible à l'URL de l'objet S3 que vous spécifiez dans la recette du composant. Vérifiez que vous avez chargé l'artefact dans le compartiment S3 et que l'URI de l'artefact correspond à l'URL de l'objet S3 de l'artefact dans le compartiment.

S3\$1GET\$1BUCKET\$1LOCATION\$1RESOURCE\$1NOT\$1FOUND  
Cette erreur peut s'afficher lorsque le compartiment Amazon S3 n'est pas trouvé. Vérifiez que le compartiment existe et réessayez le déploiement.

S3\$1GET\$1OBJECT\$1RESOURCE\$1NOT\$1FOUND  
Cette erreur peut se produire lorsque l'artefact du composant n'est pas disponible à l'URL de l'objet S3 que vous spécifiez dans la recette du composant. Vérifiez que vous avez chargé l'artefact dans le compartiment S3 et que l'URI de l'artefact correspond à l'URL de l'objet S3 de l'artefact dans le compartiment.

IO\$1MAPPING\$1ERROR  
Cette erreur peut se produire lorsqu'une I/O erreur se produit lors de l'analyse d'un document ou d'une recette de déploiement. Consultez tous les codes d'erreur ou journaux supplémentaires pour plus de détails.

## Erreur de recette du composant
<a name="component-recipe-error"></a>

ERREUR D'ANALYSE DE LA RECETTE  
Cette erreur peut se produire lorsque la recette de déploiement n'a pas pu être analysée en raison d'une erreur dans la structure de la recette. Vérifiez que la recette est correctement formatée et réessayez le déploiement.

RECECIPE\$1METADATA\$1PARSE\$1ERROR  
Cette erreur peut se produire lorsque les métadonnées de la recette de déploiement téléchargées depuis le cloud ne peuvent pas être analysées. Contacter Support.

ARTEFACT\$1URI\$1NOT\$1VALID  
Cette erreur peut se produire lorsqu'un URI d'artefact dans une recette n'est pas formaté correctement. Vérifiez dans le journal l'URI qui n'est pas valide, mettez à jour l'URI dans la recette, puis réessayez le déploiement.

S3\$1ARTIFACT\$1URI\$1NOT\$1VALID  
Cette erreur peut se produire lorsque l'URI Amazon S3 d'un artefact dans une recette n'est pas valide. Vérifiez dans le journal l'URI qui n'est pas valide, mettez à jour l'URI dans la recette, puis réessayez le déploiement.

DOCKER\$1ARTIFACT\$1URI\$1NOT\$1VALID  
Cette erreur peut se produire lorsque l'URI Docker d'un artefact dans une recette n'est pas valide. Vérifiez dans le journal l'URI qui n'est pas valide, mettez à jour l'URI dans la recette, puis réessayez le déploiement.

EMPTY\$1ARTIFACT\$1URI  
Cette erreur peut se produire lorsque l'URI d'un artefact n'est pas spécifié dans une recette. Vérifiez dans le journal l'artefact pour lequel il manque un URI, mettez à jour l'URI dans la recette, puis réessayez le déploiement.

SCHÉMA D'ARTEFACT\$1VIDE  
Cette erreur peut se produire lorsqu'aucun schéma d'URI n'est défini pour un artefact. Vérifiez dans le journal l'URI qui n'est pas valide, mettez à jour l'URI dans la recette, puis réessayez le déploiement.

SCHEME\$1ARTEFACT\$1NON PRIS EN CHARGE  
Cette erreur peut se produire lorsqu'un schéma d'URI n'est pas pris en charge par la version de Nucleus en cours d'exécution. Soit un URI n'est pas valide, soit vous devez mettre à jour la version du noyau. Si l'URI n'est pas valide, recherchez dans le journal l'URI non valide, mettez à jour l'URI dans la recette, puis réessayez le déploiement.

MANIFESTE MANQUANT DE LA RECETTE  
Cette erreur peut se produire lorsque la section du manifeste n'est pas incluse dans la recette. Ajoutez le manifeste à la recette et réessayez le déploiement.

RECIPE\$1MISSING\$1ARTEFACT\$1HASH\$1ALGORITHM  
Cette erreur peut se produire lorsqu'un artefact non local est spécifié dans une recette sans algorithme de hachage. Ajoutez l'algorithme à l'artefact, puis réessayez la demande.

ARTEFACT\$1CHECKSUM\$1MISMATCH  
Cette erreur peut se produire lorsqu'un artefact téléchargé possède un condensé différent de celui spécifié dans la recette. Assurez-vous que la recette contient le bon résumé, puis réessayez le déploiement. Pour de plus amples informations, veuillez consulter [Error: com.aws.greengrass.componentmanager.exceptions.ArtifactChecksumMismatchException: Integrity check for downloaded artifact failed. Probably due to file corruption.](troubleshooting.md#core-error-failed-to-download-artifact-checksum-mismatch-exception).

COMPONENT\$1DEPENDENCY\$1NOT\$1VALID  
Cette erreur peut se produire lorsque le type de dépendance spécifié dans une recette de déploiement n'est pas valide. Vérifiez la recette, puis réessayez votre demande.

ERREUR D'INTERPOLATION DE CONFIGURATION  
Cette erreur peut se produire lors de l'interpolation d'une variable de recette. Consultez le journal pour plus de détails.

IO\$1MAPPING\$1ERROR  
Cette erreur peut se produire lorsqu'une I/O erreur se produit lors de l'analyse d'un document ou d'une recette de déploiement. Consultez tous les codes d'erreur ou journaux supplémentaires pour plus de détails.

## AWS erreur de composant, erreur de composant utilisateur, erreur de composant
<a name="component-error"></a>

Les codes d'erreur suivants sont renvoyés en cas de problème avec un composant. Le type d'erreur réellement signalé dépend du composant spécifique à l'origine de l'erreur. Si le noyau Greengrass identifie le composant comme étant fourni par AWS IoT Greengrass, il revient. `AWS_COMPONENT_ERROR` Si le composant est identifié comme un composant utilisateur, le noyau Greengrass revient. `USER_COMPONENT_ERROR` Si le noyau de Greengrass ne le sait pas, il revient. `COMPONENT_ERROR`

ERREUR DE MISE À JOUR DU COMPOSANT  
Cette erreur peut se produire lorsqu'un composant n'est pas mis à jour lors d'un déploiement. Vérifiez tout code d'erreur supplémentaire ou consultez le journal pour déterminer la cause de l'erreur.

COMPOSANT CASSÉ  
Cette erreur peut se produire lorsqu'un composant est cassé lors d'un déploiement. Consultez le journal des composants pour obtenir des informations détaillées sur les erreurs, puis réessayez le déploiement.

REMOVE\$1COMPONENT\$1ERROR  
Cette erreur peut se produire lorsque le noyau ne parvient pas à supprimer un composant lors d'un déploiement. Consultez le journal pour obtenir des informations détaillées sur les erreurs, puis réessayez le déploiement.

COMPONENT\$1BOOTSTRAP\$1TIMEOUT  
Cette erreur peut se produire lorsque la tâche d'amorçage d'un composant prend plus de temps que le délai d'attente configuré. Augmentez le délai d'expiration ou réduisez le temps d'exécution de la tâche de démarrage, puis réessayez le déploiement.

COMPONENT\$1BOOTSTRAP\$1ERROR  
Cette erreur peut se produire lorsque la tâche bootstrap d'un composant contient une erreur. Consultez le journal pour obtenir des informations détaillées sur les erreurs, puis réessayez le déploiement.

LA CONFIGURATION DU COMPOSANT N'EST PAS VALIDE  
Cette erreur peut se produire lorsque le noyau ne parvient pas à valider la configuration déployée pour le composant. Consultez le journal pour obtenir des informations détaillées sur les erreurs, puis réessayez le déploiement.

## Erreur de l'appareil
<a name="device-error"></a>

IO\$1WRITE\$1ERROR  
Cette erreur peut s'afficher lorsque vous écrivez dans un fichier. Consultez le journal pour plus de détails.

IO\$1READ\$1ERROR  
Cette erreur peut s'afficher lors de la lecture d'un fichier. Consultez le journal pour plus de détails.

DISK\$1SPACE\$1CRITICAL  
Cette erreur peut se produire lorsqu'il n'y a pas assez d'espace disque pour terminer une demande de déploiement. Vous devez disposer d'au moins 20 Mo d'espace disponible, ou suffisamment pour contenir un artefact de plus grande taille. Libérez de l'espace disque, puis réessayez le déploiement.

IO\$1FILE\$1ATTRIBUTE\$1ERROR  
Cette erreur peut se produire lorsque la taille de fichier existante ne peut pas être récupérée à partir du système de fichiers. Consultez le journal pour plus de détails.

SET\$1PERMISSION\$1ERROR  
Cette erreur peut s'afficher lorsque les autorisations ne peuvent pas être définies sur un artefact ou un répertoire d'artefacts téléchargé. Consultez le journal pour plus de détails.

IO\$1UNZIP\$1ERROR  
Cette erreur peut s'afficher lorsqu'un artefact ne peut pas être décompressé. Consultez le journal pour plus de détails.

RECETTE\$1LOCAL\$1INTROUVABLE  
Cette erreur peut se produire lorsque la copie locale d'un fichier de recette est introuvable. Réessayez le déploiement.

LOCAL\$1RECIPE\$1CORRUPTED  
Cette erreur peut se produire lorsque la copie locale de la recette a changé depuis son téléchargement. Supprimez la copie existante de la recette et réessayez le déploiement.

LOCAL\$1RECIPE\$1METADATA\$1NOT\$1FOUND  
Cette erreur peut se produire lorsque la copie locale du fichier de métadonnées de la recette est introuvable. Réessayez le déploiement.

LAUNCH\$1DIRECTORY\$1CORRUPTED  
Cette erreur peut se produire lorsque le répertoire utilisé pour lancer le noyau Greengrass (`/greengrass/v2/alts/current`) a été modifié depuis le dernier démarrage du noyau. Redémarrez le noyau, puis réessayez le déploiement.

ALGORITHME DE HACHAGE INDISPONIBLE  
Cette erreur peut se produire lorsque la distribution Java de l'appareil ne prend pas en charge l'algorithme de hachage requis ou lorsque l'algorithme de hachage spécifié dans une recette de composant n'est pas valide.

DEVICE\$1CONFIG\$1NOT\$1VALID\$1FOR\$1ARTIFACT\$1DOWNLOAD  
Cette erreur peut se produire lorsqu'une erreur de configuration de l'appareil empêche le déploiement de télécharger l'artefact depuis Amazon S3 ou le cloud Greengrass. Consultez le journal pour détecter une erreur de configuration spécifique, puis réessayez le déploiement.

## Erreur de dépendance
<a name="dependency-error"></a>

ERREUR\$1DOCKER  
Cette erreur peut se produire lorsque vous extrayez une image Docker. Consultez tous les codes d'erreur ou journaux supplémentaires pour plus de détails.

DOCKER\$1SERVICE\$1INDISPONIBLE  
Cette erreur peut se produire lorsque Greengrass ne parvient pas à se connecter au registre Docker. Vérifiez la présence d'une erreur spécifique dans le journal, puis réessayez le déploiement.

ERREUR DOCKER\$1LOGIN\$1ERROR  
Cette erreur peut se produire lorsqu'une erreur inattendue se produit lors de la connexion à Docker. Vérifiez la présence d'une erreur spécifique dans le journal, puis réessayez le déploiement.

ERREUR DOCKER\$1PULL\$1ERROR  
Cette erreur peut se produire lorsqu'une erreur inattendue se produit lors de l'extraction d'une image Docker depuis le registre. Vérifiez la présence d'une erreur spécifique dans le journal, puis réessayez le déploiement.

DOCKER\$1IMAGE\$1NON VALIDE  
Cette erreur peut s'afficher lorsque l'image Docker demandée n'existe pas. Consultez le journal pour détecter une erreur spécifique et réessayez le déploiement.

DOCKER\$1IMAGE\$1QUERY\$1ERROR  
Cette erreur peut se produire lorsqu'une défaillance inattendue se produit lors de l'interrogation de Docker pour obtenir les images disponibles. Consultez le journal pour détecter l'erreur spécifique et réessayez le déploiement.

S3\$1ERROR  
Cette erreur peut s'afficher lors du téléchargement d'un artefact Amazon S3. Consultez tous les codes d'erreur ou journaux supplémentaires pour plus de détails.

S3\$1RESOURCE\$1NOT\$1FOUND  
Cette erreur peut se produire lorsqu'une opération Amazon S3 renvoie une erreur 404. Consultez tous les codes d'erreur ou journaux supplémentaires pour plus de détails.

S3\$1BAD\$1REQUEST  
Cette erreur peut se produire lorsqu'une opération Amazon S3 renvoie une erreur 400. Vérifiez la présence d'une erreur spécifique dans le journal et réessayez la demande.

## Erreur HTTP
<a name="http-error"></a>

HTTP\$1REQUEST\$1ERROR  
Cette erreur peut s'afficher lorsqu'une erreur s'est produite lors d'une requête HTTP. Consultez le journal pour détecter l'erreur spécifique.

DOWNLOAD\$1DEPLOYMENT\$1DOCUMENT\$1ERROR  
Cette erreur peut se produire lorsqu'une erreur HTTP s'est produite lors du téléchargement du document de déploiement. Vérifiez le journal pour détecter l'erreur HTTP spécifique.

GET\$1GREENGRASS\$1ARTIFACT\$1SIZE\$1ERROR  
Cette erreur peut se produire lorsqu'une erreur HTTP s'est produite lors de l'obtention de la taille d'un artefact de composant public. Vérifiez le journal pour détecter l'erreur HTTP spécifique.

DOWNLOAD\$1GREENGRASS\$1ARTIFACT\$1ERROR  
Cette erreur peut se produire lorsqu'une erreur HTTP s'est produite lors du téléchargement d'un artefact de composant public. Vérifiez le journal pour détecter l'erreur HTTP spécifique.

## Erreur réseau
<a name="network-error"></a>

ERREUR\$1RÉSEAU  
Cette erreur peut s'afficher en cas de problème de connexion lors d'un déploiement. Vérifiez la connexion de l'appareil à Internet et réessayez le déploiement.

## Erreur Nucleus
<a name="nucleus-error"></a>

MAUVAISE DEMANDE  
Cette erreur peut se produire lorsqu'une opération AWS sur le cloud renvoie une erreur 400. Consultez le journal pour voir quelle API est à l'origine de l'erreur, puis consultez la page de mise à jour du logiciel Nucleus pour voir si le problème a été corrigé dans une version ultérieure du Nucleus, ou contactez Support.

NUCLEUS\$1VERSION\$1INTROUVABLE  
Cette erreur peut s'afficher lorsqu'un périphérique principal ne trouve pas la version du noyau actif. Consultez le journal pour voir la cause de l'erreur, puis consultez la page de mise à jour du logiciel Nucleus pour voir si le problème a été corrigé dans une version ultérieure du Nucleus, ou contactez Support.

ÉCHEC DU REDÉMARRAGE DU NOYAU  
Cette erreur peut se produire lorsque le noyau ne redémarre pas lors d'un déploiement nécessitant un redémarrage du noyau. Consultez le journal du chargeur pour déterminer la cause de l'erreur, puis consultez la page de mise à jour du logiciel Nucleus pour voir si le problème a été corrigé dans une version ultérieure du Nucleus, ou contactez Support. 

COMPOSANT\$1INSTALLED\$1NOT\$1FOUND  
Cette erreur peut se produire lorsque le noyau ne parvient pas à localiser un composant installé. Consultez le journal pour voir la cause de l'erreur, puis consultez la page de mise à jour du logiciel Nucleus pour voir si le problème a été corrigé dans une version ultérieure du Nucleus, ou contactez Support.

DOCUMENT\$1DE DÉPLOIEMENT NON VALIDE  
Cette erreur peut se produire lorsque l'appareil reçoit un document de déploiement non valide. Vérifiez tout code d'erreur supplémentaire ou consultez le journal pour déterminer la cause de l'erreur.

DEMANDE\$1DE\$1DÉPLOIEMENT VIDE  
Cette erreur peut se produire lorsqu'un appareil reçoit une demande de déploiement vide. Consultez le journal pour voir la cause de l'erreur, puis consultez la page de mise à jour du logiciel Nucleus pour voir si le problème a été corrigé dans une version ultérieure du Nucleus, ou contactez Support.

ERREUR D'ANALYSE DU DOCUMENT DE DÉPLOIEMENT  
Cette erreur peut se produire lorsque le format de demande de déploiement ne correspond pas au format attendu. Consultez le journal pour voir la cause de l'erreur, puis consultez la page de mise à jour du logiciel Nucleus pour voir si le problème a été corrigé dans une version ultérieure du Nucleus, ou contactez Support.

LES MÉTADONNÉES DES COMPOSANTS NE SONT PAS VALIDES LORS DU DÉPLOIEMENT  
Cette erreur peut se produire lorsque la demande de déploiement contient des métadonnées de composant non valides. Consultez le journal pour voir la cause de l'erreur, puis consultez la page de mise à jour du logiciel Nucleus pour voir si le problème a été corrigé dans une version ultérieure du Nucleus, ou contactez Support.

LAUNCH\$1DIRECTORY\$1CORRUPTED  
Cette erreur peut se produire lorsque vous déplacez un appareil Greengrass d'un groupe d'objets à un autre, puis que vous revenez au groupe d'origine avec des déploiements nécessitant le redémarrage de Greengrass. Pour résoudre l'erreur, recréez le répertoire de lancement de Greengrass sur l'appareil.  
Pour de plus amples informations, veuillez consulter [Error: com.aws.greengrass.deployment.exceptions.DeploymentException: Unable to process deployment. Greengrass launch directory is not set up or Greengrass is not set up as a system service](troubleshooting.md#deployment-error-unable-to-process-deployment).

## Erreur du serveur
<a name="server-error"></a>

ERREUR\$1SERVEUR  
Cette erreur peut se produire lorsqu'une opération de AWS service renvoie une erreur 500 car le service ne peut pas traiter la demande pour le moment. Réessayez le déploiement ultérieurement.

S3\$1SERVER\$1ERROR  
Cette erreur peut se produire lorsqu'une opération Amazon S3 renvoie une erreur 500. Consultez tous les codes d'erreur ou journaux supplémentaires pour plus de détails.

## Erreur du service cloud
<a name="cloud-service-error"></a>

RESOLVE\$1COMPONENT\$1CANDIDATES\$1BAD\$1RESPONSE  
Cette erreur peut se produire lorsque le service cloud Greengrass envoie une réponse incompatible à l'`ResolveComponentCandidates`opération. Consultez le journal pour voir la cause de l'erreur, puis consultez la page de mise à jour du logiciel Nucleus pour voir si le problème a été corrigé dans une version ultérieure du Nucleus, ou contactez Support.

TAILLE DU DOCUMENT DE DÉPLOIEMENT DÉPASSÉE  
Cette erreur peut se produire lorsque le document de déploiement demandé a dépassé le quota de taille maximale. Réduisez la taille du document de déploiement et réessayez le déploiement.

GREENGRASS\$1ARTIFACT\$1SIZE\$1INTROUVABLE  
Cette erreur peut se produire lorsque Greengrass ne parvient pas à obtenir la taille d'un artefact de composant public. Consultez le journal pour voir la cause de l'erreur, puis consultez la page de mise à jour du logiciel Nucleus pour voir si le problème a été corrigé dans une version ultérieure du Nucleus, ou contactez Support.

DOCUMENT\$1DE DÉPLOIEMENT NON VALIDE  
Cette erreur peut se produire lorsque l'appareil reçoit un document de déploiement non valide. Vérifiez tout code d'erreur supplémentaire ou consultez le journal pour déterminer la cause de l'erreur.

DEMANDE\$1DE\$1DÉPLOIEMENT VIDE  
Cette erreur peut se produire lorsqu'un appareil reçoit une demande de déploiement vide. Consultez le journal pour voir la cause de l'erreur, puis consultez la page de mise à jour du logiciel Nucleus pour voir si le problème a été corrigé dans une version ultérieure du Nucleus, ou contactez Support.

ERREUR D'ANALYSE DU DOCUMENT DE DÉPLOIEMENT  
Cette erreur peut se produire lorsque le format de demande de déploiement ne correspond pas au format attendu. Consultez le journal pour voir la cause de l'erreur, puis consultez la page de mise à jour du logiciel Nucleus pour voir si le problème a été corrigé dans une version ultérieure du Nucleus, ou contactez Support.

LES MÉTADONNÉES DES COMPOSANTS NE SONT PAS VALIDES LORS DU DÉPLOIEMENT  
Cette erreur peut se produire lorsque la demande de déploiement contient des métadonnées de composant non valides. Consultez le journal pour voir la cause de l'erreur, puis consultez la page de mise à jour du logiciel Nucleus pour voir si le problème a été corrigé dans une version ultérieure du Nucleus, ou contactez Support.

## Erreurs génériques
<a name="generic-error"></a>

Aucun type d'erreur n'est associé à ces erreurs génériques.

DÉPLOIEMENT INTERROMPU  
Cette erreur peut s'afficher lorsqu'un déploiement ne peut pas être terminé en raison d'un arrêt du noyau ou d'un autre événement externe. Consultez tous les codes d'erreur ou journaux supplémentaires pour plus de détails.

ERREUR DE TÉLÉCHARGEMENT D'ARTÉFACT  
Cette erreur peut s'afficher en cas de problème lors du téléchargement d'un artefact. Consultez tous les codes d'erreur ou journaux supplémentaires pour plus de détails.

AUCUNE VERSION DE COMPOSANT DISPONIBLE  
Cette erreur peut se produire lorsqu'une version de composant n'existe pas dans le cloud ou localement, ou en cas de conflit de résolution de dépendance. Consultez tous les codes d'erreur ou journaux supplémentaires pour plus de détails.

COMPONENT\$1PACKAGE\$1LOADING\$1ERROR  
Cette erreur peut se produire lors d'une erreur lors du traitement des artefacts téléchargés. Consultez tous les codes d'erreur ou journaux supplémentaires pour plus de détails.

NUAGE\$1 API\$1ERROR  
Cette erreur peut se produire lorsqu'une erreur s'est produite lors de l'appel d'une API AWS de service. Consultez tous les codes d'erreur ou journaux supplémentaires pour plus de détails.

IO\$1ERROR  
Cette erreur peut s'afficher lorsqu'une I/O erreur se produit lors d'un déploiement. Consultez tous les codes d'erreur ou journaux supplémentaires pour plus de détails.

ERREUR DE MISE À JOUR DU COMPOSANT  
Cette erreur peut se produire lorsqu'un composant n'est pas mis à jour lors d'un déploiement. Vérifiez tout code d'erreur supplémentaire ou consultez le journal pour déterminer la cause de l'erreur.

## Erreur inconnue
<a name="unknown-error"></a>

ÉCHEC DU DÉPLOIEMENT  
Cette erreur peut se produire lorsqu'un déploiement échoue parce qu'une exception non contrôlée a été déclenchée. Consultez le journal pour voir la cause de l'erreur, puis consultez la page de mise à jour du logiciel Nucleus pour voir si le problème a été corrigé dans une version ultérieure du Nucleus, ou contactez Support.

TYPE\$1DE\$1DÉPLOIEMENT\$1NON VALIDE  
Cette erreur peut s'afficher lorsque le type de déploiement n'est pas valide. Consultez le journal pour voir la cause de l'erreur, puis consultez la page de mise à jour du logiciel Nucleus pour voir si le problème a été corrigé dans une version ultérieure du Nucleus, ou contactez Support.

# Codes d'état détaillés des composants
<a name="troubleshooting-component"></a>

Utilisez les codes d'état et les solutions présentés dans ces sections pour résoudre les problèmes liés aux composants lors de l'utilisation de Greengrass nucleus version 2.8.0 ou ultérieure.

La plupart des statuts présentés dans cette rubrique indiquent des informations supplémentaires dans les journaux de AWS IoT Greengrass base. Ces journaux sont stockés dans le système de fichiers local de l'appareil principal. Il existe des journaux pour chaque composant individuel. Pour plus d'informations sur l'accès aux journaux, consultez[Accéder aux journaux du système de fichiers](monitor-logs.md#access-local-logs).

ERREUR\$1INSTALLATION  
Cela peut se produire lorsqu'une erreur se produit lors de l'exécution d'un script d'installation. Le code d'erreur est indiqué dans le journal des composants. Vérifiez la présence d'erreurs dans le script d'installation et déployez à nouveau votre composant.

INSTALL\$1CONFIG\$1NOT\$1VALID  
Cette erreur peut se produire lorsque l'installation d'un composant n'a pas pu être terminée car la `install` section de la recette n'est pas valide. Vérifiez la présence d'erreurs dans la section d'installation de votre recette et réessayez le déploiement.

ERREUR INSTALL\$1IO\$1ERROR  
Cela peut se produire lorsqu'une erreur d'E/S s'est produite lors de l'installation d'un composant. Consultez le journal des erreurs du composant pour plus de détails sur l'erreur.

INSTALL\$1MISSING\$1DEFAULT\$1RUNWITH  
Cette erreur peut s'afficher si vous ne AWS IoT Greengrass parvenez pas à déterminer l'utilisateur ou le groupe à utiliser lors de l'installation d'un composant. Vérifiez que la `runWith` section de votre recette d'installation inclut un utilisateur ou un groupe valide. 

TIMEOUT D'INSTALLATION  
Cette erreur peut se produire lorsque le script d'installation ne s'est pas terminé dans le délai d'expiration configuré. Augmentez la `Timeout` période spécifiée dans la `install` section de la recette ou modifiez votre script d'installation pour qu'il se termine dans le délai défini.

ERREUR\$1DE DÉMARRAGE  
Cela peut se produire lorsqu'une erreur se produit lors de l'exécution d'un script de démarrage. Le code d'erreur est indiqué dans le journal des composants. Vérifiez la présence d'erreurs dans le script d'installation et déployez à nouveau votre composant.

START\$1CONFIG\$1NOT\$1VALID  
Cette erreur peut se produire lorsque l'installation d'un composant n'a pas pu être terminée car la `startup` section de la recette n'est pas valide. Vérifiez la présence d'erreurs dans la section de démarrage de votre recette et réessayez le déploiement.

STARTUP\$1IO\$1ERROR  
Cela peut se produire lorsqu'une erreur d'E/S s'est produite lors du démarrage d'un composant. Consultez le journal des erreurs du composant pour plus de détails sur l'erreur.

START-UP\$1MISSING\$1DEFAULT\$1RUN WITH  
Cette erreur peut se produire si vous ne AWS IoT Greengrass parvenez pas à déterminer l'utilisateur ou le groupe à utiliser lors de l'exécution d'un composant. Vérifiez que la `runWith` section de votre recette de démarrage inclut un utilisateur ou un groupe valide.

TIMEOUT DE DÉMARRAGE  
Cette erreur peut se produire lorsque le script de démarrage ne s'est pas terminé dans le délai d'expiration configuré. Augmentez la `Timeout` période spécifiée dans la `startup` section de la recette ou modifiez votre script de démarrage pour qu'il se termine dans le délai défini.

ERREUR D'EXÉCUTION  
Cela peut se produire lorsqu'une erreur se produit lors de l'exécution d'un script de composant. Le code d'erreur est indiqué dans le journal des composants. Vérifiez la présence d'erreurs dans le script d'exécution et déployez à nouveau votre composant.

RUN\$1MISSING\$1DEFAULT\$1RUNWITH  
Cette erreur peut se produire si vous ne AWS IoT Greengrass parvenez pas à déterminer l'utilisateur ou le groupe à utiliser lors de l'exécution d'un composant. Vérifiez que la `runWith` section de votre recette d'exécution inclut un utilisateur ou un groupe valide.

RUN\$1CONFIG\$1NOT\$1VALID  
Cette erreur peut se produire lorsqu'un composant n'a pas pu être exécuté car la `run` section de la recette n'est pas valide. Vérifiez la présence d'erreurs dans la section Exécuter de votre recette et réessayez le déploiement.

ERREUR RUN\$1IO\$1ERROR  
Cela peut se produire lorsqu'une erreur d'E/S s'est produite pendant l'exécution du composant. Consultez le journal des erreurs du composant pour plus de détails sur l'erreur.

RUN\$1TIMEOUT  
Cette erreur peut se produire lorsque le script d'exécution ne s'est pas terminé dans le délai d'expiration configuré. Augmentez la `Timeout` période spécifiée dans la `run` section de la recette ou modifiez votre script d'exécution pour qu'il se termine dans le délai défini.

ERREUR\$1ARRÊT  
Cela peut se produire lorsqu'une erreur se produit lors de l'arrêt d'un script de composant. Le code d'erreur est indiqué dans le journal des composants. Vérifiez la présence d'erreurs dans le script d'arrêt et déployez à nouveau votre composant.

SHUTDOWN\$1TIMEOUT  
Cette erreur peut se produire lorsque le script d'arrêt ne s'est pas terminé dans le délai d'expiration configuré. Augmentez la `Timeout` période spécifiée dans la `shutdown` section de la recette ou modifiez votre script d'exécution pour qu'il se termine dans le délai défini.