

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

# Interfaz de la línea de comandos de Greengrass
<a name="gg-cli"></a>

La interfaz de la línea de comandos (CLI) de Greengrass le permite interactuar con AWS IoT Greengrass Core en el dispositivo para desarrollar componentes y depurar problemas de forma local. Por ejemplo, puede usar la CLI de Greengrass para crear una implementación local y reiniciar un componente en el dispositivo principal. 

Implemente el [componente CLI de Greengrass](greengrass-cli-component.md) (`aws.greengrass.Cli`) para instalar la CLI de Greengrass en el dispositivo principal.

**importante**  
 <a name="local-dev-tools-production-environment-warning"></a>Se recomienda usar este componente solo en entornos de desarrollo y no en entornos de producción. Este componente brinda acceso a información y operaciones que, por lo general, no necesitará en un entorno de producción. Siga el principio de privilegio mínimo al implementar este componente solo en los dispositivos principales donde lo necesite. 

**Topics**
+ [Instalación de la CLI de Greengrass](install-gg-cli.md)
+ [Comandos de la CLI de Greengrass](gg-cli-reference.md)

# Instalación de la CLI de Greengrass
<a name="install-gg-cli"></a>

Puede instalar la CLI de Greengrass de una de las siguientes maneras: 
+ Utilice `--deploy-dev-tools` este argumento la primera vez que configure el software AWS IoT Greengrass Core en su dispositivo. También debe especificar `--provision true` si desea aplicar este argumento.
+ Implemente el componente de la CLI de Greengrass (`aws.greengrass.Cli`) en su dispositivo.

En esta sección, se describen los pasos para implementar el componente de la CLI de Greengrass. Para obtener información acerca de la instalación de la CLI de Greengrass durante la configuración inicial, consulte [Tutorial: Introducción a AWS IoT Greengrass V2](getting-started.md).

## Requisitos previos
<a name="gg-cli-prereqs"></a>

Para implementar el componente de la CLI de Greengrass, asegúrese de que cumple los siguientes requisitos:
+ AWS IoT Greengrass El software principal está instalado y configurado en el dispositivo principal. Para obtener más información, consulte [Tutorial: Introducción a AWS IoT Greengrass V2](getting-started.md). 
+ Para utilizar el AWS CLI para implementar la CLI de Greengrass, debe haber instalado y configurado el. AWS CLI Para obtener más información, consulte [Configuración de la AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) en la *Guía del usuario de AWS Command Line Interface *.
+ <a name="greengrass-cli-authorization-requirement"></a>Debe estar autorizado a utilizar la CLI de Greengrass para interactuar con el software AWS IoT Greengrass principal. Realice una de las siguientes acciones para usar la CLI de Greengrass:
  + Utilice el usuario del sistema que ejecuta el software AWS IoT Greengrass Core.
  + Utilice un usuario con permisos raíz o administrativos. En los dispositivos principales de Linux, puede utilizar `sudo` para obtener permisos de raíz.
  + Utilice un usuario del sistema que esté en un grupo que especifique en los parámetros de configuración `AuthorizedPosixGroups` o `AuthorizedWindowsGroups` al implementar el componente. Para obtener más información, consulte [Configuración del componente de la CLI de Greengrass](greengrass-cli-component.md#greengrass-cli-component-configuration).

## Implementación del componente de la CLI de Greengrass
<a name="gg-cli-deploy"></a>

Complete los siguientes pasos para implementar el componente de la CLI de Greengrass en su dispositivo principal:

### Cómo implementar el componente de la CLI de Greengrass (consola)
<a name="gg-cli-deploy-console"></a>

1. Inicie sesión en la [consola de AWS IoT Greengrass](https://console.aws.amazon.com/greengrass).

1. En el menú de navegación, elija **Componentes**.

1. En la página **Componentes**, en la pestaña **Componentes públicos**, elija `aws.greengrass.Cli`.

1. En la página **aws.greengrass.Cli**, elija **Implementar**.

1. En **Agregar a la implementación**, elija **Crear nueva implementación**.

1. En la página **Especificar destino**, en **Objetivos de implementación**, en la lista **Nombre de destino**, elija el grupo de Greengrass en el que desee realizar la implementación y elija **Siguiente**.

1. En la página **Seleccionar componentes**, compruebe que el componente **aws.greengrass.Cli** esté seleccionado y elija **Siguiente**.

1. En la página **Configurar componentes**, mantenga los ajustes de configuración predeterminados y seleccione **Siguiente**.

1. En la página **Configurar ajustes avanzados**, mantenga los ajustes de configuración predeterminados y seleccione **Siguiente**.

1. En la página **Revisar**, elija **Implementar**.

### Cómo implementar el componente de la CLI de Greengrass (AWS CLI)
<a name="gg-cli-deploy-cli"></a>

1. En su dispositivo, cree un archivo `deployment.json` que defina la configuración de implementación del componente de la CLI de Greengrass. Este archivo debería tener el siguiente aspecto:

   ```
   {
     "targetArn":"targetArn",
     "components": {
       "aws.greengrass.Cli": {
         "componentVersion": "2.16.1",
         "configurationUpdate": {
           "merge": "{\"AuthorizedPosixGroups\":\"<group1>,<group2>,...,<groupN>\",\"AuthorizedWindowsGroups\":\"<group1>,<group2>,...,<groupN>\"}"
         }
       }
     }
   }
   ```
   + En el campo `target`, sustituya `targetArn` por el Nombre de recurso de Amazon (ARN) del objeto o grupo de objetos a la que apunte la implementación, en el siguiente formato: 
     + Cosa: `arn:aws:iot:region:account-id:thing/thingName`
     + Grupo de cosas: `arn:aws:iot:region:account-id:thinggroup/thingGroupName`
   + En el objeto del componente `aws.greengrass.Cli`, especifique los valores de la siguiente manera:  
`version`  
La versión del componente de la CLI de Greengrass.  
`configurationUpdate.AuthorizedPosixGroups`  
(Opcional) Una cadena que contiene una lista de grupos de sistema separados por comas. Usted autoriza a estos grupos de sistemas a utilizar la CLI de Greengrass para interactuar con el software AWS IoT Greengrass principal. Puede especificar los nombres de los grupos o grupos IDs. Por ejemplo, `group1,1002,group3` autoriza a tres grupos de sistemas (`group1`, `1002` y `group3`) a utilizar la CLI de Greengrass.  
Si no especifica ningún grupo para autorizarlo, puede usar la CLI de Greengrass como usuario root (`sudo`) o como usuario del sistema que ejecuta el software AWS IoT Greengrass Core.  
`configurationUpdate.AuthorizedWindowsGroups`  
(Opcional) Una cadena que contiene una lista de grupos de sistema separados por comas. Usted autoriza a estos grupos de sistemas a utilizar la CLI de Greengrass para interactuar con el software AWS IoT Greengrass principal. Puede especificar los nombres de los grupos o grupos IDs. Por ejemplo, `group1,1002,group3` autoriza a tres grupos de sistemas (`group1`, `1002` y `group3`) a utilizar la CLI de Greengrass.  
Si no especifica ningún grupo para autorizarlo, puede usar la CLI de Greengrass como administrador o como usuario del sistema que ejecuta el software AWS IoT Greengrass principal.

1. Ejecute el siguiente comando para implementar los componentes de la CLI de Greengrass en el dispositivo:

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

Durante la instalación, el componente agrega un enlace simbólico a `greengrass-cli` en la carpeta `/greengrass/v2/bin` del dispositivo y usted ejecuta la CLI de Greengrass desde esta ruta. Para ejecutar la CLI de Greengrass sin su ruta absoluta, agregue la carpeta `/greengrass/v2/bin` a la variable PATH. Para verificar la instalación de la CLI de Greengrass, ejecute el comando siguiente:

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

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

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

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

------

Debería ver los siguientes datos de salida:

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

Si no encuentra `greengrass-cli`, es posible que la implementación no haya podido instalar la CLI de Greengrass. Para obtener más información, consulte [Solución de problemas AWS IoT Greengrass V2](troubleshooting.md).

# Comandos de la CLI de Greengrass
<a name="gg-cli-reference"></a>

La CLI de Greengrass proporciona una interfaz de línea de comandos para interactuar localmente con el dispositivo principal de AWS IoT Greengrass. Los comandos de la CLI de Greengrass utilizan el siguiente formato.

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

De forma predeterminada, el archivo ejecutable `greengrass-cli` de la carpeta `/greengrass/v2/bin/` interactúa con la versión del software AWS IoT Greengrass Core que se ejecuta en la carpeta `/greengrass/v2`. Si llama a un archivo ejecutable que no se encuentra en esta ubicación o si desea interactuar con el software AWS IoT Greengrass Core en una ubicación diferente, debe utilizar uno de los siguientes métodos para especificar de forma explícita la ruta raíz del software AWS IoT Greengrass Core con el que desea interactuar:<a name="greengrass-cli-set-root-path"></a>
+ Establezca la variable de entorno `GGC_ROOT_PATH` en `/greengrass/v2`.
+ Agregue los argumentos `--ggcRootPath /greengrass/v2` a su comando como se muestra en el siguiente ejemplo.

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

Puede utilizar los siguientes argumentos con cualquier comando:
+ Utilice `--help` para obtener información sobre un comando de la CLI específico de Greengrass. 
+ Utilice `--version` para obtener información sobre la versión de la CLI de Greengrass.

En esta sección, se describen los comandos de la CLI de Greengrass y se proporcionan ejemplos de estos comandos. La sinopsis de cada comando muestra sus argumentos y cómo se utilizan. Los argumentos opcionales deben ir entre corchetes.

**Topics**
+ [componente](gg-cli-component.md)
+ [implementación](gg-cli-deployment.md)
+ [registros](gg-cli-logs.md)
+ [get-debug-password](gg-cli-get-debug-password.md)

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

Utilice el comando `component` para interactuar con los componentes locales del dispositivo principal. 

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

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

Recupera la versión, el estado y la configuración de un componente. 

**Sinopsis**  

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

**Argumentos**  
`--name`, `-n`. El nombre del componente.

**Output**  
El siguiente ejemplo muestra los resultados del 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>

Recupera el nombre, la versión, el estado y la configuración de cada componente instalado en el dispositivo.

**Sinopsis**  

```
greengrass-cli component list
```

**Argumentos**  
Ninguno

**Output**  
El siguiente ejemplo muestra los resultados del 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 los componentes.

**Sinopsis**  

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

**Argumentos**  
`--names`, `-n`. El nombre del componente. Se requiere al menos el nombre de un componente. Puede especificar nombres de componentes adicionales, separando cada nombre con una coma.

**Output**  
Ninguno

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

Detenga la ejecución de los componentes. 

**Sinopsis**  

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

**Argumentos**  
`--names`, `-n`. El nombre del componente. Se requiere al menos el nombre de un componente. Si es necesario, puede especificar nombres de componentes adicionales, separando cada nombre con una coma.

**Output**  
Ninguno

# implementación
<a name="gg-cli-deployment"></a>

Utilice el comando `deployment` para interactuar con los componentes locales del dispositivo principal. 

Para supervisar el progreso de una implementación local, use el subcomando `status`. No puede supervisar el progreso de una implementación local mediante la consola.

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

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

Cree o actualice una implementación local mediante recetas de componentes, artefactos y argumentos de tiempo de ejecución específicos.

**Sinopsis**  

```
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`. La ruta completa a la carpeta que contiene los archivos de recetas de los componentes.
+ `--artifactDir`, `-a`. La ruta completa a la carpeta que contiene los archivos de artefactos que desea incluir en su implementación. La carpeta de artefactos debe contener la siguiente estructura de directorios:

  ```
  /path/to/artifact/folder/<component-name>/<component-version>/<artifacts>
  ```
+ `--update-config`, `-c`. Los argumentos de configuración de la implementación, proporcionados como una cadena JSON o un archivo JSON. La cadena JSON debe tener el siguiente formato: 

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

  `MERGE` y `RESET` distinguen entre mayúsculas y minúsculas y deben estar en mayúsculas.
+ `--groupId`, `-g`. El grupo de objetos de destino de la implementación.
+ `--merge`, `-m`. El nombre y la versión del componente de destino que desea agregar o actualizar. Debe proporcionar la información del componente en el formato `<component>=<version>`. Utilice un argumento diferente para cada componente adicional que desee especificar. Si es necesario, utilice el argumento `--runWith` para proporcionar información de `posixUser`, `posixGroup` y `windowsUser` para ejecutar el componente.
+ `--runWith`. La información de `posixUser`, `posixGroup` y `windowsUser` para ejecutar un componente genérico o de Lambda. Debe proporcionar la información con el formato `<component>:{posixUser|windowsUser}=<user>[:<=posixGroup>]`. Por ejemplo, puede especificar **HelloWorld:posixUser=ggc\$1user:ggc\$1group** o **HelloWorld:windowsUser=ggc\$1user**. Utilice un argumento diferente para cada opción adicional que desee especificar.

  Para obtener más información, consulte [Configuración del usuario que ejecuta los componentes](configure-greengrass-core-v2.md#configure-component-user).
+ `--systemLimits`. Los límites de recursos del sistema que se aplicarán a los procesos de los componentes de Lambda genéricos y no contenerizados en el dispositivo principal. Puede configurar la cantidad máxima de uso de CPU y RAM que cada proceso de un componente puede utilizar. Especifique un objeto JSON serializado o la ruta de un archivo a un archivo JSON. El objeto JSON debe incluir el siguiente formato.

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

  Puede configurar los siguientes límites de recursos del sistema para cada componente:
  + `cpus`: <a name="system-resource-limits-cpu-definition-this"></a>la cantidad máxima de tiempo de CPU que los procesos de este componente pueden usar en el dispositivo principal. El tiempo total de CPU de un dispositivo principal equivale a la cantidad de núcleos de CPU del dispositivo. Por ejemplo, en un dispositivo principal con 4 núcleos de CPU, puede establecer este valor en `2` para limitar los procesos del componente al 50 % de uso de cada núcleo de CPU. En un dispositivo con 1 núcleo de CPU, puede establecer este valor en `0.25` para limitar los procesos del componente al 25 % de uso de la CPU. Si se establece este valor en un número mayor que la cantidad de núcleos de la CPU, el software AWS IoT Greengrass Core no limita el uso de la CPU del componente. 
  + `memory`: <a name="system-resource-limits-memory-definition-this"></a>la cantidad máxima de RAM, expresada en kilobytes, que los procesos de un componente pueden usar en el dispositivo principal. 

  Para obtener más información, consulte [Configuración de los límites de recursos del sistema para los componentes](configure-greengrass-core-v2.md#configure-component-system-resource-limits).

  Esta característica está disponible para la versión 2.4.0 y versiones posteriores del [componente núcleo de Greengrass](greengrass-nucleus-component.md) y la CLI de Greengrass en los dispositivos principales de Linux. AWS IoT Greengrass actualmente no admite esta característica en los dispositivos principales de Windows. 
+ `--remove`. El nombre del componente de destino que desea eliminar de una implementación local. Para eliminar un componente que se combinó de una implementación en la nube, debe proporcionar el ID de grupo del grupo de objetos de destino en el siguiente 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`. Defina la acción que se lleva a cabo cuando una implementación da error. Hay dos acciones que puede especificar:
  + `ROLLBACK` – 
  + `DO_NOTHING` – 

  Esta característica está disponible para versión 2.11.0 y versiones posteriores de [Núcleo de Greengrass](greengrass-nucleus-component.md).

**Output**  
El siguiente ejemplo muestra los resultados del 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 la implementación especificada.

Sinopsis  

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

Argumentos  
`-i`. El identificador único de la implementación que se va a cancelar. El ID de implementación se devuelve en el resultado del comando `create`.

Output  
+ Ninguno

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

Recupere el estado de las últimas 10 implementaciones locales.

**Sinopsis**  

```
greengrass-cli deployment list
```

**Argumentos**  
Ninguno

**Output**  
El siguiente ejemplo muestra los resultados del comando. Según el estado de la implementación, el resultado muestra uno de los siguientes valores de estado: `IN_PROGRESS`, `SUCCEEDED` o `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 el estado de una implementación específica.

**Sinopsis**  

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

**Argumentos**  
`-i`. El ID de la implementación.

**Output**  
El siguiente ejemplo muestra los resultados del comando. Según el estado de la implementación, el resultado muestra uno de los siguientes valores de estado: `IN_PROGRESS`, `SUCCEEDED` o `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
```

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

Utilice el `logs` comando para analizar los registros de Greengrass en el dispositivo principal. 

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

## introducción
<a name="logs-get"></a>

Recopile, filtre y visualice los archivos de registro de Greengrass. Este comando solo admite archivos de registro con formato JSON. Puede especificar el [formato de registro](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-logging-format) en la configuración del núcleo.

**Sinopsis**  

```
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`. La ruta al directorio para comprobar si hay archivos de registro, por ejemplo, **`/greengrass/v2`/logs**. No lo use con `--syslog`. Utilice un argumento diferente para cada directorio adicional que desee especificar. Debe especificar al menos una opción entre `--log-dir` o `--log-file`. También puede utilizar ambos argumentos en un único comando. 
+ `--log-file`, `-lf`. Las rutas de los directorios de registro que desee utilizar. Utilice un argumento diferente para cada directorio adicional que desee especificar. Debe especificar al menos una opción entre `--log-dir` o `--log-file`. También puede utilizar ambos argumentos en un único comando.
+ `--follow`, `-fol`. Muestra las actualizaciones de registro a medida que se producen. La CLI de Greengrass continúa ejecutándose y lee los registros especificados. Si especifica un intervalo de tiempo, la CLI de Greengrass deja de inspeccionar los registros una vez finalizados todos los intervalos de tiempo.
+ `--filter`, `-f`. La palabra clave, las expresiones regulares o el par clave-valor que se va a utilizar como filtro. Proporcione este valor como cadena, expresión regular o par clave-valor. Utilice un argumento diferente para cada filtro adicional que desee especificar. 

  Cuando se evalúan, los filtros múltiples especificados en un único argumento se separan mediante operadores OR y los filtros especificados en argumentos adicionales se combinan con los operadores AND. Por ejemplo, si su comando incluye `--filter "installed" --filter "name=alpha,name=beta"`, la CLI de Greengrass filtrará y mostrará los mensajes de registro que contengan tanto la palabra clave `installed` como una clave `name` que incluya los valores `alpha` o `beta`.
+ `--time-window`, `-t`. El intervalo de tiempo durante el que se mostrará la información del registro. Puede utilizar tanto marcas temporales exactas como compensaciones relativas. Debe proporcionar la información con el formato `<begin-time>,<end-time>`. Si no especifica la hora de inicio ni la hora de finalización, el valor de esa opción se establece de forma predeterminada en la fecha y hora actuales del sistema. Utilice un argumento diferente para cada intervalo de tiempo adicional que desee especificar. 

  La CLI de Greengrass admite los siguientes formatos para las marcas temporales:
  + `yyyy-MM-DD`, por ejemplo, `2020-06-30`. La hora predeterminada es 00:00:00 cuando se utiliza este formato.

    `yyyyMMDD`, por ejemplo, `20200630`. La hora predeterminada es 00:00:00 cuando se utiliza este formato.

    `HH:mm:ss`, por ejemplo, `15:30:45`. La fecha por defecto es la fecha actual del sistema cuando se utiliza este formato.

    `HH:mm:ssSSS`, por ejemplo, `15:30:45`. La fecha establece de forma predeterminada la fecha actual del sistema cuando se utiliza este formato.

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

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

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

  Las compensaciones relativas especifican un desfase del periodo con respecto a la hora actual del sistema. La CLI de Greengrass admite el siguiente formato para las compensaciones relativas: `+|-[<value>h|hr|hours][valuem|min|minutes][value]s|sec|seconds`. 

  Por ejemplo, el siguiente argumento para especificar un intervalo de tiempo entre 1 hora y 2 horas y 15 minutos antes de la hora actual es `--time-window -2h15min,-1hr`.
+ `--verbose`. Muestre todos los campos de los mensajes de registro. No lo use con `--syslog`.
+ `--no-color`, `-nc`. Elimine el código de colores. El código de colores predeterminado para los mensajes de registro utiliza texto rojo en negrita. Solo admite terminales tipo UNIX porque utiliza secuencias de escape ANSI.
+ `--before`, `-b`. El número de líneas que se deben mostrar antes de una entrada de registro coincidente. El valor predeterminado es 0.
+ `--after`, `-a`. El número de líneas que se muestran después de una entrada de registro coincidente. El valor predeterminado es 0.
+ `--syslog`. Procese todos los archivos de registro mediante el protocolo syslog definido en el RFC3164. No lo use con `--log-dir` y `--verbose`. El protocolo syslog usa el siguiente formato: `"<$Priority>$Timestamp $Host $Logger ($Class): $Message"`. Si no especifica un archivo de registro, la CLI de Greengrass lee los mensajes de registro de las siguientes ubicaciones: `/var/log/messages`, `/var/log/syslog` o `/var/log/system.log`. 

  AWS IoT Greengrass actualmente no admite esta característica en los dispositivos principales de Windows. 
+ `--max-log-queue-size`, `-m`. El número máximo de entradas de registro que se van a asignar a la memoria. Utilice esta opción para optimizar el uso de la memoria. El valor predeterminado es 100.

**Output**  
El siguiente ejemplo muestra los resultados del 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>

Muestra las palabras clave sugeridas que puede usar para filtrar los archivos de registro.

**Sinopsis**  

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

**Argumentos**  
Ninguno

**Output**  
Los siguientes ejemplos muestran los resultados del 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>

Muestra los archivos de registro que se encuentran en el directorio especificado.

**Sinopsis**  

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

**Argumentos**  
`--log-dir`, `-ld`. La ruta al directorio para comprobar los archivos de registro. 

**Output**  
El siguiente ejemplo muestra los resultados del 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>

Utilice el comando `get-debug-password` para imprimir una contraseña generada aleatoriamente para el [componente de la consola de depuración local](local-debug-console-component.md) (`aws.greengrass.LocalDebugConsole`). La contraseña caduca 8 horas después de generarse.

**Sinopsis**  

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

**Argumentos**  
Ninguno

**Output**  
El siguiente ejemplo muestra los resultados del 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
```