

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á.

# Interface de linha de comando do Greengrass
<a name="gg-cli"></a>

A interface de linha de comandos (CLI) do Greengrass permite que você interaja com o AWS IoT Greengrass Core em seu dispositivo para desenvolver componentes localmente e depurar problemas. Por exemplo, você pode usar a CLI do Greengrass para criar uma implantação local e reiniciar um componente no dispositivo principal. 

Implante o [componente da CLI do Greengrass](greengrass-cli-component.md) (`aws.greengrass.Cli`) para instalar a CLI do Greengrass em seu dispositivo principal.

**Importante**  
 <a name="local-dev-tools-production-environment-warning"></a>Recomendamos que você use este componente somente em ambientes de desenvolvimento, não em ambientes de produção. Este componente fornece acesso a informações e operações que você normalmente não precisará em um ambiente de produção. Siga o princípio do privilégio mínimo implantando este componente somente nos dispositivos principais em que você precisar dele. 

**Topics**
+ [Instalar a Greengrass CLI](install-gg-cli.md)
+ [Comandos da CLI do Greengrass](gg-cli-reference.md)

# Instalar a Greengrass CLI
<a name="install-gg-cli"></a>

É possível instalar a CLI do Greengrass de uma das seguintes maneiras: 
+ Use o `--deploy-dev-tools` argumento ao configurar o software AWS IoT Greengrass Core pela primeira vez em seu dispositivo. Você também deve especificar `--provision true` para aplicar esse argumento.
+ Implante o componente CLI do Greengrass (`aws.greengrass.Cli`) em seu dispositivo.

Esta seção descreve as etapas para implantar o componente Greengrass CLI. Para obter informações sobre como instalar a Greengrass CLI durante a configuração inicial, consulte [Tutorial: Conceitos básicos do AWS IoT Greengrass V2](getting-started.md).

## Pré-requisitos
<a name="gg-cli-prereqs"></a>

Para implantar o componente Greengrass CLI, é necessário atender aos seguintes requisitos:
+ AWS IoT Greengrass Software principal instalado e configurado em seu dispositivo principal. Para obter mais informações, consulte [Tutorial: Conceitos básicos do AWS IoT Greengrass V2](getting-started.md). 
+ Para usar o AWS CLI para implantar a CLI do Greengrass, você deve ter instalado e configurado o. AWS CLI Para obter mais informações, consulte [Configuração da AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) no *Guia do usuário da AWS Command Line Interface *.
+ <a name="greengrass-cli-authorization-requirement"></a>Você deve estar autorizado a usar a CLI do Greengrass para interagir com o software principal. AWS IoT Greengrass Siga um dos seguintes procedimentos para usar a Greengrass CLI:
  + Use o usuário do sistema que executa o software AWS IoT Greengrass Core.
  + Use um usuário com permissões de root ou administrativas. Nos dispositivos principais do Linux, você pode usar `sudo` para obter permissões de root.
  + Use um usuário do sistema que esteja em um grupo que você especifica nos parâmetros de `AuthorizedWindowsGroups` configuração `AuthorizedPosixGroups` ou ao implantar o componente. Para mais informações, consulte [Configuração do componente da CLI do Greengras](greengrass-cli-component.md#greengrass-cli-component-configuration).

## Implemente o componente CLI do Greengrass
<a name="gg-cli-deploy"></a>

Conclua as etapas a seguir para implantar o componente Greengrass CLI em seu dispositivo principal:

### Para implantar o componente Greengrass CLI (console)
<a name="gg-cli-deploy-console"></a>

1. Faça login no [console do AWS IoT Greengrass](https://console.aws.amazon.com/greengrass).

1. No menu de navegação, escolha **Componentes**.

1. Na página **Componentes**, na guia **Componentes públicos**, escolha `aws.greengrass.Cli`.

1. Na página **aws.greengrass.Cli**, escolha **Implantar**.

1. Em **Adicionar à implementação**, selecione **Criar nova implementação**.

1. **Na página **Especificar destino**, em **Alvos de implantação**, na lista **Nome do alvo**, escolha o grupo Greengrass no qual você deseja implantar e escolha Avançar.**

1. Na página **Selecionar componentes**, verifique se o componente **aws.greengrass.Cli** está selecionado e escolha **Avançar**.

1. Na página **Configurar componentes**, mantenha as configurações padrão e escolha **Avançar**.

1. Na página **Definir configurações avançadas**, mantenha as configurações padrão e escolha **Avançar**.

1. Na página **Revisar**, escolha **Implantar**.

### Para implantar o componente CLI do Greengrass ()AWS CLI
<a name="gg-cli-deploy-cli"></a>

1. No seu dispositivo, crie um `deployment.json` arquivo para definir a configuração de implantação do componente Greengrass CLI. Esse arquivo deve ser semelhante ao seguinte:

   ```
   {
     "targetArn":"targetArn",
     "components": {
       "aws.greengrass.Cli": {
         "componentVersion": "2.16.1",
         "configurationUpdate": {
           "merge": "{\"AuthorizedPosixGroups\":\"<group1>,<group2>,...,<groupN>\",\"AuthorizedWindowsGroups\":\"<group1>,<group2>,...,<groupN>\"}"
         }
       }
     }
   }
   ```
   + No campo `target`, substitua `targetArn` pelo nome do recurso da Amazon (ARN) da coisa ou do grupo de coisas do destino da implantação, no formato a seguir: 
     + Coisa: `arn:aws:iot:region:account-id:thing/thingName`
     + Grupo de coisas: `arn:aws:iot:region:account-id:thinggroup/thingGroupName`
   + No objeto `aws.greengrass.Cli` componente, especifique os valores da seguinte forma:  
`version`  
Essa é a versão do componente Greengrass CLI.  
`configurationUpdate.AuthorizedPosixGroups`  
(Opcional) Uma string que contém uma lista separada por vírgulas de grupos do sistema. Você autoriza esses grupos de sistema a usar a CLI do Greengrass para interagir com AWS IoT Greengrass o software principal. Você pode especificar nomes de grupos ou grupos IDs. Por exemplo, `group1,1002,group3` autoriza três grupos do sistema (`group1``1002`, e`group3`) a usar a CLI do Greengrass.  
Se você não especificar nenhum grupo para autorizar, poderá usar a CLI do Greengrass como `sudo` usuário raiz () ou como usuário do sistema que AWS IoT Greengrass executa o software Core.  
`configurationUpdate.AuthorizedWindowsGroups`  
(Opcional) Uma string que contém uma lista separada por vírgulas de grupos do sistema. Você autoriza esses grupos de sistema a usar a CLI do Greengrass para interagir com AWS IoT Greengrass o software principal. Você pode especificar nomes de grupos ou grupos IDs. Por exemplo, `group1,1002,group3` autoriza três grupos do sistema (`group1``1002`, e`group3`) a usar a CLI do Greengrass.  
Se você não especificar nenhum grupo para autorizar, poderá usar a CLI do Greengrass como administrador ou como usuário do sistema que AWS IoT Greengrass executa o software Core.

1. Execute o seguinte comando para implantar o componente da CLI do Greengrass no dispositivo:

   ```
   $ aws greengrassv2 create-deployment --cli-input-json file://path/to/deployment.json
   ```

Durante a instalação, o componente adiciona um link simbólico à `greengrass-cli` `/greengrass/v2/bin` pasta do seu dispositivo e você executa a CLI do Greengrass a partir desse caminho. Para executar a CLI do Greengrass sem seu caminho absoluto, adicione sua `/greengrass/v2/bin` pasta à variável PATH. Para verificar a instalação da CLI do Greengrass, execute o seguinte comando:

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

```
/greengrass/v2/bin/greengrass-cli help
```

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

```
C:\greengrass\v2\bin\greengrass-cli help
```

------

A seguinte saída deverá ser mostrada:

```
Usage: greengrass-cli [-hV] [--ggcRootPath=<ggcRootPath>] [COMMAND]
Greengrass command line interface

      --ggcRootPath=<ggcRootPath>
                  The AWS IoT Greengrass V2 root directory.
  -h, --help      Show this help message and exit.
  -V, --version   Print version information and exit.
Commands:
  help                Show help information for a command.
  component           Retrieve component information and stop or restart
                        components.
  deployment          Create local deployments and retrieve deployment status.
  logs                Analyze Greengrass logs.
  get-debug-password  Generate a password for use with the HTTP debug view
                        component.
```

Se `greengrass-cli` não for encontrado, a implantação pode ter falhado ao instalar a CLI do Greengrass. Para obter mais informações, consulte [Solução de problemas AWS IoT Greengrass V2](troubleshooting.md).

# Comandos da CLI do Greengrass
<a name="gg-cli-reference"></a>

A CLI do Greengrass fornece uma interface de linha de comando para interagir localmente com o dispositivo principal do AWS IoT Greengrass. Os comandos da CLI do Greengrass usam o formato a seguir.

```
$ greengrass-cli <command> <subcommand> [arguments]
```

Por padrão, o arquivo `greengrass-cli` executável na pasta `/greengrass/v2/bin/` interage com a versão do software AWS IoT Greengrass Core em execução na pasta `/greengrass/v2`. Se você chamar um executável que não esteja colocado nesse local ou se quiser interagir com o software AWS IoT Greengrass Core em um local diferente, será preciso usar um dos métodos a seguir para especificar explicitamente o caminho raiz do software AWS IoT Greengrass Core com o qual você quer interagir:<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 a seguir.

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

É possível usar os argumentos a seguir com qualquer comando:
+ Use `--help` para informações sobre um comando específico da CLI do Greengrass. 
+ Use `--version` para informações sobre a versão da CLI do Greengrass.

Esta seção descreve os comandos da CLI do Greengrass e fornece exemplos deles. A sinopse de cada comando mostra os argumentos e o uso deles. Os argumentos opcionais são mostrados dentro de colchetes.

**Topics**
+ [componente](gg-cli-component.md)
+ [implantação](gg-cli-deployment.md)
+ [logs](gg-cli-logs.md)
+ [get-debug-password](gg-cli-get-debug-password.md)

# componente
<a name="gg-cli-component"></a>

Use o comando `component` para interagir com componentes locais em seu dispositivo principal. 

**Subcomandos**
+ [detalhes](#component-details)
+ [list](#component-list)
+ [reiniciar](#component-restart)
+ [parar](#component-stop)

## detalhes
<a name="component-details"></a>

Recupere a versão, o status e a configuração de um componente. 

**Resumo**  

```
greengrass-cli component details --name <component-name> 
```

**Argumentos**  
`--name`, `-n`. O nome do componente.

**Saída**  
O exemplo a seguir mostra a saída produzida ao executar esse comando.  

```
$ sudo greengrass-cli component details --name MyComponent 

Component Name: MyComponent 
Version: 1.0.0
State: RUNNING
Configuration: null
```

## list
<a name="component-list"></a>

Recupere o nome, a versão, o status e a configuração de cada componente instalado no dispositivo.

**Resumo**  

```
greengrass-cli component list
```

**Argumentos**  
Nenhum

**Saída**  
O exemplo a seguir mostra a saída produzida ao executar esse comando.  

```
$ sudo greengrass-cli component list

Components currently running in Greengrass:
Component Name: FleetStatusService
Version: 0.0.0
State: RUNNING
Configuration: {"periodicUpdateIntervalSec":86400.0}
Component Name: UpdateSystemPolicyService
Version: 0.0.0
State: RUNNING
Configuration: null
Component Name: aws.greengrass.Nucleus
Version: 2.0.0
State: FINISHED
Configuration: {"awsRegion":"region","runWithDefault":{"posixUser":"ggc_user:ggc_group"},"telemetry":{}}
Component Name: DeploymentService
Version: 0.0.0
State: RUNNING
Configuration: null
Component Name: TelemetryAgent
Version: 0.0.0
State: RUNNING
Configuration: null
Component Name: aws.greengrass.Cli
Version: 2.0.0
State: RUNNING
Configuration: {"AuthorizedPosixGroups":"ggc_user"}
```

## reiniciar
<a name="component-restart"></a>

Reinicie os componentes.

**Resumo**  

```
greengrass-cli component restart --names <component-name>,...
```

**Argumentos**  
`--names`, `-n`. O nome do componente. Pelo menos um nome de componente é necessário. Você pode especificar nomes de componentes adicionais, separando cada nome com uma vírgula.

**Saída**  
Nenhum

## parar
<a name="component-stop"></a>

Pare de executar componentes. 

**Resumo**  

```
greengrass-cli component stop --names <component-name>,...
```

**Argumentos**  
`--names`, `-n`. O nome do componente. Pelo menos um nome de componente é necessário. Você pode especificar nomes de componentes adicionais, se necessário, separando cada nome com uma vírgula.

**Saída**  
Nenhum

# implantação
<a name="gg-cli-deployment"></a>

Use o comando `deployment` para interagir com componentes locais em seu dispositivo principal. 

Use o subcomando `status` para monitorar o progresso de uma implantação local. Você não pode monitorar o progresso de uma implantação local usando o console.

**Subcomandos**
+ [criar](#deployment-create)
+ [cancelar](#deployment-cancel)
+ [list](#deployment-list)
+ [status](#deployment-status)

## criar
<a name="deployment-create"></a>

Crie ou atualize uma implantação local usando fórmulas de componentes, artefatos e argumentos de runtime especificados.

**Resumo**  

```
greengrass-cli deployment create 
    --recipeDir path/to/component/recipe
    [--artifactDir path/to/artifact/folder ]
    [--update-config {component-configuration}]
    [--groupId <thing-group>]
    [--merge "<component-name>=<component-version>"]...
    [--runWith "<component-name>:posixUser=<user-name>[:<group-name>]"]...
    [--systemLimits "{component-system-resource-limits}]"]...
    [--remove <component-name>,...]
    [--failure-handling-policy <policy name[ROLLBACK, DO_NOTHING]>]
```

**Argumentos**  
+ `--recipeDir`, `-r`. O caminho completo para a pasta que contém os arquivos de fórmulas do componente.
+ `--artifactDir`, `-a`. O caminho completo para a pasta que contém os arquivos de artefatos que você deseja incluir na sua implantação. A pasta de artefatos deve conter a seguinte estrutura de diretórios:

  ```
  /path/to/artifact/folder/<component-name>/<component-version>/<artifacts>
  ```
+ `--update-config`, `-c`. Os argumentos de configuração para a implantação, fornecidos como uma string JSON ou um arquivo JSON. A string JSON deve estar no seguinte formato: 

  ```
  { \
    "componentName": { \ 
      "MERGE": {"config-key": "config-value"}, \
      "RESET": ["path/to/reset/"] \
    } \
  }
  ```

  `MERGE` e `RESET` diferenciam maiúsculas de minúsculas.
+ `--groupId`, `-g`. O grupo de objetos de destino para a implantação.
+ `--merge`, `-m`. O nome e a versão do componente de destino que você deseja adicionar ou atualizar. Você deve fornecer as informações do componente no formato `<component>=<version>`. Use um argumento separado para cada componente adicional para especificar. Se necessário, use o argumento `--runWith` para fornecer as informações `posixUser`, `posixGroup` e `windowsUser` para executar o componente.
+ `--runWith`. As informações `posixUser`, `posixGroup` e `windowsUser` para executar um componente genérico ou do Lambda. Você deve fornecer essas informações no formato `<component>:{posixUser|windowsUser}=<user>[:<=posixGroup>]`. Por exemplo, você deve especificar **HelloWorld:posixUser=ggc\$1user:ggc\$1group** ou **HelloWorld:windowsUser=ggc\$1user**. Use um argumento separado para cada opção adicional para especificar.

  Para obter mais informações, consulte [Configurar o usuário que executa os componentes](configure-greengrass-core-v2.md#configure-component-user).
+ `--systemLimits`. Os limites de recursos do sistema a serem aplicados aos processos de componentes do Lambda genéricos e não conteinerizados no dispositivo principal. Você pode configurar a quantidade máxima de uso da CPU e RAM que os processos de um componente podem usar. Especifique um objeto JSON serializado ou um caminho de arquivo para um arquivo JSON. O objeto JSON deve ter o seguinte formato.

  ```
  {  \
    "componentName": { \ 
      "cpus": cpuTimeLimit, \
      "memory": memoryLimitInKb \
    } \
  }
  ```

  Você pode configurar os seguintes limites de recursos do sistema para cada componente:
  + `cpus`: <a name="system-resource-limits-cpu-definition-this"></a>a quantidade máxima de tempo de CPU que os processos deste componente podem usar no dispositivo principal. O tempo total da CPU de um dispositivo essencial é equivalente ao número de núcleos da CPU do dispositivo. Por exemplo, em um dispositivo principal com quatro núcleos da CPU, é possível definir esse valor como `2` a fim de limitar os processos do componente para 50% de uso em cada núcleo da CPU. Em um dispositivo com um núcleo da CPU, você pode definir esse valor como `0.25` a fim de limitar os processos do componente para 25% de uso da CPU. Caso o valor definido seja um número maior que o número de núcleos da CPU, o software AWS IoT Greengrass Core não limitará o uso da CPU do componente. 
  + `memory`: <a name="system-resource-limits-memory-definition-this"></a>a quantidade máxima de RAM, expressa em kilobytes, que esse processo de componente pode usar no dispositivo principal. 

  Para obter mais informações, consulte [Configurar limites de recursos do sistema para componentes](configure-greengrass-core-v2.md#configure-component-system-resource-limits).

  Esse atributo está disponível para a versão 2.4.0 e posterior do [componente do núcleo do Greengrass](greengrass-nucleus-component.md) e da CLI do Greengrass em dispositivos principais do Linux. O AWS IoT Greengrass atualmente não é compatível com esse atributo nos dispositivos principais do Windows. 
+ `--remove`. O nome do componente de destino que você deseja remover de uma implantação local. Para remover um componente que foi mesclado de uma implantação na nuvem, você deve fornecer o ID do grupo de objetos de destino no seguinte formato:

------
#### [ Greengrass nucleus v2.4.0 and later ]

  ```
  --remove <component-name> --groupId <group-name>
  ```

------
#### [ Earlier than v2.4.0 ]

  ```
  --remove <component-name> --groupId thinggroup/<group-name>
  ```

------
+ `--failure-handling-policy`. Define a ação tomada quando uma implantação falha. Há duas ações que você pode especificar:
  + `ROLLBACK` – 
  + `DO_NOTHING` – 

  Este atributo está disponível para a v2.11.0 e posterior do [Greengrass nucleus](greengrass-nucleus-component.md).

**Saída**  
O exemplo a seguir mostra a saída produzida ao executar esse comando.  

```
$ sudo greengrass-cli deployment create \
    --merge MyApp1=1.0.0 \
    --merge MyApp2=1.0.0 --runWith MyApp2:posixUser=ggc_user \
    --remove MyApp3 \
    --recipeDir recipes/ \ 
    --artifactDir artifacts/

Local deployment has been submitted! Deployment Id: 44d89f46-1a29-4044-ad89-5151213dfcbc
```

## cancelar
<a name="deployment-cancel"></a>

Cancela a implantação especificada.

Resumo  

```
greengrass-cli deployment cancel
    -i <deployment-id>
```

Argumentos  
`-i`. O identificador exclusivo da implantação a ser cancelada. O ID de implantação é retornado na saída do comando `create`.

Resultado  
+ Nenhum

## list
<a name="deployment-list"></a>

Recuperar o status das últimas 10 implantações locais.

**Resumo**  

```
greengrass-cli deployment list
```

**Argumentos**  
Nenhum

**Saída**  
O exemplo a seguir mostra a saída produzida ao executar esse comando. Dependendo do status da sua implantação, a saída mostra um dos seguintes valores de status: `IN_PROGRESS`, `SUCCEEDED` ou `FAILED`.  

```
$ sudo greengrass-cli deployment list

44d89f46-1a29-4044-ad89-5151213dfcbc: SUCCEEDED
Created on: 6/27/23 11:05 AM
```

## status
<a name="deployment-status"></a>

Recupere o status de uma implantação específica.

**Resumo**  

```
greengrass-cli deployment status -i <deployment-id>
```

**Argumentos**  
`-i`. O ID da implantação.

**Saída**  
O exemplo a seguir mostra a saída produzida ao executar esse comando. Dependendo do status da sua implantação, a saída mostra um dos seguintes valores de status: `IN_PROGRESS`, `SUCCEEDED` ou `FAILED`.  

```
$ sudo greengrass-cli deployment status -i 44d89f46-1a29-4044-ad89-5151213dfcbc

44d89f46-1a29-4044-ad89-5151213dfcbc: FAILED
Created on: 6/27/23 11:05 AM
Detailed Status: <Detailed deployment status>
Deployment Error Stack: List of error codes
Deployment Error Types: List of error types
Failure Cause: Cause
```

# logs
<a name="gg-cli-logs"></a>

Use o comando `logs` para analisar logs do Greengrass no seu dispositivo principal. 

**Subcomandos**
+ [get](#logs-get)
+ [list-keywords](#logs-list-keywords)
+ [list-log-files](#logs-list-log-files)

## get
<a name="logs-get"></a>

Colete, filtre e visualize os arquivos de log do Greengrass. Esse comando é compatível somente com arquivos de log formatados em JSON. Você pode especificar o [formato de registro em log](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-logging-format) na configuração do núcleo.

**Resumo**  

```
greengrass-cli logs get
    [--log-dir path/to/a/log/folder]
    [--log-file path/to/a/log/file]
    [--follow true | false ]
    [--filter <filter> ]
    [--time-window <start-time>,<end-time> ]
    [--verbose ]
    [--no-color ]
    [--before <value> ]
    [--after <value> ]
    [--syslog ]
    [--max-long-queue-size <value> ]
```

**Argumentos**  
+ `--log-dir`, `-ld`. O caminho para o diretório para verificar os arquivos de log, como **`/greengrass/v2`/logs**. Não use com `--syslog`. Use um argumento separado para cada diretório adicional para especificar. É necessário usar pelo menos um `--log-dir` ou `--log-file`. Você também pode usar os dois argumentos em um único comando. 
+ `--log-file`, `-lf`. Os caminhos para os diretórios de logs que você deseja usar. Use um argumento separado para cada diretório adicional para especificar. É necessário usar pelo menos um `--log-dir` ou `--log-file`. Você também pode usar os dois argumentos em um único comando.
+ `--follow`, `-fol`. Mostre as atualizações de log à medida que elas ocorrem. A CLI do Greengrass continua sendo executada e lendo os logs especificados. Se você especificar uma janela de tempo, a CLI do Greengrass interromperá o monitoramento dos logs após o término de todas as janelas de tempo.
+ `--filter`, `-f`. A palavra-chave, as expressões regulares ou o par de valores-chave a serem usados como filtro. Forneça esse valor como string, expressão regular ou par de chave-valor. Use um argumento separado para cada filtro adicional para especificar. 

  Quando avaliados, vários filtros especificados em um único argumento são separados por operadores OR, e os filtros especificados em argumentos adicionais são combinados com operadores AND. Por exemplo, se seu comando incluir `--filter "installed" --filter "name=alpha,name=beta"`, a CLI do Greengrass filtrará e exibirá mensagens de log que contêm a palavra-chave `installed` e uma chave `name` com os valores `alpha` ou `beta`.
+ `--time-window`, `-t`. A janela de tempo para a qual mostrar as informações do log. Você pode usar carimbos de data/hora exatos e compensações relativas. Você deve fornecer essas informações no formato `<begin-time>,<end-time>`. Se você não especificar a hora de início nem a hora de término, o valor dessa opção será padronizado para a data e a hora atuais do sistema. Use um argumento separado para cada janela de tempo adicional a ser especificada. 

  Use um argumento separado para cada janela de tempo adicional a ser especificada.
  + `yyyy-MM-DD`, por exemplo, `2020-06-30`. O horário padrão é 00:00:00 quando você usa esse formato.

    `yyyyMMDD`, por exemplo, `20200630`. O horário padrão é 00:00:00 quando você usa esse formato.

    `HH:mm:ss`, por exemplo, `15:30:45`. A data é padronizada para a data atual do sistema quando você usa esse formato.

    `HH:mm:ssSSS`, por exemplo, `15:30:45`. A data assume como padrão a data atual do sistema quando você usa esse formato.

    `YYYY-MM-DD'T'HH:mm:ss'Z'`, por exemplo, `2020-06-30T15:30:45Z`.

    `YYYY-MM-DD'T'HH:mm:ss`, por exemplo, `2020-06-30T15:30:45`. 

    `yyyy-MM-dd'T'HH:mm:ss.SSS`, por exemplo, `2020-06-30T15:30:45.250`.

  As compensações relativas especificam uma diferença de período em relação à hora atual do sistema. A CLI do Greengrass é compatível com o seguinte formato para compensações relativas: `+|-[<value>h|hr|hours][valuem|min|minutes][value]s|sec|seconds`. 

  Por exemplo, o argumento a seguir para especificar uma janela de tempo entre 1 hora e 2 horas, 15 minutos antes da hora atual é `--time-window -2h15min,-1hr`.
+ `--verbose`. Mostra todos os campos das mensagens de log. Não use com `--syslog`.
+ `--no-color`, `-nc`. Remova o código de cores. O código de cores padrão para mensagens de log usa texto vermelho em negrito. É compatível apenas com terminais do tipo Unix porque usa sequências de escape ANSI.
+ `--before`, `-b`. O número de linhas a serem mostradas antes de uma entrada de log correspondente. O padrão é 0.
+ `--after`, `-a`. O número de linhas a serem mostradas após uma entrada de log correspondente. O padrão é 0.
+ `--syslog`. Processe todos os arquivos de log usando o protocolo syslog definido pelo RFC3164. Não use com `--log-dir` e `--verbose`. O protocolo syslog usa o seguinte formato: `"<$Priority>$Timestamp $Host $Logger ($Class): $Message"`. Se você não especificar um arquivo de log, a CLI do Greengrass lê as mensagens de log dos seguintes locais: `/var/log/messages`, `/var/log/syslog` ou `/var/log/system.log`. 

  No momento, o AWS IoT Greengrass não oferece suporte a esse recurso nos dispositivos principais do Windows. 
+ `--max-log-queue-size`, `-m`. O número máximo de entradas de log a serem alocadas na memória. Use essa opção para otimizar o uso da memória. O padrão é de 100.

**Saída**  
O exemplo a seguir mostra a saída produzida ao executar esse comando.  

```
$ sudo greengrass-cli logs get --verbose \
    --log-file /greengrass/v2/logs/greengrass.log \
    --filter deployment,serviceName=DeploymentService \
    --filter level=INFO \
    --time-window 2020-12-08T01:11:17,2020-12-08T01:11:22

2020-12-08T01:11:17.615Z [INFO] (pool-2-thread-14) com.aws.greengrass.deployment.DeploymentService: Current deployment finished. {DeploymentId=44d89f46-1a29-4044-ad89-5151213dfcbc, serviceName=DeploymentService, currentState=RUNNING}
2020-12-08T01:11:17.675Z [INFO] (pool-2-thread-14) com.aws.greengrass.deployment.IotJobsHelper: Updating status of persisted deployment. {Status=SUCCEEDED, StatusDetails={detailed-deployment-status=SUCCESSFUL}, ThingName=MyThing, JobId=22d89f46-1a29-4044-ad89-5151213dfcbc
```

## list-keywords
<a name="logs-list-keywords"></a>

Mostre as palavras-chave sugeridas que você pode usar para filtrar arquivos de log.

**Resumo**  

```
greengrass-cli logs list-keywords [arguments]
```

**Argumentos**  
Nenhum

**Saída**  
Os exemplos apresentados a seguir mostram a saída produzida ao executar esse comando.  

```
$ sudo greengrass-cli logs list-keywords

Here is a list of suggested keywords for Greengrass log:
level=$str
thread=$str
loggerName=$str
eventType=$str
serviceName=$str
error=$str
```

```
$ sudo greengrass-cli logs list-keywords --syslog

Here is a list of suggested keywords for syslog:
priority=$int
host=$str
logger=$str
class=$str
```

## list-log-files
<a name="logs-list-log-files"></a>

Mostre arquivos de log localizados em um diretório especificado.

**Resumo**  

```
greengrass-cli logs list-log-files [arguments]
```

**Argumentos**  
`--log-dir`, `-ld`. O caminho para o diretório para verificar os arquivos de log. 

**Saída**  
O exemplo a seguir mostra a saída produzida ao executar esse comando.  

```
$ sudo greengrass-cli logs list-log-files -ld /greengrass/v2/logs/

/greengrass/v2/logs/aws.greengrass.Nucleus.log
/greengrass/v2/logs/main.log
/greengrass/v2/logs/greengrass.log
Total 3 files found.
```

# get-debug-password
<a name="gg-cli-get-debug-password"></a>

Use o comando `get-debug-password` para imprimir uma senha gerada aleatoriamente para o [componente do console de depuração local](local-debug-console-component.md) (`aws.greengrass.LocalDebugConsole`). A senha expira oito horas depois de ser gerada.

**Resumo**  

```
greengrass-cli get-debug-password
```

**Argumentos**  
Nenhum

**Saída**  
O exemplo a seguir mostra a saída produzida ao executar esse comando.  

```
$ sudo greengrass-cli get-debug-password

Username: debug
Password: bEDp3MOHdj8ou2w5de_sCBI2XAaguy3a8XxREXAMPLE
Password expires at: 2021-04-01T17:01:43.921999931-07:00
The local debug console is configured to use TLS security. The certificate is self-signed so you will need to bypass your web browser's security warnings to open the console.
Before you bypass the security warning, verify that the certificate fingerprint matches the following fingerprints.
SHA-256: 15 0B 2C E2 54 8B 22 DE 08 46 54 8A B1 2B 25 DE FB 02 7D 01 4E 4A 56 67 96 DA A6 CC B1 D2 C4 1B
SHA-1: BC 3E 16 04 D3 80 70 DA E0 47 25 F9 90 FA D6 02 80 3E B5 C1
```