

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Solução de problemas AWS IoT Greengrass V2
<a name="troubleshooting"></a>

Use as informações e soluções de solução de problemas desta seção para ajudar a resolver problemas com AWS IoT Greengrass Version 2.

**Topics**
+ [Veja os AWS IoT Greengrass principais registros de software e componentes](#troubleshoot-with-logs)
+ [AWS IoT Greengrass Principais problemas de software](#greengrass-core-issues)
+ [AWS IoT Greengrass problemas de nuvem](#greengrass-cloud-issues)
+ [Problemas na implantação do dispositivo principal](#greengrass-core-deployment-issues)
+ [Problemas em componente de dispositivos principais](#greengrass-core-component-issues)
+ [Problemas com o componente de função do Lambda do dispositivo principal](#greengrass-core-lambda-function-issues)
+ [Versão do componente descontinuada](#discontinued-component-version)
+ [Problemas na interface de linha de comando do Greengrass](#greengrass-cli-issues)
+ [AWS Command Line Interface problemas](#aws-cli-issues)
+ [Códigos detalhados de erros de implantação](troubleshooting-deployment.md)
+ [Códigos detalhados de status de componente](troubleshooting-component.md)

## Veja os AWS IoT Greengrass principais registros de software e componentes
<a name="troubleshoot-with-logs"></a>

O software AWS IoT Greengrass Core grava registros no sistema de arquivos local que você pode usar para visualizar informações em tempo real sobre o dispositivo principal. Você também pode configurar dispositivos principais para gravar registros em CloudWatch registros, para que você possa solucionar problemas remotamente nos dispositivos principais. Esses logs ajudam você a identificar problemas com os componentes, as implantações e os dispositivos principais. Para obter mais informações, consulte [Monitore AWS IoT Greengrass logs](monitor-logs.md).

## AWS IoT Greengrass Principais problemas de software
<a name="greengrass-core-issues"></a>

Solucione problemas de software AWS IoT Greengrass principais. 

**Topics**
+ [ThrottlingException da ListDeployments API](#ThrottlingException)
+ [Não é possível configurar o dispositivo principal](#unable-to-set-up-core-device)
+ [Não é possível iniciar o software AWS IoT Greengrass principal como um serviço do sistema](#unable-to-start-system-service)
+ [Não é possível configurar o núcleo como um serviço do sistema](#unable-to-set-up-system-service)
+ [Não é possível se conectar a AWS IoT Core](#core-error-unable-to-connect-to-aws-iot)
+ [Erro de falta de memória](#java-out-of-memory)
+ [Não é possível instalar a CLI do Greengrass](#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)
+ [Falha ao configurar o serviço do 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 da ListDeployments API
<a name="ThrottlingException"></a>

`ThrottlingException` da API `ListDeployments`: é possível ver isso quando houver um grande número de implantações na conta. 

Para resolver isso, execute um dos procedimentos a seguir:
+ Se você usa o SDK, especifique o MaxResult parâmetro. Por exemplo, para o [JavaSDK](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/greengrassv2/model/ListDeploymentsRequest.html#maxResults) com um valor pequeno (por exemplo, 5).
+ É possível usar as [AWS Service Quotas](https://docs.aws.amazon.com/servicequotas/latest/userguide/intro.html) para solicitar um aumento do limite de taxa da API `DescribeJob`. Você pode acessar o console de cota de serviço, selecionar cotas de AWS IoT e o nome do limite é limite de **DescribeJob aceleração**. É possível aumentá-lo de 10 para 50.

### Não é possível configurar o dispositivo principal
<a name="unable-to-set-up-core-device"></a>

Se o instalador do software AWS IoT Greengrass Core falhar e você não conseguir configurar um dispositivo principal, talvez seja necessário desinstalar o software e tentar novamente. Para obter mais informações, consulte [Desinstalar o software de núcleo do AWS IoT Greengrass](uninstall-greengrass-core-v2.md).

### Não é possível iniciar o software AWS IoT Greengrass principal como um serviço do sistema
<a name="unable-to-start-system-service"></a>

Se o software AWS IoT Greengrass principal não for iniciado, [verifique os registros de serviço do sistema](monitor-logs.md#access-system-service-logs) para identificar o problema. Um problema comum é quando o Java não está disponível na variável de ambiente PATH (Linux) ou na variável de sistema PATH (Windows).

### Não é possível configurar o núcleo como um serviço do sistema
<a name="unable-to-set-up-system-service"></a>

Você pode ver esse erro quando o instalador do software AWS IoT Greengrass Core não consegue ser configurado AWS IoT Greengrass como um serviço do sistema. Nos dispositivos Linux, esse erro costuma ocorrer se o dispositivo principal não tem o sistema de inicialização [systemd](https://en.wikipedia.org/wiki/Systemd). O instalador pode configurar com êxito o software AWS IoT Greengrass Core, mesmo que não consiga configurar o serviço do sistema.

Execute um destes procedimentos:
+ Configure e execute o software AWS IoT Greengrass Core como um serviço do sistema. É necessário configurar o software como um serviço do sistema para usar todos os recursos do AWS IoT Greengrass. É possível instalar o [systemd](https://en.wikipedia.org/wiki/Systemd) ou usar outro sistema de inicialização. Para obter mais informações, consulte [Configurar o Greengrass nucleus como um serviço do sistema](configure-greengrass-core-v2.md#configure-system-service).
+ Execute o software AWS IoT Greengrass Core sem um serviço de sistema. É possível executar o software usando um script de carregador que o instalador configura na pasta raiz do Greengrass. Para obter mais informações, consulte [Execute o software AWS IoT Greengrass Core sem um serviço de sistema](run-greengrass-core-v2.md#run-greengrass-core-no-system-service).

### Não é possível se conectar a AWS IoT Core
<a name="core-error-unable-to-connect-to-aws-iot"></a>

Você pode ver esse erro quando o software AWS IoT Greengrass Core não consegue se conectar AWS IoT Core para recuperar trabalhos de implantação, por exemplo. Faça o seguinte:
+ Verifique se seu dispositivo principal pode se conectar à Internet AWS IoT Core e. Para obter mais informações sobre o AWS IoT Core endpoint ao qual seu dispositivo se conecta, consulte[Configurar o software AWS IoT Greengrass principal](configure-greengrass-core-v2.md).
+ Verifique se o dispositivo AWS IoT principal usa um certificado que permite as `iot:Subscribe` permissões `iot:Connect` `iot:Publish``iot:Receive`,, e.
+ Se o dispositivo principal usar um [proxy de rede](configure-greengrass-core-v2.md#configure-network-proxy), verifique se o dispositivo tem um [perfil de dispositivo](device-service-role.md) e se esse perfil concede as permissões `iot:Connect`, `iot:Publish`, `iot:Receive` e `iot:Subscribe`.

### Erro de falta de memória
<a name="java-out-of-memory"></a>

Geralmente, esse erro ocorre se o dispositivo não tem memória suficiente para alocar um objeto no heap Java. Em dispositivos com memória limitada, talvez seja necessário especificar um tamanho máximo de heap para controlar a alocação de memória. Para obter mais informações, consulte [Controlar a alocação de memória com opções de JVM](configure-greengrass-core-v2.md#jvm-tuning).

### Não é possível instalar a CLI do Greengrass
<a name="unable-to-install-greengrass-cli"></a>

Você pode ver a seguinte mensagem do console ao usar o `--deploy-dev-tools` argumento no comando de instalação AWS IoT Greengrass do 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
```

Isso ocorre quando o componente de CLI do Greengrass não é instalado porque seu dispositivo principal é membro de um grupo de itens que já tem uma implantação. Se essa mensagem for exibida, será possível implantar manualmente o componente de CLI do Greengrass (`aws.greengrass.Cli`) no dispositivo para instalar a CLI do Greengrass. Para obter mais informações, consulte [Instalar a Greengrass CLI](install-gg-cli.md).

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

Você pode ver esse erro quando o usuário que executa o software AWS IoT Greengrass Core (normalmente`root`) não tem permissão para executar `sudo` com nenhum usuário e nenhum grupo. Para o usuário padrão `ggc_user` do sistema, esse erro é semelhante ao seguinte:

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

Verifique se o arquivo `/etc/sudoers` dá permissão ao usuário para executar `sudo` como outros grupos. A permissão para o usuário em `/etc/sudoers` deve ser semelhante à do exemplo a seguir.

```
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>

Esse erro pode ocorrer quando o dispositivo principal tenta executar um componente, e o Greengrass nucleus não especifica um usuário padrão do sistema a ser usado para executar componentes.

Para corrigir esse problema, configure o Greengrass nucleus para especificar o usuário padrão do sistema que executa componentes. Para obter mais informações, consulte [Configurar o usuário que executa os componentes](configure-greengrass-core-v2.md#configure-component-user) e [Configurar o usuário padrão do componente](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>

Você pode ver esse erro quando o software AWS IoT Greengrass Core falha ao iniciar porque a `/tmp` pasta está montada com `noexec` permissões. Por padrão, a [biblioteca Common Runtime (CRT) da AWS](https://github.com/awslabs/aws-crt-java) usa a pasta `/tmp`.

Execute um destes procedimentos:
+ Execute o comando a seguir para remontar a pasta `/tmp` com permissões `exec` e tente novamente.

  ```
  sudo mount -o remount,exec /tmp
  ```
+ Se você executar o Greengrass nucleus v2.5.0 ou posterior, poderá definir uma opção de JVM para alterar a pasta que a biblioteca CRT usa. AWS Você pode especificar o `jvmOptions` parâmetro na configuração do componente nucleus do Greengrass em uma implantação ou ao instalar o AWS IoT Greengrass software Core. */path/to/use*Substitua pelo caminho para uma pasta que a biblioteca AWS CRT possa usar.

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

### Falha ao configurar o serviço do Windows
<a name="failed-to-set-up-windows-service"></a>

Você pode ver esse erro se você instalar o software AWS IoT Greengrass Core em um dispositivo Microsoft Windows 2016. O software AWS IoT Greengrass Core não é compatível com o Windows 2016. Para obter uma lista dos sistemas operacionais compatíveis, consulte[Plataformas compatíveis](greengrass-nucleus-component.md#greengrass-v2-supported-platforms).

Antes de usar o Windows 2016, você pode fazer o seguinte:

1. Descompacte o arquivo de instalação AWS IoT Greengrass do Core baixado

1. Abra o arquivo `bin/greengrass.xml.template` no diretório do `Greengrass`.

1. Adicione a tag `<autoRefresh>` ao final do arquivo logo antes da tag `</service>`.

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

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

Você pode ver esse erro ao instalar o software AWS IoT Greengrass Core sem um arquivo de autoridade de certificação (CA) raiz.

```
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
```

Verifique se você especificou um arquivo de CA raiz válido com o parâmetro `rootCaPath` no arquivo de configuração fornecido ao instalador. Para obter mais informações, consulte [Instalar o software do AWS IoT Greengrass Core](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>

Você pode ver essa mensagem de aviso quando o dispositivo principal não consegue se conectar AWS IoT Core para assinar as notificações de trabalho de implantação. Faça o seguinte:
+ Verifique se o dispositivo principal está conectado à Internet e pode alcançar o ponto final de AWS IoT dados que você configurou. Para obter mais informações sobre os endpoints que os dispositivos principais usam, consulte [Permitir o tráfego de dispositivos por meio de um proxy ou firewall](allow-device-traffic.md).
+ Consulte os logs do Greengrass para ver se há outro erros que mostrem causas raiz diferentes.

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

Você pode ver esse erro ao [instalar o software AWS IoT Greengrass Core com provisionamento automático](quick-installation.md), e o instalador usa um token de AWS sessão que não é válido. Faça o seguinte:
+ Se você usa credenciais de segurança temporárias, verifique se o token de sessão que você está copiando e colando está correto e completo.
+ Se você usa credenciais de segurança de longo prazo, verifique se o dispositivo não tem um token de sessão de quando você usava as credenciais temporárias. Faça o seguinte:

  1. Execute o comando a seguir para cancelar a definição da variável de ambiente do token de sessão.

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

     ```
     unset AWS_SESSION_TOKEN
     ```

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

     ```
     set AWS_SESSION_TOKEN=
     ```

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

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

------

  1. Verifique se o arquivo de AWS credenciais,`~/.aws/credentials`, contém um token de sessão,`aws_session_token`. Em caso afirmativo, remova essa linha do arquivo.

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

Você também pode instalar o software AWS IoT Greengrass Core sem fornecer AWS credenciais. Para acessar mais informações, consulte [Instale o software AWS IoT Greengrass principal com provisionamento manual de recursos](manual-installation.md) ou [Instale o software AWS IoT Greengrass principal com provisionamento de AWS IoT frota](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>

Você pode ver esse erro ao [instalar o software AWS IoT Greengrass Core com provisionamento automático](quick-installation.md), e o instalador usa AWS credenciais que não têm as permissões necessárias. Para obter mais informações sobre as permissões necessárias, consulte [Política mínima de IAM para o instalador provisionar recursos](provision-minimal-iam-policy.md).

Verifique as permissões para a identidade do IAM das credenciais e conceda à ela todas as permissões necessárias que estejam faltando.

### 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>

Você pode ver esse erro ao usar o [componente do gerenciador de sombras](shadow-manager-component.md) para [sincronizar as sombras do dispositivo](sync-shadows-with-iot-core.md). AWS IoT Core O código de status HTTP 403 indica que esse erro ocorreu porque a AWS IoT política do dispositivo principal não concede permissão para fazer chamadas`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)
```

Para sincronizar sombras locais com AWS IoT Core, a AWS IoT política do dispositivo principal deve conceder as seguintes permissões:
+ `iot:GetThingShadow`
+ `iot:UpdateThingShadow`
+ `iot:DeleteThingShadow`

Verifique a AWS IoT política do dispositivo principal e adicione as permissões necessárias que estão faltando. Para saber mais, consulte:
+ [AWS IoT Core ações políticas](https://docs.aws.amazon.com/iot/latest/developerguide/iot-policy-actions.html) no *Guia do AWS IoT desenvolvedor*
+ [Atualizar a AWS IoT política de um dispositivo 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>

Você pode ver esse erro ao usar uma [operação de comunicação entre processos (IPC)](interprocess-communication.md) em um componente personalizado do Greengrass, e o componente AWS fornecido necessário não está instalado no dispositivo principal.

Para corrigir esse problema, adicione o componente necessário como uma [dependência em sua receita de componentes](component-recipe-reference.md#recipe-reference-component-dependencies), para que o software AWS IoT Greengrass Core instale o componente necessário quando você implanta seu componente.
+ [Recuperar valores de segredos](ipc-secret-manager.md): `aws.greengrass.SecretManager`
+ [Interagir com sombras locais](ipc-local-shadows.md): `aws.greengrass.ShadowManager`
+ [Gerenciar implantações e componentes locais](ipc-local-deployments-components.md): `aws.greengrass.Cli` v2.6.0 ou posterior
+ [Autenticar e autorizar dispositivos cliente](ipc-client-device-auth.md): `aws.greengrass.clientdevices.Auth` v2.2.0 ou posterior

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

Esse erro pode ocorrer no arquivo de log do Gerenciador de fluxos (`aws.greengrass.StreamManager.log`) quando você configura o [Gerenciador de fluxos](stream-manager-component.md) para usar uma pasta raiz que não existe ou que não tem as permissões corretas. Para obter mais informações sobre como configurar essa pasta, consulte a [configuração do Gerenciador de fluxos](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>

Esse erro ocorre quando o [componente do provedor PKCS \$111](pkcs11-provider-component.md) não consegue encontrar ou carregar a chave privada ou o certificado que você especifica ao configurar o software AWS IoT Greengrass Core para usar um [módulo de segurança de hardware (HSM](hardware-security.md)). Faça o seguinte:
+ Verifique se a chave privada e o certificado estão armazenados no HSM usando o slot, o PIN do usuário e a etiqueta do objeto que você configura para usar no software AWS IoT Greengrass Core.
+ Verifique se a chave privada e o certificado usam o mesmo rótulo de objeto no HSM.
+ Se o seu HSM suportar objetos IDs, verifique se a chave privada e o certificado usam o mesmo ID de objeto no HSM.

Leia a documentação do HSM para saber como consultar detalhes sobre os tokens de segurança. Se você precisar alterar o slot, o rótulo ou o ID do objeto de um token de segurança, consulte a documentação do HSM para saber como fazer isso.

### 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>

Esse erro pode ocorrer quando você usa o [componente gerenciador de segredos](secret-manager-component.md) para implantar um AWS Secrets Manager segredo. Se o [perfil do IAM de troca de tokens](device-service-role.md) do dispositivo principal não conceder permissão para obter o segredo, haverá falha na implantação e os logs do Greengrass incluirão esse erro.

**Para autorizar um dispositivo principal a fazer download de um segredo**

1. Adicione a permissão `secretsmanager:GetSecretValue` ao perfil de troca de tokens do dispositivo principal. O exemplo de declaração de política a seguir concede permissão para obter o valor de um segredo.

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

   Para obter mais informações, consulte [Autorize os dispositivos principais a interagir com os serviços AWS](device-service-role.md).

1. Reaplique a implantação ao dispositivo principal. Execute um destes procedimentos:
   + Revise a implantação sem nenhuma alteração. O dispositivo principal tenta fazer download do segredo novamente quando recebe a implantação revisada. Para obter mais informações, consulte [Revisões das implantações](revise-deployments.md).
   + Reinicie o software AWS IoT Greengrass principal para repetir a implantação. Para obter mais informações, consulte [Execute o software AWS IoT Greengrass Core](run-greengrass-core-v2.md).

   A implantação será bem-sucedida se o Gerenciador de segredos fizer download do segredo sem problemas.

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

Esse erro pode ocorrer quando você usa o [componente gerenciador de segredos](secret-manager-component.md) para implantar um AWS Secrets Manager segredo criptografado por uma AWS Key Management Service chave. Se o [perfil do IAM de troca de tokens](device-service-role.md) do dispositivo principal não conceder permissão para descriptografar o segredo, haverá falha na implantação e os logs do Greengrass incluirão esse erro.

Para corrigir o problema, adicione a permissão `kms:Decrypt` ao perfil de troca de tokens do dispositivo principal. Para saber mais, consulte:
+ [Criptografia e descriptografia de segredos](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html) no *Guia do usuário do AWS Secrets Manager *
+ [Autorize os dispositivos principais a interagir com os serviços AWS](device-service-role.md)

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

Você pode ver esse erro ao tentar instalar o software AWS IoT Greengrass Core com [segurança de hardware](hardware-security.md) e usar uma versão anterior do Greengrass nucleus que não oferece suporte à integração de segurança de hardware. Para usar a integração de segurança de hardware, é necessário ter o Greengrass nucleus versão 2.5.3 ou mais recente.

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

Você pode ver esse erro ao usar a TPM2 biblioteca ao executar o AWS IoT Greengrass Core como um serviço do sistema.

Esse erro indica que você precisa adicionar uma variável de ambiente que forneça a localização do armazenamento PKCS \$111 no arquivo de serviço AWS IoT Greengrass Core systemd. 

Para obter mais informações, consulte a seção de requisitos da documentação do componente [Fornecedor PKCS\$111](pkcs11-provider-component.md).

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

Se o dispositivo principal do Greengrass não revisar sua implantação da versão 2.12.3 do núcleo, talvez seja necessário fazer download e substituir o arquivo `Greengrass.jar` pelo Greengrass nucleus versão 2.12.2. Faça o seguinte:

1. No dispositivo principal do Greengrass, execute o comando a seguir para interromper o software de Greengrass nucleus.

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

   ```
   sudo systemctl stop greengrass
   ```

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

   ```
   sc stop "greengrass"
   ```

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

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

------

1. Em seu dispositivo principal, baixe o AWS IoT Greengrass software em um arquivo chamado`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. Descompacte o software AWS IoT Greengrass Core em uma pasta no seu dispositivo. *GreengrassInstaller*Substitua pela pasta que você deseja usar.

------
#### [ 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. Execute o comando a seguir para substituir o arquivo JAR do Greengrass da versão 2.12.3 do núcleo pelo da versão 2.12.2 do núcleo.

------
#### [ 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. Execute o comando a seguir para iniciar o software de Greengrass nucleus.

------
#### [ 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>

É possível encontrar esse problema se tiver instalado o Greengrass nucleus v2.14.0 em um dispositivo Linux com seu modelo de serviço systemd padrão. Faça o seguinte:

1. No seu dispositivo principal do Greengrass, execute o comando a seguir para reverter o arquivo de serviço do systemd para a forma como está no nucleus v2.13.0 e versões anteriores.

------
#### [ 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. Implemente as alterações.

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

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

------

## AWS IoT Greengrass problemas de nuvem
<a name="greengrass-cloud-issues"></a>

Use as informações a seguir para solucionar problemas com o AWS IoT Greengrass console e a API. Cada entrada corresponde a uma mensagem de erro que você pode ver ao executar uma ação.

### 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>

Você pode ver esse erro ao criar uma versão do componente a partir do AWS IoT Greengrass console ou com a [CreateComponentVersion](https://docs.aws.amazon.com/greengrass/v2/APIReference/API_CreateComponentVersion.html)operação.

Esse erro indica que a fórmula não é um JSON ou YAML válido. Verifique a sintaxe da fórmula, corrija qualquer problema de sintaxe e tente novamente. É possível usar um verificador de sintaxe JSON ou YAML on-line para identificar problemas de sintaxe na fórmula.

### 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>

Você pode ver esse erro ao criar uma versão do componente a partir do AWS IoT Greengrass console ou com a [CreateComponentVersion](https://docs.aws.amazon.com/greengrass/v2/APIReference/API_CreateComponentVersion.html)operação. Esse erro indica que um artefato do S3 na fórmula do componente não é válido.

Faça o seguinte:
+ Verifique se o bucket do S3 está no mesmo Região da AWS local em que você criou o componente. AWS IoT Greengrass não oferece suporte a solicitações entre regiões de artefatos de componentes.
+ Verifique se o URI do artefato é um URL válido de objeto do S3 e se o artefato existe nesse URL.
+ Verifique se você Conta da AWS tem permissão para acessar o artefato na URL do objeto do S3.

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

Você pode obter um status de `INACTIVE` implantação ao chamar a [ListDeployments](https://docs.aws.amazon.com/greengrass/v2/APIReference/API_ListDeployments.html)API sem as AWS IoT políticas dependentes necessárias. É necessário ter as permissões necessárias para obter um status de implantação preciso. Para encontrar as ações dependentes, consulte [Ações definidas pelo AWS IoT Greengrass V2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotgreengrassv2.html#awsiotgreengrassv2-actions-as-permissions) e siga as permissões necessárias para `ListDeployments`. Sem as AWS IoT permissões dependentes necessárias, você ainda verá o status de implantação, mas poderá ver um status de implantação impreciso de`INACTIVE`.

## Problemas na implantação do dispositivo principal
<a name="greengrass-core-deployment-issues"></a>

Solucione problemas na implantação em dispositivos principais do Greengrass. Cada entrada corresponde a uma mensagem de log que você pode ver no dispositivo 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>

Você pode ver esse erro quando o software AWS IoT Greengrass Core não consegue baixar um artefato de componente quando o dispositivo principal aplica uma implantação. O resultado desse erro é uma falha na implantação.

Quando você recebe esse erro, o log também inclui um rastreamento de pilha que é possível usar para identificar o problema específico. Cada uma das entradas a seguir corresponde a uma mensagem que você pode ver no rastreamento de pilha da mensagem de erro `Failed to download artifact`.

**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>

O [PackageDownloadException erro](#core-error-failed-to-download-artifact-package-download-exception) pode incluir esse rastreamento de pilha nos seguintes casos:
+ O artefato do componente não está disponível no URL do objeto do S3 que você especifica na fórmula do componente. Verifique se você carregou o artefato no bucket do S3 e se o URI do artefato corresponde ao URL do objeto do S3 do artefato no bucket.
+ A [função de troca de tokens](device-service-role.md) do dispositivo principal não permite que o software AWS IoT Greengrass Core baixe o artefato do componente do URL do objeto do S3 que você especifica na receita do componente. Garanta que o perfil de troca de tokens permita `s3:GetObject` no URL do objeto do S3 em que o artefato está disponível.

#### 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>

O [PackageDownloadException erro](#core-error-failed-to-download-artifact-package-download-exception) pode incluir esse rastreamento de pilha quando o dispositivo principal não tem permissão para fazer chamadas`s3:GetBucketLocation`. A mensagem de erro também inclui uma das mensagens abaixo.

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

Garanta que o [perfil de troca de tokens](device-service-role.md) do dispositivo principal permita `s3:GetBucketLocation` no bucket do S3 em que o artefato está disponível.

### 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>

Você pode ver esse erro quando o software AWS IoT Greengrass Core não consegue baixar um artefato de componente quando o dispositivo principal aplica uma implantação. A implantação falha porque a soma de verificação do arquivo de artefato baixado não corresponde à soma de verificação AWS IoT Greengrass calculada quando você criou o componente.

Faça o seguinte:
+ Verifique se o arquivo de artefato foi alterado no bucket do S3 em que você o hospeda. Se o arquivo tiver sido alterado desde que você criou o componente, restaure-o à versão anterior que o dispositivo principal espera. Se você não puder restaurar o arquivo à versão anterior ou se quiser usar a nova versão do arquivo, crie uma nova versão do componente com o arquivo de artefato.
+ Verifique a conexão com a Internet do dispositivo principal. Esse erro poderá ocorrer se o arquivo de artefato for corrompido durante o download. Crie uma nova implantação e tente novamente.

### 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>

Esse erro pode ocorrer quando um dispositivo principal não encontra uma versão do componente que atenda aos requisitos das implantações para esse dispositivo principal. O dispositivo principal verifica o componente no AWS IoT Greengrass serviço e no dispositivo local. A mensagem de erro inclui o destino de cada implantação e os requisitos de versão dessa implantação para o componente. O destino da implantação pode ser um item, um grupo de itens ou `LOCAL_DEPLOYMENT`, que representa a implantação local no dispositivo principal.

Esse problema pode ocorrer nos seguintes casos:
+ O dispositivo principal é o destino de várias implantações que têm requisitos de versão de componente conflitantes. Por exemplo, o dispositivo principal pode ser o destino de várias implantações que incluem um componente `com.example.HelloWorld`, em que uma implantação requer a versão 1.0.0 e a outra requer a versão 1.0.1. É impossível ter um componente que atenda aos dois requisitos, portanto há falha na implantação.
+ A versão do componente não existe no AWS IoT Greengrass serviço ou no dispositivo local. O componente pode ter sido excluído, por exemplo.
+ Existem versões de componente que atendem aos requisitos de versão, mas nenhuma é compatível com a plataforma do dispositivo principal.
+ A AWS IoT política do dispositivo principal não concede a `greengrass:ResolveComponentCandidates` permissão. Procure `Status Code: 403` no log de erros para identificar esse problema. Para resolver esse problema, adicione a permissão `greengrass:ResolveComponentCandidates` à política do AWS IoT do dispositivo principal. Para obter mais informações, consulte [AWS IoT Política mínima para dispositivos AWS IoT Greengrass V2 principais](device-auth.md#greengrass-core-minimal-iot-policy).

Para resolver esse problema, revise as implantações para incluir as versões de componente compatíveis ou remover as que são incompatíveis. Para obter mais informações sobre como revisar as implantações na nuvem, consulte [Revisões das implantações](revise-deployments.md). Para obter mais informações sobre como revisar as implantações locais, consulte o comando [deployment create da CLI do AWS IoT Greengrass](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>

Esse erro pode ocorrer quando você implanta um componente em um dispositivo principal e o componente não lista uma plataforma compatível com a do dispositivo principal. Execute um destes procedimentos:
+ Se for um componente personalizado do Greengrass, será possível atualizá-lo para que seja compatível com o dispositivo principal. Adicione um novo manifesto ou atualize um manifesto existente para corresponder à plataforma do dispositivo principal. Para obter mais informações, consulte [AWS IoT Greengrass referência da receita do componente](component-recipe-reference.md).
+ Se o componente for fornecido pela AWS, verifique se outra versão do componente é compatível com o dispositivo principal. Se nenhuma versão for compatível, entre em contato conosco em [AWS re:Post](https://repost.aws/) usando a [tag AWS IoT Greengrass](https://repost.aws/tags/TA4ckIed1sR4enZBey29rKTg/aws-io-t-greengrass) ou pelo [Suporte](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>

Esse erro pode ocorrer quando você implanta um componente que depende do [Greengrass nucleus](greengrass-nucleus-component.md) e o dispositivo principal executa uma versão do Greengrass nucleus mais antiga do que a versão secundária mais recente disponível. Esse erro ocorre porque o software AWS IoT Greengrass Core tenta atualizar automaticamente os componentes para a versão compatível mais recente. No entanto, o software AWS IoT Greengrass Core impede que o núcleo do Greengrass seja atualizado para uma nova versão secundária, porque vários componentes AWS fornecidos dependem de versões secundárias específicas do núcleo do Greengrass. Para obter mais informações, consulte [Comportamento da atualização do núcleo do Greengrass](update-greengrass-core-v2.md#ota-update-behavior-nucleus).

É necessário [revisar a implantação](revise-deployments.md) para especificar a versão do Greengrass nucleus que deseja usar. Execute um destes procedimentos:
+ Revise a implantação para especificar a versão do Greengrass nucleus executada pelo dispositivo principal no momento.
+ Revise a implantação para especificar uma versão secundária mais recente do Greengrass nucleus. Se você escolher essa opção, também deverá atualizar as versões de todos os componentes AWS fornecidos que dependem de versões secundárias específicas do núcleo do Greengrass. Para obter mais informações, consulte [Componentes fornecidos pela AWS](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>

Esse erro pode ocorrer quando você move um dispositivo do Greengrass de um grupo de itens para outro, e depois volta para o grupo original com implantações que exigem a reinicialização do Greengrass. 

Para resolver esse problema, recrie o diretório de inicialização do dispositivo. Também é altamente recomendável atualizar para a versão 2.9.6 ou posterior do Greengrass nucleus.

Veja a seguir um script do Linux para recriar o diretório de inicialização. Salve o script em um arquivo chamado `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
```

Para rodar o script, execute o seguinte comando:

```
[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>

Esse erro pode ocorrer quando o dispositivo principal recebe um documento de implantação grande, maior que 7 KB (para implantações que têm itens como destino) ou 31 KB (para implantações que têm grupos de itens como destino). Para recuperar um documento de implantação grande, a AWS IoT política de um dispositivo principal deve permitir a `greengrass:GetDeploymentConfiguration` permissão. Esse erro pode ocorrer quando o dispositivo principal não tem essa permissão. Quando esse erro ocorre, a implantação faz tentativas indefinidamente, e o status é **Em andamento** (`IN_PROGRESS`).

Para resolver esse problema, adicione a `greengrass:GetDeploymentConfiguration` permissão à AWS IoT política do dispositivo principal. Para obter mais informações, consulte [Atualizar a AWS IoT política de um dispositivo 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>

Você pode ver esse aviso quando o dispositivo principal recebe uma implantação e a AWS IoT política do dispositivo principal não permite a `greengrass:ListThingGroupsForCoreDevice` permissão. Quando você cria uma implantação, o dispositivo principal usa essa permissão para identificar os grupos de itens e remover os componentes de qualquer grupo do qual você removeu o dispositivo principal. Se o dispositivo principal executa o [Greengrass nucleus](greengrass-nucleus-component.md) versão 2.5.0, há falha na implantação. Se o dispositivo principal executa o Greengrass nucleus versão 2.5.1 ou mais recente, a implantação prossegue, mas não remove os componentes. Para obter mais informações sobre o comportamento de remoção de grupos de itens, consulte [Implemente AWS IoT Greengrass componentes em dispositivos](manage-deployments.md).

Para atualizar o comportamento do dispositivo principal para remover componentes de grupos de coisas dos quais você remove o dispositivo principal, adicione a `greengrass:ListThingGroupsForCoreDevice` permissão à AWS IoT política do dispositivo principal. Para obter mais informações, consulte [Atualizar a AWS IoT política de um dispositivo 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>

Essa mensagem informativa pode aparecer várias vezes sem um erro, porque o dispositivo principal registra o erro no nível de log `DEBUG`. Esse problema pode ocorrer quando o dispositivo principal recebe um documento de implantação grande. Quando esse problema ocorre, a implantação faz tentativas indefinidamente, e o status é **Em andamento** (`IN_PROGRESS`). Para obter mais informações sobre como resolver esse problema, consulte [esta entrada de solução de problemas](#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>

Esse erro pode ocorrer quando uma API de plano de dados não tem a permissão `iot:Connect`. Caso você não tenha a política correta, receberá uma exceção `GreengrassV2DataException: 403`. Para criar uma política de permissão, siga estas instruções: [Crie uma AWS IoT política](fleet-provisioning-setup.md#create-iot-policy).

## Problemas em componente de dispositivos principais
<a name="greengrass-core-component-issues"></a>

Solucione problemas no componente do Greengrass em dispositivos principais.

**Topics**
+ [Warn: '<command>' is not recognized as an internal or external command](#component-warn-command-not-recognized)
+ [O script Python não registra mensagens em log](#python-component-no-log-output)
+ [A configuração do componente não é atualizada ao alterar a configuração padrão](#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>

Você pode ver esse erro nos registros de um componente do Greengrass quando o software AWS IoT Greengrass principal falha ao executar um comando no script de ciclo de vida do componente. O estado do componente passa a ser `BROKEN` como resultado desse erro. Esse erro poderá ocorrer se o usuário do sistema que executa o componente, por exemplo `ggc_user`, não encontrar o executável do comando nas pastas em [PATH](https://en.wikipedia.org/wiki/PATH_(variable)).

Nos dispositivos Windows, verifique se a pasta que contém o executável está em `PATH` para o usuário do sistema que executa o componente. Se ela não estiver em `PATH`, faça um dos seguintes procedimentos:
+ Adicione a pasta do executável à variável de sistema `PATH`, que está disponível para todos os usuários. Em seguida, reinicie o componente.

  Se você executar o Greengrass nucleus 2.5.0, depois de atualizar a variável do `PATH` sistema, você deverá reiniciar o software AWS IoT Greengrass Core para executar os componentes com a atualização. `PATH` Se o software AWS IoT Greengrass Core não usar a atualização `PATH` depois de reiniciar o software, reinicie o dispositivo e tente novamente. Para obter mais informações, consulte [Execute o software AWS IoT Greengrass Core](run-greengrass-core-v2.md).
+ Adicione a pasta do executável à variável de usuário `PATH` para o usuário do sistema que executa o componente.

### O script Python não registra mensagens em log
<a name="python-component-no-log-output"></a>

Os dispositivos principais do Greengrass coletam logs que você pode usar para identificar problemas com componentes. Se as mensagens `stdout` e `stderr` do script Python não constarem nos logs do componente, talvez você tenha que liberar ou desabilitar o buffer para esses fluxos de saída padrão em Python. Faça o seguinte:
+ Execute o Python com o argumento [-u](https://docs.python.org/3/using/cmdline.html#cmdoption-u) para desabilitar o buffer em `stdout` e `stderr`.

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

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

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

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

------
+ Use [Setenv](component-recipe-reference.md#lifecycle-setenv-definition) na fórmula do componente para definir a variável de ambiente [PYTHONUNBUFFERED](https://docs.python.org/3/using/cmdline.html#envvar-PYTHONUNBUFFERED) como uma string não vazia. Essa variável de ambiente desabilita o buffer em `stdout` e `stderr`.
+ Libere o buffer para os fluxos `stdout` ou `stderr`. Execute um destes procedimentos:
  + Libere uma mensagem durante a impressão.

    ```
    import sys
    
    print('Hello, error!', file=sys.stderr, flush=True)
    ```
  + Libere uma mensagem após a impressão. É possível enviar várias mensagens antes de liberar o fluxo.

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

Para obter mais informações sobre como verificar se o script Python gera mensagens de log, consulte [Monitore AWS IoT Greengrass logs](monitor-logs.md).

### A configuração do componente não é atualizada ao alterar a configuração padrão
<a name="update-component-configuration-to-default-configuration"></a>

Quando você altera `DefaultConfiguration` na fórmula de um componente, a nova configuração padrão não substitui a configuração existente do componente durante a implantação. Para aplicar a nova configuração padrão, é necessário redefinir a configuração do componente ao padrão. Ao implantar o componente, especifique uma única string vazia como a [atualização de redefinição](update-component-configurations.md#reset-configuration-update).

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

**Caminhos de redefinição**  

```
[""]
```

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

O comando a seguir cria uma implantação em um dispositivo principal.

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

O arquivo `reset-configuration-deployment.json` contém o documento JSON a seguir.

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

O comando da [CLI do Greengrass](greengrass-cli-component.md) a seguir cria uma implantação local em um dispositivo principal.

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

O arquivo `reset-configuration-deployment.json` contém o documento JSON a seguir.

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

------

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

Esse erro pode ocorrer nos logs de um componente do Greengrass quando ele não tem permissão para executar uma operação de IPC em um recurso. Para conceder permissão a um componente para chamar uma operação de IPC, defina uma política de autorização de IPC na configuração do componente. Para obter mais informações, consulte [Autorizar componentes a realizar operações de IPC](interprocess-communication.md#ipc-authorization-policies).

**dica**  <a name="tip-reset-configuration-to-apply-new-default-configuration"></a>
Se você alterar `DefaultConfiguration` na fórmula de um componente, deverá redefinir a configuração do componente à nova configuração padrão. Ao implantar o componente, especifique uma única string vazia como a [atualização de redefinição](update-component-configurations.md#reset-configuration-update). Para obter mais informações, consulte [A configuração do componente não é atualizada ao alterar a configuração padrão](#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>

Esse erro poderá ocorrer se várias políticas de autorização de IPC, inclusive em todos os componentes do dispositivo principal, usarem o mesmo ID de política.

Verifique as políticas de autorização de IPC dos componentes, corrija as possíveis duplicatas e tente novamente. Para criar uma política exclusiva IDs, recomendamos que você combine o nome do componente, o nome do serviço IPC e um contador. Para obter mais informações, consulte [Autorizar componentes a realizar operações de IPC](interprocess-communication.md#ipc-authorization-policies).

**dica**  <a name="tip-reset-configuration-to-apply-new-default-configuration"></a>
Se você alterar `DefaultConfiguration` na fórmula de um componente, deverá redefinir a configuração do componente à nova configuração padrão. Ao implantar o componente, especifique uma única string vazia como a [atualização de redefinição](update-component-configurations.md#reset-configuration-update). Para obter mais informações, consulte [A configuração do componente não é atualizada ao alterar a configuração padrão](#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>

Você pode ver esse erro quando um dispositivo principal não consegue obter AWS credenciais do [serviço de troca de tokens](interact-with-aws-services.md). O código de status HTTP 400 indica que esse erro ocorreu porque a [função IAM de troca de tokens](device-service-role.md) do dispositivo principal não existe ou não tem uma relação de confiança que permita que o provedor de AWS IoT credenciais a assuma.

Faça o seguinte:

1. Identifique o perfil de troca de tokens que o dispositivo principal utiliza. A mensagem de erro inclui o alias da AWS IoT função do dispositivo principal, que aponta para a função de troca de tokens. Execute o comando a seguir em seu computador de desenvolvimento e *MyGreengrassCoreTokenExchangeRoleAlias* substitua pelo nome do alias da AWS IoT função na mensagem de erro.

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

   A resposta inclui o nome do recurso da Amazon (ARN) do perfil do IAM de troca de tokens.

   ```
   {
     "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. Verifique se o perfil existe. Execute o comando a seguir e *MyGreengrassV2TokenExchangeRole* substitua pelo nome da função de troca de tokens.

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

   Se o comando retornar o erro `NoSuchEntity`, o perfil não existe e é necessário criá-lo. Para obter mais informações sobre como criar e configurar o perfil, consulte [Autorize os dispositivos principais a interagir com os serviços AWS](device-service-role.md).

1. Verifique se a função tem uma relação de confiança que permita que o provedor de AWS IoT credenciais a assuma. A resposta da etapa anterior contém `AssumeRolePolicyDocument`, que define as relações de confiança do perfil. O perfil deve definir uma relação de confiança que permita que `credentials.iot.amazonaws.com` o utilize. Esse documento deve ser semelhante ao exemplo abaixo.

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

****  

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

------

   Se as relações de confiança do perfil não permitirem que `credentials.iot.amazonaws.com` o utilize, será necessário adicionar uma relação de confiança ao perfil. Para obter mais informações, consulte [Modificar um perfil](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html) no *Guia do usuário do AWS Identity and Access Management *.

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

Você pode ver esse erro quando um dispositivo principal não consegue obter AWS credenciais do [serviço de troca de tokens](interact-with-aws-services.md). O código de status HTTP 403 indica que esse erro ocorreu porque as AWS IoT políticas do dispositivo principal não concedem a `iot:AssumeRoleWithCertificate` permissão para o alias de AWS IoT função do dispositivo principal.

Analise as AWS IoT políticas do dispositivo principal e adicione a `iot:AssumeRoleWithCertificate` permissão para o alias de AWS IoT função do dispositivo principal. A mensagem de erro inclui o alias da AWS IoT função atual do dispositivo principal. Para obter mais informações sobre essa permissão e como atualizar as AWS IoT políticas do dispositivo principal, consulte [AWS IoT Política mínima para dispositivos AWS IoT Greengrass V2 principais](device-auth.md#greengrass-core-minimal-iot-policy) [Atualizar a AWS IoT política de um dispositivo principal](device-auth.md#update-core-device-iot-policy) e.

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

Você pode ver esse erro quando o componente tenta solicitar AWS credenciais e não consegue se conectar ao [serviço de troca de tokens](interact-with-aws-services.md).

Faça o seguinte:
+ Verifique se o componente declara uma dependência com o componente de serviço de troca de tokens, `aws.greengrass.TokenExchangeService`. Em caso negativo, adicione a dependência e reimplante o componente.
+ Se o componente for executado no docker, certifique-se de aplicar as configurações de rede e as variáveis de ambiente corretas, de acordo com [Use AWS credenciais em componentes de contêiner do Docker (Linux)](run-docker-container.md#docker-container-token-exchange-service).
+ [Se o componente estiver escrito em NodeJS, defina dns. setDefaultResultFaça o pedido](https://nodejs.org/docs/latest/api/dns.html#dnssetdefaultresultorderorder) para**ipv4first**.
+ Verifique se há uma entrada em `/etc/hosts` que comece com `::1` e contenha `localhost`. Remova a entrada para confirmar se ela que fez com que o componente se conectasse ao serviço de troca de tokens pelo endereço errado.

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

Você pode ver esse erro quando o componente não executa o [serviço de troca de tokens](interact-with-aws-services.md) e um componente tenta solicitar AWS credenciais.

Faça o seguinte:
+ Verifique se o componente declara uma dependência com o componente de serviço de troca de tokens, `aws.greengrass.TokenExchangeService`. Em caso negativo, adicione a dependência e reimplante o componente.
+ Verifique se o componente usa AWS credenciais em seu ciclo de `install` vida. AWS IoT Greengrass não garante a disponibilidade do serviço de troca de tokens durante o `install` ciclo de vida. Atualize o componente para mover o código que usa as credenciais da AWS para o ciclo de vida de `startup` ou `run` e, em seguida, reimplante o componente.

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

Esse erro pode ocorrer quando você altera um valor de configuração de um tipo de contêiner (lista ou objeto) para um tipo que não seja de contêiner (string, número ou booliano). Faça o seguinte:

1. Verifique se a configuração padrão na fórmula do componente define esse valor de configuração como lista ou objeto. Em caso afirmativo, remova-o ou altere-o.

1. Crie uma implantação para redefinir esse valor de configuração ao valor padrão. Para obter mais informações, consulte [Criar implantações](create-deployments.md) e [Atualizar configurações do componente](update-component-configurations.md).

Em seguida, você pode definir esse valor de configuração como string, número ou booliano.

### 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>

Esse erro pode ocorrer nos logs do Greengrass nucleus quando o [componente Gerenciador de aplicações do Docker](docker-application-manager-component.md) tenta fazer download de uma imagem do Docker de um repositório privado no Amazon Elastic Container Registry (Amazon ECR). Esse erro ocorre se você usa o [assistente de credenciais do Docker](https://github.com/docker/docker-credential-helpers) `wincred` (`docker-credential-wincred`). Como resultado, o Amazon ECR não pode armazenar as credenciais de login.

Faça uma das seguintes ações:
+ Se você não usa o assistente de credenciais do Docker `wincred`, remova o programa `docker-credential-wincred` do dispositivo principal.
+ Se você usa o assistente de credenciais do Docker `wincred`, faça o seguinte:

  1. Renomeie o programa `docker-credential-wincred` no dispositivo principal. Substitua `wincred` por um novo nome para o assistente de credenciais do Docker para Windows. Por exemplo, você pode renomeá-lo para `docker-credential-wincredreal`.

  1. Atualize a opção `credsStore` no arquivo de configuração do Docker (`.docker/config.json`) para usar o novo nome para o assistente de credenciais do Docker para Windows. Por exemplo, se você renomeou o programa para `docker-credential-wincredreal`, atualize a opção `credsStore` para `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>

Esse erro pode ocorrer em um dispositivo principal do Windows quando a senha do usuário do sistema que executa os processos do componente, como `ggc_user`, expirou. Como resultado, o software AWS IoT Greengrass Core não consegue executar processos de componentes como esse usuário do sistema.

**Para atualizar a senha de um usuário do sistema Greengrass**

1. Execute o comando a seguir como administrador para definir a senha do usuário. *ggc\$1user*Substitua pelo usuário do sistema e *password* substitua pela senha a ser definida.

   ```
   net user ggc_user password
   ```

1. Use o [PsExec utilitário](https://docs.microsoft.com/en-us/sysinternals/downloads/psexec) para armazenar a nova senha do usuário na instância do Credential Manager da LocalSystem conta. *password*Substitua pela senha do usuário que você definiu.

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

**dica**  <a name="windows-password-expiration-tip"></a>
Dependendo da configuração do Windows, a senha do usuário pode ser definida para expirar em uma data futura. Para garantir que as aplicações Greengrass continuem operando, monitore quando a senha expira e atualize-a antes disso. Também é possível definir que a senha nunca expire.  
Para verificar quando um usuário e senha expiram, execute o comando a seguir.  

  ```
  net user ggc_user | findstr /C:expires
  ```
Para definir que a senha de um usuário nunca expire, execute o seguinte comando.  

  ```
  wmic UserAccount where "Name='ggc_user'" set PasswordExpires=False
  ```
Se você estiver usando o Windows 10 ou posterior, onde o [`wmic`comando está obsoleto](https://learn.microsoft.com/en-us/windows/win32/wmisdk/wmic), execute o comando a seguir. 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>

Ao atualizar o Gerenciador de fluxos v2.0.7 para uma versão entre v2.0.8 e v2.0.11, você pode ver o seguinte erro nos logs do componente Gerenciador de fluxos quando ele não pode ser iniciado. 

```
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}
```

Se você implantou o Gerenciador de fluxos v2.0.7 e deseja atualizar para uma versão mais recente, atualize-o diretamente para a versão 2.0.12. Para obter mais informações sobre o componente Gerenciador de fluxos, consulte [Gerenciador de fluxos](stream-manager-component.md).

## Problemas com o componente de função do Lambda do dispositivo principal
<a name="greengrass-core-lambda-function-issues"></a>

Solucione problemas com o componente de função do Lambda em dispositivos principais.

**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>

Esse erro pode ocorrer quando você executa uma função do Lambda em contêiner nos seguintes casos:
+ O dispositivo principal não tem o cgroup v1 habilitado para a memória ou os cgroups do dispositivo.
+ O dispositivo principal tem cgroups v2 habilitados. As funções do Lambda do Greengrass exigem cgroups v1, e os cgroups v1 e v2 são mutuamente exclusivos.

Para habilitar os cgroups v1, inicialize o dispositivo com os parâmetros do kernel Linux abaixo.

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

**dica**  
Em um Raspberry Pi, edite o arquivo `/boot/cmdline.txt` para definir os parâmetros do kernel do dispositivo.

### 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>

[Você pode ver esse erro ao executar uma função Lambda V1, que usa AWS IoT Greengrass o SDK principal, em um dispositivo V2 core sem especificar uma assinatura no componente antigo do roteador de assinatura.](legacy-subscription-router-component.md) Para corrigir esse problema, implante e configure o roteador legado de assinatura para especificar as assinaturas necessárias. Para obter mais informações, consulte [Importar funções do Lambda no V1](set-up-v2-test-device.md#run-v1-lambda-functions).

## Versão do componente descontinuada
<a name="discontinued-component-version"></a>

É possível ver uma notificação no Personal Health Dashboard (PHD) quando uma versão do componente em seu dispositivo principal foi descontinuada. A versão do componente envia essa notificação ao PHD em até 60 minutos após ser descontinuada.

Para ver quais implantações você precisa revisar, faça o seguinte usando a AWS Command Line Interface:

1. Execute o comando a seguir para obter uma lista dos seus dispositivos principais.

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

1. Execute o comando a seguir para recuperar o status dos componentes em cada dispositivo principal da Etapa 1. Substitua `coreDeviceName` pelo nome de cada dispositivo principal que será consultado.

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

1. Agrupe os dispositivos principais com a versão descontinuada do componente instalada das etapas anteriores.

1. Execute o comando a seguir para recuperar o status de todas as tarefas de implantação de cada dispositivo principal da Etapa 3. Substitua `coreDeviceName` pelo nome do dispositivo principal que será consultado.

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

   A resposta contém a lista de tarefas de implantação do dispositivo principal. É possível revisar a implantação para escolher outra versão do componente. Para obter mais informações sobre como revisar uma implantação, consulte [Revisar implantações](https://docs.aws.amazon.com/greengrass/v2/developerguide/revise-deployments.html).

## Problemas na interface de linha de comando do Greengrass
<a name="greengrass-cli-issues"></a>

Solucione problemas com a [CLI do 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>

Você pode ver esse erro ao executar um comando da CLI do Greengrass e especificar uma pasta raiz diferente daquela em que o software AWS IoT Greengrass Core está instalado.

Siga um dos procedimentos a seguir para definir o caminho raiz e `/greengrass/v2` substituí-lo pelo caminho para a instalação AWS IoT Greengrass do software Core:<a name="greengrass-cli-set-root-path"></a>
+ Defina a variável de ambiente `GGC_ROOT_PATH` como `/greengrass/v2`.
+ Adicione o argumento `--ggcRootPath /greengrass/v2` ao comando, conforme mostrado no exemplo abaixo.

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

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

Solucione AWS CLI problemas para 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>

Você pode ver esse erro ao executar um AWS IoT Greengrass V2 comando com o AWS CLI (por exemplo,`aws greengrassv2 list-core-devices`).

Esse erro indica que você tem uma versão do AWS CLI que não é compatível AWS IoT Greengrass V2. Para usar AWS IoT Greengrass V2 com o AWS CLI, você deve ter uma das seguintes versões ou posteriores:<a name="minimum-aws-cli-versions"></a>
+ Versão AWS CLI V1 mínima: v1.18.197
+ Versão AWS CLI V2 mínima: v2.1.11

**dica**  <a name="tip-check-aws-cli-version"></a>
Você pode executar o comando a seguir para verificar a versão do AWS CLI que você tem.  

```
aws --version
```

Para resolver esse problema, atualize o AWS CLI para uma versão posterior que ofereça suporte AWS IoT Greengrass V2. Para obter mais informações, consulte [Como instalar, atualizar e desinstalar a AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) no *Guia do usuário da AWS Command Line Interface *.

# Códigos detalhados de erros de implantação
<a name="troubleshooting-deployment"></a>

Use os códigos de erros e as soluções nestas seções para ajudar a resolver problemas com a implantação de componentes ao usar o núcleo do Greengrass versão 2.8.0 ou posterior.

O núcleo do Greengrass relata os erros de implantação como uma hierarquia do código menos específico ao mais específico disponível. Você pode usar essa hierarquia para ajudar a identificar o motivo de um erro de implantação. Por exemplo, veja a seguir uma hierarquia de erro possível:
+ DEPLOYMENT\$1FAILURE
  + ARTIFACT\$1DOWNLOAD\$1ERROR
    + IO\$1ERROR
      + DISK\$1SPACE\$1CRITICAL

Os códigos de erro são organizados em tipos. Cada tipo representa uma classe de erros que podem ocorrer. AWS IoT Greengrass relata esses tipos de erros no console, na API AWS CLI e. Pode haver mais de um tipo, dependendo dos erros relatados na hierarquia. No exemplo anterior, o tipo de erro retornado é `DEVICE_ERROR`.

Os tipos são:
+ **PERMISSION\$1ERROR**: o acesso a uma operação que requer permissão foi negado.
+ **REQUEST\$1ERROR**: ocorreu um erro devido a um problema no documento da implantação.
+ **COMPONENT\$1RECIPE\$1ERROR**: ocorreu um erro devido a um problema na fórmula de um componente.
+ **AWS\$1COMPONENT\$1ERROR** — Ocorreu um erro ao iniciar ou remover um componente AWS fornecido.
+ **USER\$1COMPONENT\$1ERROR**: ocorreu um erro ao iniciar ou remover um componente do usuário.
+ **COMPONENT\$1ERROR**: ocorreu um erro ao iniciar ou remover um componente, mas o núcleo do Greengrass não determinou se o componente é fornecido pela AWS ou do usuário.
+ **DEVICE\$1ERROR** — Ocorreu um erro no local I/O ou em outro dispositivo.
+ **DEPENDENCY\$1ERROR**: houve falha na implantação ao fazer download de um artefato do Amazon S3 ou ao extrair uma imagem de um registro do ECR.
+ **HTTP\$1ERROR**: ocorreu um erro com uma solicitação HTTP.
+ **NETWORK\$1ERROR**: ocorreu um erro com a rede do dispositivo.
+ **NUCLEUS\$1ERROR**: o núcleo do Greengrass não localizou um componente ou não encontrou a versão do núcleo ativo.
+ **SERVER\$1ERROR**: um servidor retornou o erro 500 em resposta a uma solicitação.
+ **CLOUD\$1SERVICE\$1ERROR**: ocorreu um erro com o serviço de nuvem do AWS IoT Greengrass .
+ **UNKNOWN\$1ERROR**: uma exceção não verificada foi lançada pelo componente.

Muitos dos erros nesta seção relatam informações adicionais nos registros AWS IoT Greengrass principais. Esses logs são armazenados no sistema de arquivos local do dispositivo principal. Há registros para o software AWS IoT Greengrass principal e para cada componente individual. Para obter informações sobre como acessar os logs, consulte [Acessar os logs do sistema de arquivos](monitor-logs.md#access-local-logs).

## Erro de permissão
<a name="permission-error"></a>

ACCESS\$1DENIED  
Você pode receber esse erro quando uma operação AWS de serviço retorna um erro 403 porque as permissões não estão configuradas corretamente. Consulte o código de erro mais específico para obter detalhes.

GET\$1DEPLOYMENT\$1CONFIGURATION\$1ACCESS\$1DENIED  
Você pode receber esse erro quando a AWS IoT política não permite permissão para chamar a `GetDeploymentConfiguration` operação. Adicione a permissão `greengrass::GetDeploymentConfiguration` à política do dispositivo principal.

GET\$1COMPONENT\$1VERSION\$1ARTIFACT\$1ACCESS\$1DENIED  
Você pode receber esse erro quando a AWS IoT política do dispositivo principal não permite a `greengrass:GetComponentVersionArtifact` permissão. Adicione a permissão à política do dispositivo principal.

RESOLVE\$1COMPONENT\$1CANDIDATES\$1ACCESS\$1DENIED  
Você pode receber esse erro quando a AWS IoT política do dispositivo principal não permite a `greengrass:ResolveComponentCandidates` permissão. Adicione a permissão à política do dispositivo principal.

GET\$1ECR\$1CREDENTIAL\$1ERROR  
Você pode receber esse erro quando não é possível autenticar a implantação com um registro privado no ECR. Verifique se há um erro específico no log e repita a implantação.

USER\$1NOT\$1AUTHORIZED\$1FOR\$1DOCKER  
Você pode receber esse erro quando o usuário do Greengrass não está autorizado a usar o Docker. Certifique-se de que você execute o Greengrass como root ou que o usuário tenha sido adicionado ao grupo `docker`. Em seguida, repita a implantação.

S3\$1ACCESS\$1DENIED  
Você pode receber esse erro quando uma operação do Amazon S3 retorna o erro 403. Consulte os códigos de erro adicionais ou os logs para obter detalhes.

S3\$1HEAD\$1OBJECT\$1ACCESS\$1DENIED  
Você pode receber esse erro quando o perfil de troca de tokens do dispositivo não permite que o software de núcleo do AWS IoT Greengrass faça download do artefato do componente pelo URL do objeto do S3, que você especifica na fórmula do componente, ou quando o artefato do componente não está disponível. Garanta que o perfil de troca de tokens permita `s3:GetObject` no URL do objeto do S3 em que o artefato está disponível e que o artefato esteja presente.

S3\$1GET\$1BUCKET\$1LOCATION\$1ACCESS\$1DENIED  
Você pode receber esse erro quando o perfil de troca de tokens do dispositivo não permite `s3:GetBucketLocation` no bucket do Amazon S3 em que o artefato está disponível. Verifique se o dispositivo concede a permissão e repita a implantação.

S3\$1GET\$1OBJECT\$1ACCESS\$1DENIED  
Você pode receber esse erro quando o perfil de troca de tokens do dispositivo não permite que o software de núcleo do AWS IoT Greengrass faça download do artefato do componente pelo URL do objeto do S3, que você especifica na fórmula do componente, ou quando o artefato do componente não está disponível. Garanta que o perfil de troca de tokens permita `s3:GetObject` no URL do objeto do S3 em que o artefato está disponível e que o artefato esteja presente.

## Erro na solicitação
<a name="request-error"></a>

NUCLEUS\$1MISSING\$1REQUIRED\$1CAPABILITIES  
Você pode receber esse erro quando a versão do núcleo na implantação não pode executar uma operação solicitada, como fazer download de uma configuração grande ou definir limites de recursos do Linux. Repita a implantação com uma versão do núcleo que ofereça suporte à operação.

MULTIPLE\$1NUCLEUS\$1RESOLVED\$1ERROR  
Você pode receber esse erro quando uma implantação tenta implantar vários componentes do núcleo. Consulte o log para ver o que causou o erro e acesse a página de atualização do software de núcleo para verificar se o problema foi corrigido em uma versão posterior do núcleo. Se preferir, entre em contato com o Suporte.

COMPONENT\$1CIRCULAR\$1DEPENDENCY\$1ERROR  
Você pode receber esse erro quando dois componentes na implantação dependem um do outro. Revise a configuração dos componentes para eles não dependam um do outro na implantação. 

UNAUTHORIZED\$1NUCLEUS\$1MINOR\$1VERSION\$1UPDATE  
Você pode receber esse erro quando um componente na implantação exige uma atualização da versão secundária do núcleo, mas essa versão não está especificada na implantação. Isso ajuda a reduzir atualizações acidentais de versões secundárias de componentes que dependem de outra versão. Inclua a nova versão secundária do núcleo na implantação.

MISSING\$1DOCKER\$1APPLICATION\$1MANAGER  
Você pode receber esse erro ao implantar um componente do Docker sem implantar o gerenciador de aplicações do Docker. Certifique-se de que a implantação inclua o gerenciador de aplicações do Docker.

MISSING\$1TOKEN\$1EXCHANGE\$1SERVICE  
Você pode receber esse erro quando a implantação tenta fazer download de um artefato de imagem do Docker de um registro privado do ECR sem implantar o serviço de troca de tokens. Certifique-se de que a implantação inclua o serviço de troca de tokens.

COMPONENT\$1VERSION\$1REQUIREMENTS\$1NOT\$1MET  
Você pode receber esse erro quando há um conflito de restrição de versão ou quando a versão de um componente não existe. Para obter mais informações, consulte [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  
Você pode receber esse erro quando uma operação de AWS serviço excede uma cota de tarifa. Repita a implantação.

CONFLICTED\$1REQUEST  
Você pode receber esse erro quando uma operação de AWS serviço retorna um erro 409 porque sua implantação está tentando realizar mais de uma operação por vez. Repita a implantação.

RESOURCE\$1NOT\$1FOUND  
Você pode receber esse erro quando uma operação AWS de serviço retorna um erro 404 porque não foi possível encontrar um recurso. Verifique se há recursos ausentes no log.

RUN\$1WITH\$1CONFIG\$1NOT\$1VALID  
Você pode receber esse erro quando as informações `posixUser`, `posixGroup` ou `windowsUser` especificadas para executar o componente não são válidas. Verifique se o usuário é válido e repita a implantação.

UNSUPPORTED\$1REGION  
Você pode receber esse erro quando o AWS IoT Greengrass não oferece suporte à região especificada para a implantação. Verifique a região e repita a implantação.

IOT\$1CRED\$1ENDPOINT\$1NOT\$1VALID  
Você pode receber esse erro quando o endpoint de AWS IoT credencial especificado na configuração não for válido. Verifique o endpoint e repita a solicitação.

IOT\$1DATA\$1ENDPOINT\$1NOT\$1VALID  
Você pode receber esse erro quando o endpoint de AWS IoT dados especificado na configuração não for válido. Verifique o endpoint e repita a solicitação.

S3\$1HEAD\$1OBJECT\$1RESOURCE\$1NOT\$1FOUND  
Você pode receber esse erro quando o artefato do componente não está disponível no URL do objeto do S3 que você especifica na fórmula do componente. Verifique se você carregou o artefato no bucket do S3 e se o URI do artefato corresponde ao URL do objeto do S3 do artefato no bucket.

S3\$1GET\$1BUCKET\$1LOCATION\$1RESOURCE\$1NOT\$1FOUND  
Você pode receber esse erro quando o bucket do Amazon S3 não é encontrado. Verifique se o bucket existe e repita a implantação.

S3\$1GET\$1OBJECT\$1RESOURCE\$1NOT\$1FOUND  
Você pode receber esse erro quando o artefato do componente não está disponível no URL do objeto do S3 que você especifica na fórmula do componente. Verifique se você carregou o artefato no bucket do S3 e se o URI do artefato corresponde ao URL do objeto do S3 do artefato no bucket.

IO\$1MAPPING\$1ERROR  
Você pode receber esse erro quando ocorre um I/O erro ao analisar o documento ou a receita de implantação. Consulte os códigos de erro adicionais ou os logs para obter detalhes.

## Erro na fórmula do componente
<a name="component-recipe-error"></a>

RECIPE\$1PARSE\$1ERROR  
Você pode receber esse erro quando não é possível analisar a fórmula da implantação porque há um erro na estrutura da fórmula. Verifique se a fórmula está formatada corretamente e repita a implantação.

RECIPE\$1METADATA\$1PARSE\$1ERROR  
Você pode receber esse erro quando não é possível analisar os metadados da fórmula da implantação baixados da nuvem. Entre em contato Suporte.

ARTIFACT\$1URI\$1NOT\$1VALID  
Você pode receber esse erro quando o URI de um artefato em uma fórmula não está formatado corretamente. Consulte o log para verificar o URI inválido, atualize o URI na fórmula e repita a implantação.

S3\$1ARTIFACT\$1URI\$1NOT\$1VALID  
Você pode receber esse erro quando o URI do Amazon S3 de um artefato em uma fórmula não é válido. Consulte o log para verificar o URI inválido, atualize o URI na fórmula e repita a implantação.

DOCKER\$1ARTIFACT\$1URI\$1NOT\$1VALID  
Você pode receber esse erro quando o URI do Docker de um artefato em uma fórmula não é válido. Consulte o log para verificar o URI inválido, atualize o URI na fórmula e repita a implantação.

EMPTY\$1ARTIFACT\$1URI  
Você pode receber esse erro quando o URI de um artefato não foi especificado em uma fórmula. Consulte o log para verificar o URI ausente do artefato, atualize o URI na fórmula e repita a implantação.

EMPTY\$1ARTIFACT\$1SCHEME  
Você pode receber esse erro quando um esquema de URI não foi definido para um artefato. Consulte o log para verificar o URI inválido, atualize o URI na fórmula e repita a implantação.

UNSUPPORTED\$1ARTIFACT\$1SCHEME  
Você pode receber esse erro quando um esquema de URI não é compatível com a versão do núcleo em execução. O URI não é válido ou você precisa atualizar a versão do núcleo. Se o URI não for válido, consulte o log para verificar o URI inválido, atualize o URI na fórmula e repita a implantação.

RECIPE\$1MISSING\$1MANIFEST  
Você pode receber esse erro quando a seção do manifesto não está incluída na fórmula. Adicione o manifesto à fórmula e repita a implantação.

RECIPE\$1MISSING\$1ARTIFACT\$1HASH\$1ALGORITHM  
Você pode receber esse erro quando um artefato que não é local é especificado em uma fórmula sem o algoritmo de hash. Adicione o algoritmo ao artefato e repita solicitação.

ARTIFACT\$1CHECKSUM\$1MISMATCH  
Você pode receber esse erro quando um artefato baixado tem um resumo diferente daquele especificado na fórmula. Certifique-se de que a fórmula contenha o resumo correto e repita a implantação. Para obter mais informações, consulte [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  
Você pode receber esse erro quando o tipo de dependência especificado na fórmula de uma implantação não é válido. Verifique a fórmula e repita a solicitação.

CONFIG\$1INTERPOLATE\$1ERROR  
Você pode receber esse erro ao interpolar uma variável de fórmula. Consulte os detalhes no log.

IO\$1MAPPING\$1ERROR  
Você pode receber esse erro quando ocorre um I/O erro ao analisar o documento ou a receita de implantação. Consulte os códigos de erro adicionais ou os logs para obter detalhes.

## AWS erro do componente, erro do componente do usuário, erro do componente
<a name="component-error"></a>

Os códigos de erro a seguir são retornados quando há qualquer problema com um componente. O tipo de erro real relatado depende do componente específico que o gerou. Se o núcleo do Greengrass identificar o componente como fornecido por AWS IoT Greengrass, ele retornará. `AWS_COMPONENT_ERROR` Se o componente for identificado como do usuário, o núcleo do Greengrass retornará `USER_COMPONENT_ERROR`. Se o núcleo do Greengrass não o reconhecer, ele retornará `COMPONENT_ERROR`.

COMPONENT\$1UPDATE\$1ERROR  
Você pode receber esse erro quando um componente não é atualizado durante a implantação. Verifique os códigos de erro adicionais ou consulte o log para ver o que causou o erro.

COMPONENT\$1BROKEN  
Você pode receber esse erro quando há falha em um componente durante a implantação. Consulte os detalhe do erro no log do componente e repita a implantação.

REMOVE\$1COMPONENT\$1ERROR  
Você pode receber esse erro quando o núcleo não consegue remover um componente durante a implantação. Consulte os detalhe do erro no log e repita a implantação.

COMPONENT\$1BOOTSTRAP\$1TIMEOUT  
Você pode receber esse erro quando a tarefa de bootstrap de um componente ultrapassa o tempo limite configurado. Aumente o tempo limite ou reduza o tempo de execução da tarefa de bootstrap e repita a implantação.

COMPONENT\$1BOOTSTRAP\$1ERROR  
Você pode receber esse erro quando a tarefa de bootstrap de um componente tem um erro. Consulte os detalhe do erro no log e repita a implantação.

COMPONENT\$1CONFIGURATION\$1NOT\$1VALID  
Você pode receber esse erro quando o núcleo não consegue validar a configuração implantada para o componente. Consulte os detalhe do erro no log e repita a implantação.

## Erro do dispositivo
<a name="device-error"></a>

IO\$1WRITE\$1ERROR  
Você pode receber esse erro ao gravar em um arquivo. Consulte os detalhes no log.

IO\$1READ\$1ERROR  
Você pode receber esse erro ao ler um arquivo. Consulte os detalhes no log.

DISK\$1SPACE\$1CRITICAL  
Você pode receber esse erro quando não há espaço em disco suficiente para concluir uma solicitação de implantação. Você deve ter pelo menos 20 MB de espaço disponível, ou o suficiente para armazenar um artefato maior. Libere espaço no disco e repita a implantação.

IO\$1FILE\$1ATTRIBUTE\$1ERROR  
Você pode receber esse erro quando não for possível recuperar o tamanho do arquivo existente do sistema de arquivos. Consulte os detalhes no log.

SET\$1PERMISSION\$1ERROR  
Você pode receber esse erro quando não é possível definir as permissões em um artefato ou diretório de artefatos baixados. Consulte os detalhes no log.

IO\$1UNZIP\$1ERROR  
Você pode receber esse erro quando não é possível descompactar um artefato. Consulte os detalhes no log.

LOCAL\$1RECIPE\$1NOT\$1FOUND  
Você pode receber esse erro quando a cópia local de um arquivo de fórmula não é encontrada. Repita a implantação.

LOCAL\$1RECIPE\$1CORRUPTED  
Você pode receber esse erro quando a cópia local da fórmula foi alterada desde que foi baixada. Exclua a cópia existente da fórmula e repita a implantação.

LOCAL\$1RECIPE\$1METADATA\$1NOT\$1FOUND  
Você pode receber esse erro quando a cópia local dos metadados da fórmula não é encontrada. Repita a implantação.

LAUNCH\$1DIRECTORY\$1CORRUPTED  
Você pode receber esse erro quando o diretório usado para iniciar o núcleo do Greengrass (`/greengrass/v2/alts/current`) foi modificado desde a última vez em que o núcleo foi iniciado. Reinicie o núcleo e repita a implantação.

HASHING\$1ALGORITHM\$1UNAVAILABLE  
Você pode receber esse erro quando a distribuição Java do dispositivo não oferece suporte ao algoritmo de hash necessário ou quando o algoritmo de hash especificado na fórmula do componente não é válido.

DEVICE\$1CONFIG\$1NOT\$1VALID\$1FOR\$1ARTIFACT\$1DOWNLOAD  
Você pode recebê-lo quando há um erro na configuração do dispositivo que impede a implantação de fazer download do artefato do Amazon S3 ou da nuvem do Greengrass. Verifique se há um erro de configuração específico no log e repita a implantação.

## Erro de dependência
<a name="dependency-error"></a>

DOCKER\$1ERROR  
Você pode receber esse erro ao extrair uma imagem do Docker. Consulte os códigos de erro adicionais ou os logs para obter detalhes.

DOCKER\$1SERVICE\$1UNAVAILABLE  
Você pode receber esse erro quando o Greengrass não consegue fazer login no registro do Docker. Verifique se há um erro específico no log e repita a implantação.

DOCKER\$1LOGIN\$1ERROR  
Você pode recebê-lo quando ocorre um erro inesperado ao fazer login no Docker. Verifique se há um erro específico no log e repita a implantação.

DOCKER\$1PULL\$1ERROR  
Você pode recebê-lo quando um erro inesperado ocorre ao extrair uma imagem do Docker do registro. Verifique se há um erro específico no log e repita a implantação.

DOCKER\$1IMAGE\$1NOT\$1VALID  
Você pode receber esse erro quando a imagem do Docker solicitada não existe. Verifique se há um erro específico no log e repita a implantação.

DOCKER\$1IMAGE\$1QUERY\$1ERROR  
Você pode receber esse erro quando uma falha inesperada ocorre ao consultar as imagens disponíveis no Docker. Consulte o erro específico no log e repita a implantação.

S3\$1ERROR  
Você pode receber esse erro ao azer download de um artefato do Amazon S3. Consulte os códigos de erro adicionais ou os logs para obter detalhes.

S3\$1RESOURCE\$1NOT\$1FOUND  
Você pode receber esse erro quando uma operação do Amazon S3 retorna o erro 404. Consulte os códigos de erro adicionais ou os logs para obter detalhes.

S3\$1BAD\$1REQUEST  
Você pode receber esse erro quando uma operação do Amazon S3 retorna o erro 400. Verifique se há um erro específico no log e repita a solicitação.

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

HTTP\$1REQUEST\$1ERROR  
Você pode recebê-lo quando um erro ocorre ao fazer uma solicitação HTTP. Consulte o erro específico no log.

DOWNLOAD\$1DEPLOYMENT\$1DOCUMENT\$1ERROR  
Você pode recebê-lo quando um erro HTTP ocorre ao fazer download do documento da implantação. Consulte o erro de HTTP específico no log.

GET\$1GREENGRASS\$1ARTIFACT\$1SIZE\$1ERROR  
Você pode recebê-lo quando um erro de HTTP ocorre ao obter o tamanho de um artefato de componente público. Consulte o erro de HTTP específico no log.

DOWNLOAD\$1GREENGRASS\$1ARTIFACT\$1ERROR  
Você pode recebê-lo quando um erro de HTTP ocorre ao fazer download de um artefato de componente público. Consulte o erro de HTTP específico no log.

## Erro de rede
<a name="network-error"></a>

NETWORK\$1ERROR  
Você pode receber esse erro quando há um problema de conexão durante a implantação. Verifique a conexão do dispositivo com a Internet e repita a implantação.

## Erro do núcleo
<a name="nucleus-error"></a>

BAD\$1REQUEST  
Você pode receber esse erro quando uma operação AWS na nuvem retorna um erro 400. Verifique o registro para ver qual API causou o erro e, em seguida, verifique a página de atualização do software nucleus para ver se o problema foi corrigido em uma versão posterior do núcleo ou entre em contato. Suporte

NUCLEUS\$1VERSION\$1NOT\$1FOUND  
Você pode receber esse erro quando um dispositivo principal não encontra a versão do núcleo ativo. Consulte o log para ver o que causou o erro e acesse a página de atualização do software de núcleo para verificar se o problema foi corrigido em uma versão posterior do núcleo. Se preferir, entre em contato com o Suporte.

NUCLEUS\$1RESTART\$1FAILURE  
Você pode receber esse erro quando o núcleo não é reiniciado durante uma implantação que exija a reinicialização dele. Consulte o log do carregador para ver o que causou o erro e acesse a página de atualização do software de núcleo para verificar se o problema foi corrigido em uma versão posterior do núcleo. Se preferir, entre em contato com o Suporte. 

INSTALLED\$1COMPONENT\$1NOT\$1FOUND  
Você pode receber esse erro quando o núcleo não localiza um componente instalado. Consulte o log para ver o que causou o erro e acesse a página de atualização do software de núcleo para verificar se o problema foi corrigido em uma versão posterior do núcleo. Se preferir, entre em contato com o Suporte.

DEPLOYMENT\$1DOCUMENT\$1NOT\$1VALID  
Você pode receber esse erro quando o dispositivo recebe um documento de implantação que não é válido. Verifique os códigos de erro adicionais ou consulte o log para ver o que causou o erro.

EMPTY\$1DEPLOYMENT\$1REQUEST  
Você pode receber esse erro quando um dispositivo recebe uma solicitação de implantação vazia. Consulte o log para ver o que causou o erro e acesse a página de atualização do software de núcleo para verificar se o problema foi corrigido em uma versão posterior do núcleo. Se preferir, entre em contato com o Suporte.

DEPLOYMENT\$1DOCUMENT\$1PARSE\$1ERROR  
Você pode receber esse erro quando o formato da solicitação de implantação não corresponde ao formato esperado. Consulte o log para ver o que causou o erro e acesse a página de atualização do software de núcleo para verificar se o problema foi corrigido em uma versão posterior do núcleo. Se preferir, entre em contato com o Suporte.

COMPONENT\$1METADATA\$1NOT\$1VALID\$1IN\$1DEPLOYMENT  
Você pode receber esse erro quando a solicitação de implantação contém metadados de componente inválidos. Consulte o log para ver o que causou o erro e acesse a página de atualização do software de núcleo para verificar se o problema foi corrigido em uma versão posterior do núcleo. Se preferir, entre em contato com o Suporte.

LAUNCH\$1DIRECTORY\$1CORRUPTED  
Você pode receber esse erro ao mover um dispositivo do Greengrass de um grupo de itens para outro e depois voltar para o grupo original com implantações que exigem a reinicialização do Greengrass. Para solucionar o erro, recrie o diretório de inicialização do Greengrass no dispositivo.  
Para obter mais informações, consulte [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).

## Erro de servidor
<a name="server-error"></a>

SERVER\$1ERROR  
Você pode receber esse erro quando uma operação AWS de serviço retorna um erro 500 porque o serviço não pode processar a solicitação no momento. Repita a implantação mais tarde.

S3\$1SERVER\$1ERROR  
Você pode receber esse erro quando uma operação do Amazon S3 retorna o erro 500. Consulte os códigos de erro adicionais ou os logs para obter detalhes.

## Erro de serviço de nuvem
<a name="cloud-service-error"></a>

RESOLVE\$1COMPONENT\$1CANDIDATES\$1BAD\$1RESPONSE  
Você pode receber esse erro quando o serviço de nuvem do Greengrass envia uma resposta incompatível à operação `ResolveComponentCandidates`. Consulte o log para ver o que causou o erro e acesse a página de atualização do software de núcleo para verificar se o problema foi corrigido em uma versão posterior do núcleo. Se preferir, entre em contato com o Suporte.

DEPLOYMENT\$1DOCUMENT\$1SIZE\$1EXCEEDED  
Você pode receber esse erro quando o documento de implantação solicitado excede a cota de tamanho máximo. Reduza o tamanho do documento de implantação e repita a implantação.

GREENGRASS\$1ARTIFACT\$1SIZE\$1NOT\$1FOUND  
Você pode receber esse erro quando o Greengrass não consegue obter o tamanho de um artefato de componente público. Consulte o log para ver o que causou o erro e acesse a página de atualização do software de núcleo para verificar se o problema foi corrigido em uma versão posterior do núcleo. Se preferir, entre em contato com o Suporte.

DEPLOYMENT\$1DOCUMENT\$1NOT\$1VALID  
Você pode receber esse erro quando o dispositivo recebe um documento de implantação que não é válido. Verifique os códigos de erro adicionais ou consulte o log para ver o que causou o erro.

EMPTY\$1DEPLOYMENT\$1REQUEST  
Você pode receber esse erro quando um dispositivo recebe uma solicitação de implantação vazia. Consulte o log para ver o que causou o erro e acesse a página de atualização do software de núcleo para verificar se o problema foi corrigido em uma versão posterior do núcleo. Se preferir, entre em contato com o Suporte.

DEPLOYMENT\$1DOCUMENT\$1PARSE\$1ERROR  
Você pode receber esse erro quando o formato da solicitação de implantação não corresponde ao formato esperado. Consulte o log para ver o que causou o erro e acesse a página de atualização do software de núcleo para verificar se o problema foi corrigido em uma versão posterior do núcleo. Se preferir, entre em contato com o Suporte.

COMPONENT\$1METADATA\$1NOT\$1VALID\$1IN\$1DEPLOYMENT  
Você pode receber esse erro quando a solicitação de implantação contém metadados de componente inválidos. Consulte o log para ver o que causou o erro e acesse a página de atualização do software de núcleo para verificar se o problema foi corrigido em uma versão posterior do núcleo. Se preferir, entre em contato com o Suporte.

## Erros genéricos
<a name="generic-error"></a>

Estes erros genéricos não têm um tipo de erro associado.

DEPLOYMENT\$1INTERRUPTED  
Você pode receber esse erro quando não é possível concluir a implantação porque o núcleo foi desligado ou por outro evento externo. Consulte os códigos de erro adicionais ou os logs para obter detalhes.

ARTIFACT\$1DOWNLOAD\$1ERROR  
Você pode receber esse erro quando há um problema ao fazer download de um artefato. Consulte os códigos de erro adicionais ou os logs para obter detalhes.

NO\$1AVAILABLE\$1COMPONENT\$1VERSION  
Você pode receber esse erro quando uma versão do componente não existe na nuvem nem localmente, ou se há um conflito de resolução de dependência. Consulte os códigos de erro adicionais ou os logs para obter detalhes.

COMPONENT\$1PACKAGE\$1LOADING\$1ERROR  
Você pode recebê-lo quando há um erro ao processar os artefatos baixados. Consulte os códigos de erro adicionais ou os logs para obter detalhes.

NUVEM\$1 API\$1ERROR  
Você pode receber esse erro quando ocorre um erro ao chamar uma API AWS de serviço. Consulte os códigos de erro adicionais ou os logs para obter detalhes.

IO\$1ERROR  
Você pode receber esse erro quando ocorre um I/O erro durante uma implantação. Consulte os códigos de erro adicionais ou os logs para obter detalhes.

COMPONENT\$1UPDATE\$1ERROR  
Você pode receber esse erro quando um componente não é atualizado durante a implantação. Verifique os códigos de erro adicionais ou consulte o log para ver o que causou o erro.

## Erro desconhecido
<a name="unknown-error"></a>

DEPLOYMENT\$1FAILURE  
Você pode receber esse erro quando há falha na implantação por causa de uma exceção não verificada. Consulte o log para ver o que causou o erro e acesse a página de atualização do software de núcleo para verificar se o problema foi corrigido em uma versão posterior do núcleo. Se preferir, entre em contato com o Suporte.

DEPLOYMENT\$1TYPE\$1NOT\$1VALID  
Você pode receber esse erro quando o tipo de implantação não é válido. Consulte o log para ver o que causou o erro e acesse a página de atualização do software de núcleo para verificar se o problema foi corrigido em uma versão posterior do núcleo. Se preferir, entre em contato com o Suporte.

# Códigos detalhados de status de componente
<a name="troubleshooting-component"></a>

Use os códigos de status e as soluções nestas seções para ajudar a resolver problemas com componentes ao usar o núcleo do Greengrass versão 2.8.0 ou posterior.

Vários status neste tópico relatam informações adicionais nos logs do núcleo do AWS IoT Greengrass. Esses logs são armazenados no sistema de arquivos local do dispositivo principal. Há logs para cada componente individual. Para obter informações sobre como acessar os logs, consulte [Acessar os logs do sistema de arquivos](monitor-logs.md#access-local-logs).

INSTALL\$1ERROR  
Esse erro pode ocorrer ao executar um script de instalação. O código de erro é relatado no log do componente. Verifique se há erros no script de instalação e implante o componente novamente.

INSTALL\$1CONFIG\$1NOT\$1VALID  
Você poderá receber esse erro quando não for possível concluir a instalação de um componente porque a seção `install` da fórmula não é válida. Verifique se há erros na seção de instalação da fórmula e repita a implantação.

INSTALL\$1IO\$1ERROR  
Um erro de E/S que pode ocorrer durante a instalação de um componente. Consulte os detalhes no log de erros do componente.

INSTALL\$1MISSING\$1DEFAULT\$1RUNWITH  
Você pode receber esse erro quando o AWS IoT Greengrass não consegue determinar o usuário ou o grupo que será usado ao instalar um componente. Certifique-se de que a seção `runWith` da fórmula de instalação inclua um usuário ou um grupo válido. 

INSTALL\$1TIMEOUT  
Você pode receber esse erro quando o script de instalação não foi concluído dentro do tempo limite configurado. Aumente o período de `Timeout` especificado na seção `install` da fórmula ou modifique o script de instalação para finalizar dentro do tempo limite configurado.

STARTUP\$1ERROR  
Esse erro pode ocorrer ao executar um script de inicialização. O código de erro é relatado no log do componente. Verifique se há erros no script de instalação e implante o componente novamente.

STARTUP\$1CONFIG\$1NOT\$1VALID  
Você poderá receber esse erro quando não for possível concluir a instalação de um componente porque a seção `startup` da fórmula não é válida. Verifique se há erros na seção de inicialização da fórmula e repita a implantação.

STARTUP\$1IO\$1ERROR  
Um erro de E/S que pode ocorrer durante a inicialização de um componente. Consulte os detalhes no log de erros do componente.

STARTUP\$1MISSING\$1DEFAULT\$1RUNWITH  
Você pode receber esse erro quando o AWS IoT Greengrass não consegue determinar o usuário ou o grupo que será usado ao executar um componente. Certifique-se de que a seção `runWith` da fórmula de inicialização inclua um usuário ou um grupo válido.

STARTUP\$1TIMEOUT  
Você pode receber esse erro quando o script de inicialização não foi concluído dentro do tempo limite configurado. Aumente o período de `Timeout` especificado na seção `startup` da fórmula ou modifique o script de inicialização para finalizar dentro do tempo limite configurado.

RUN\$1ERROR  
Esse erro pode ocorrer ao executar um script de componente. O código de erro é relatado no log do componente. Verifique se há erros no script de execução e implante o componente novamente.

RUN\$1MISSING\$1DEFAULT\$1RUNWITH  
Você pode receber esse erro quando o AWS IoT Greengrass não consegue determinar o usuário ou o grupo que será usado ao executar um componente. Certifique-se de que a seção `runWith` da fórmula de execução inclua um usuário ou um grupo válido.

RUN\$1CONFIG\$1NOT\$1VALID  
Você poderá receber esse erro quando não for possível executar um componente porque a seção `run` da fórmula não é válida. Verifique se há erros na seção de execução da fórmula e repita a implantação.

RUN\$1IO\$1ERROR  
Um erro de E/S que pode ocorrer durante a execução do componente. Consulte os detalhes no log de erros do componente.

RUN\$1TIMEOUT  
Você pode receber esse erro quando o script de execução não foi concluído dentro do tempo limite configurado. Aumente o período de `Timeout` especificado na seção `run` da fórmula ou modifique o script de execução para finalizar dentro do tempo limite configurado.

SHUTDOWN\$1ERROR  
Esse erro pode ocorrer ao encerrar um script de componente. O código de erro é relatado no log do componente. Verifique se há erros no script de encerramento e implante o componente novamente.

SHUTDOWN\$1TIMEOUT  
Você pode receber esse erro quando o script de encerramento não foi concluído dentro do tempo limite configurado. Aumente o período de `Timeout` especificado na seção `shutdown` da fórmula ou modifique o script de execução para finalizar dentro do tempo limite configurado.