

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Greengrass コマンドラインインターフェイス
<a name="gg-cli"></a>

Greengrass コマンドラインインターフェイス (CLI) を使用するとデバイスで AWS IoT Greengrass Core とやり取りしてコンポーネントをローカルに開発し、問題をデバッグできます。たとえば、Greengrass CLI を使用してローカルデプロイを作成し、コアデバイスでコンポーネントを再起動できます。

[Greengrass CLI コンポーネント](greengrass-cli-component.md) (`aws.greengrass.Cli`) をデプロイして Greengrass CLI をコアデバイスにインストールします。

**重要**  
 <a name="local-dev-tools-production-environment-warning"></a>このコンポーネントは、本番環境ではなく、開発環境でのみで使用することをお勧めします。このコンポーネントは、通常、本番環境では必要とされない情報や操作へのアクセスを提供します。このコンポーネントを必要なコアデバイスにのみデプロイして、最小特権の原則に従います。

**Topics**
+ [Greengrass CLI のインストール](install-gg-cli.md)
+ [Greengrass CLI コマンド](gg-cli-reference.md)

# Greengrass CLI のインストール
<a name="install-gg-cli"></a>

Greengrass CLI は、次のいずれかの方法でインストールできます。
+ デバイスで AWS IoT Greengrass Core ソフトウェアを初めてセットアップするときは、 `--deploy-dev-tools`引数を使用します。また、この引数を適用するには `--provision true` も指定する必要があります。
+ デバイスに Greengrass CLI コンポーネント (`aws.greengrass.Cli`) をデプロイします。

このセクションでは、Greengrass CLI コンポーネントをデプロイする手順について説明します。初期セットアップ時の Greengrass CLI のインストールについては、「[チュートリアル: AWS IoT Greengrass V2 の開始方法](getting-started.md)」を参照してください。

## 前提条件
<a name="gg-cli-prereqs"></a>

Greengrass CLI コンポーネントをデプロイするには、以下の要件を満たす必要があります。
+ AWS IoT Greengrass コアデバイスにインストールおよび設定されたコアソフトウェア。詳細については、「[チュートリアル: AWS IoT Greengrass V2 の開始方法](getting-started.md)」を参照してください。
+ を使用して Greengrass CLI を AWS CLI デプロイするには、 をインストールして設定しておく必要があります AWS CLI。詳細については、「[AWS CLIユーザーガイド](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)」の「*AWS Command Line Interface の設定*。」を参照してください。
+ <a name="greengrass-cli-authorization-requirement"></a> AWS IoT Greengrass Core ソフトウェアを操作するには、Greengrass CLI を使用する権限が必要です。Greengrass CLI を使用するには、次のいずれかを実行します。
  +  AWS IoT Greengrass Core ソフトウェアを実行するシステムユーザーを使用します。
  + root 権限または管理者権限を持つユーザーを使用する。Linux コアデバイスでは、`sudo` を使用して root 権限を取得できます。
  + 設定をデプロイする際に、`AuthorizedPosixGroups` または `AuthorizedWindowsGroups` 設定パラメータで指定したグループのシステムユーザーを使用する。詳細については、「[Greengrass CLI コンポーネント設定](greengrass-cli-component.md#greengrass-cli-component-configuration)」を参照してください。

## Greengrass CLI コンポーネントのデプロイ
<a name="gg-cli-deploy"></a>

以下の手順を完了して、コアデバイスに Greengrass CLI コンポーネントをデプロイします。

### Greengrass CLI コンポーネントをデプロイするには (コンソール)
<a name="gg-cli-deploy-console"></a>

1. [AWS IoT Greengrass コンソール](https://console.aws.amazon.com/greengrass) にサインインします。

1. ナビゲーションメニューで、**[Components]** (コンポーネント) を選択します。

1. **[Components]** (コンポーネント) ページの **[Public components]** (公開コンポーネント) タブで、[`aws.greengrass.Cli`] を選択します。

1. [**aws.greengrass.Cli**] ページで、**[Deploy]** (デプロイ) を選択します。

1. **[Add to deployment]** (デプロイに追加) から **[Create new deployment]** (デプロイを新規作成) を選択します。

1. **[Specify target]** (ターゲットを指定) ページの **[Deployment targets]** (デプロイターゲット) の **[Target Name]** (ターゲット名) リストで、デプロイ先にする Greengrass グループを選択し、**[Next]** (次へ) を選択します。

1. **[Select components]** (コンポーネントを選択) ページで、**aws.greengrass.Cli** コンポーネントが選択されていることを確認して、**[Next]** (次へ) を選択します。

1. **[Configure components]** (コンポーネント設定) ページで、デフォルト設定のままにして、**[Next]** (次へ) を選択します。

1. **[Configure advanced setting]** (高度な設定を設定) ページで、デフォルト構成設定のままにして **[Next]** (次) を選択します。

1. **[Review]** (確認) ページで **[Deploy]** (デプロイ) をクリックします。

### Greengrass CLI コンポーネントをデプロイするには (AWS CLI)
<a name="gg-cli-deploy-cli"></a>

1. デバイスで `deployment.json` ファイルを作成して、Greengrass CLI コンポーネントのデプロイ設定を定義します。このファイルは次のようになります:

   ```
   {
     "targetArn":"targetArn",
     "components": {
       "aws.greengrass.Cli": {
         "componentVersion": "2.16.1",
         "configurationUpdate": {
           "merge": "{\"AuthorizedPosixGroups\":\"<group1>,<group2>,...,<groupN>\",\"AuthorizedWindowsGroups\":\"<group1>,<group2>,...,<groupN>\"}"
         }
       }
     }
   }
   ```
   + `target` フィールドで、`targetArn` を、デプロイの対象となるモノまたはモノグループの Amazon リソースネーム (ARN) に置き換えます。形式は以下のとおりです。
     + モノ: `arn:aws:iot:region:account-id:thing/thingName`
     + モノのグループ: `arn:aws:iot:region:account-id:thinggroup/thingGroupName`
   + `aws.greengrass.Cli` コンポーネントオブジェクトで、以下のように値を指定します。  
`version`  
Greengrass CLI コンポーネントのバージョン。  
`configurationUpdate.AuthorizedPosixGroups`  
(オプション) システムグループのカンマ区切りリストを含む文字列。これらのシステムグループが Greengrass CLI を使用して AWS IoT Greengrass Core ソフトウェアを操作することを承認します。グループ名またはグループ ID を指定できます。例:`group1,1002,group3` は 3 つのシステムグループ (`group1`、`1002` および `group3`) に Greengrass CLI の使用を認可します。  
承認するグループを指定しない場合は、Greengrass CLI をルートユーザー (`sudo`) または AWS IoT Greengrass Core ソフトウェアを実行するシステムユーザーとして使用できます。  
`configurationUpdate.AuthorizedWindowsGroups`  
(オプション) システムグループのカンマ区切りリストを含む文字列。これらのシステムグループが Greengrass CLI を使用して AWS IoT Greengrass Core ソフトウェアを操作することを承認します。グループ名またはグループ ID を指定できます。例:`group1,1002,group3` は 3 つのシステムグループ (`group1`、`1002` および `group3`) に Greengrass CLI の使用を認可します。  
承認するグループを指定しない場合は、Greengrass CLI を管理者または AWS IoT Greengrass Core ソフトウェアを実行するシステムユーザーとして使用できます。

1. 次のコマンドを実行して、デバイスに Greengrass CLI コンポーネントをデプロイします。

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

インストール中、コンポーネントはデバイスの `/greengrass/v2/bin` フォルダの `greengrass-cli` にシンボリックリンクを追加し、Greengrass CLI の実行はこのパスから行います。Greengrass CLI を絶対パスなしで実行するには、PATH 変数に `/greengrass/v2/bin` フォルダを 追加します。Greengrass CLI のインストールを確認するには、以下のコマンドを実行します。

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

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

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

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

------

以下の出力が表示されます。

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

`greengrass-cli` が見つからない場合は、デプロイで Greengrass CLI のインストールに失敗した可能性があります。詳細については、「[トラブルシューティング AWS IoT Greengrass V2](troubleshooting.md)」を参照してください。

# Greengrass CLI コマンド
<a name="gg-cli-reference"></a>

Greengrass CLI は、AWS IoT Greengrass コアデバイスとの対話を可能にするコマンドラインインターフェイスを提供します。Greengrass CLI コマンドは次の形式を使用します。

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

デフォルトでは、`/greengrass/v2/bin/` フォルダ内の `greengrass-cli` 実行可能ファイルは、`/greengrass/v2` フォルダ内で動作している AWS IoT Greengrass Core ソフトウェアのバージョンと対話します。この場所にない実行ファイルを呼び出す場合、または別の場所にある AWS IoT Greengrass Core ソフトウェアとやり取りする場合は、以下のいずれかの方法を使用して、やり取りする AWS IoT Greengrass Core ソフトウェアのルートパスを明示的に指定する必要があります。<a name="greengrass-cli-set-root-path"></a>
+ `GGC_ROOT_PATH` 環境変数を `/greengrass/v2` に設定します。
+ 次の例のように、コマンドに `--ggcRootPath /greengrass/v2` 引数を追加します。

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

すべてのコマンドに対して、次の引数を使用できます。
+ 特定の Greengrass CLI コマンドに関する情報には、`--help` を使用します。
+ Greengrass CLI のバージョンに関する情報には、`--version` を使用します。

このセクションでは、Greengrass CLI コマンドについて説明し、各コマンドの例を示します。各コマンドの概要には、その引数とその使用法が示されています。オプションの引数は角括弧で囲んで表示しています。

**Topics**
+ [コンポーネント](gg-cli-component.md)
+ [デプロイ](gg-cli-deployment.md)
+ [ログ](gg-cli-logs.md)
+ [get-debug-password](gg-cli-get-debug-password.md)

# コンポーネント
<a name="gg-cli-component"></a>

`component` コマンドを使用することで、コアデバイス上のローカルコンポーネントとやり取りすることができます。

**サブコマンド**
+ [詳細](#component-details)
+ [リスト](#component-list)
+ [restart](#component-restart)
+ [停止](#component-stop)

## 詳細
<a name="component-details"></a>

1 つのコンポーネントのバージョン、ステータス、および設定を取得します。

**概要**  

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

**引数**:  
`--name`、`-n`。コンポーネントの名前。

**出力**:  
次の例は、このコマンドを実行したときに生成される出力を示しています。  

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

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

## リスト
<a name="component-list"></a>

デバイスにインストールされている各コンポーネントの名前、バージョン、ステータス、および設定を取得します。

**概要**  

```
greengrass-cli component list
```

**引数**:  
なし

**出力**:  
次の例は、このコマンドを実行したときに生成される出力を示しています。  

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

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

コンポーネントを再起動します。

**概要**  

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

**引数**:  
`--names`、`-n`。コンポーネントの名前。少なくとも 1 つのコンポーネント名が必要です。各名前をカンマで区切ることで、追加のコンポーネント名を指定できます。

**出力**:  
なし

## 停止
<a name="component-stop"></a>

実行中のコンポーネントを停止します。

**概要**  

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

**引数**  
`--names`、`-n`。コンポーネントの名前。少なくとも 1 つのコンポーネント名が必要です。必要に応じて、各名前をカンマで区切ることで、追加のコンポーネント名を指定できます。

**出力**:  
なし

# デプロイ
<a name="gg-cli-deployment"></a>

`deployment` コマンドを使用することで、コアデバイス上のローカルコンポーネントとやり取りすることができます。

ローカルデプロイの進行状況を監視するには、`status` サブコマンドを使用します。コンソールを使用してローカルデプロイの進行状況を監視することはできません。

**サブコマンド**
+ [作成](#deployment-create)
+ [キャンセル](#deployment-cancel)
+ [リスト](#deployment-list)
+ [ステータス](#deployment-status)

## 作成
<a name="deployment-create"></a>

指定されたコンポーネントレシピ、アーティファクト、ランタイム引数を使用して、ローカルデプロイを作成または更新します。

**概要**  

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

**引数**:  
+ `--recipeDir`、`-r`。コンポーネントレシピファイルが格納されているフォルダへのフルパス。
+ `--artifactDir`、`-a`。デプロイに含めるアーティファクトファイルが含まれるフォルダへのフルパス。アーティファクトフォルダには、以下のディレクトリ構造が含まれている必要があります。

  ```
  /path/to/artifact/folder/<component-name>/<component-version>/<artifacts>
  ```
+ `--update-config`、`-c`。デプロイの設定引数。JSON 文字列または JSON ファイルとして提供されます。JAON 文字列の形式は次のようになります。

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

  `MERGE` および `RESET` は大文字と小文字を区別するため、大文字にする必要があります。
+ `--groupId`、`-g`。デプロイのターゲットとなるモノグループ。
+ `--merge`、`-m`。追加または更新するターゲットコンポーネントの名前とバージョン。コンポーネント情報は、`<component>=<version>` の形式で提供する必要があります。指定する追加コンポーネントごとに個別の引数を使用します。必要に応じて、`--runWith` 引数を指定して、コンポーネントを実行するための `posixUser`、`posixGroup`、および `windowsUser` 情報を提供します。
+ `--runWith`。汎用コンポーネントまたは Lambda コンポーネントを実行するための `posixUser`、`posixGroup`、および `windowsUser` 情報。`<component>:{posixUser|windowsUser}=<user>[:<=posixGroup>]` 形式でこの情報を提供する必要があります。たとえば、**HelloWorld:posixUser=ggc\$1user:ggc\$1group** や **HelloWorld:windowsUser=ggc\$1user** と指定することができます。指定する追加オプションごとに個別の引数を使用します。

  詳細については、「[コンポーネントを実行するユーザーを設定する](configure-greengrass-core-v2.md#configure-component-user)」を参照してください。
+ `--systemLimits`。コアデバイス上の汎用および非コンテナ型 Lambda コンポーネントのプロセスに適用されるシステムリソースの制限。各コンポーネントのプロセスが使用できる CPU および RAM の最大使用数を設定できます。シリアル化された JSON オブジェクトまたは JSON ファイルへのファイルパスを指定します。JSON オブジェクトは次の形式である必要があります。

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

  各コンポーネントに対して、次のシステムリソース制限を設定できます。
  + `cpus` – <a name="system-resource-limits-cpu-definition-this"></a>このコンポーネントのプロセスがコアデバイスで使用できる CPU 時間の最大量。コアデバイスの合計 CPU 時間は、デバイスの CPU コア数と同じです。例えば、4 つの CPU コアを持つコアデバイスの場合は、この値を `2` に設定することで、このコンポーネントのプロセスを各 CPU コアの 50% の使用率に制限することができます。CPU コアが 1 つのデバイスの場合は、この値を `0.25` に設定することで、このコンポーネントのプロセスを CPU の 25% の使用率に制限することができます。この値を CPU コア数よりも大きい値に設定すると、AWS IoT Greengrass Core ソフトウェアは、コンポーネントの CPU 使用率に制限をかけません。
  + `memory` – <a name="system-resource-limits-memory-definition-this"></a>このコンポーネントのプロセスがコアデバイスで使用できる RAM の最大量 (キロバイト単位)。

  詳細については、「[コンポーネントのシステムリソース制限を設定する](configure-greengrass-core-v2.md#configure-component-system-resource-limits)」を参照してください。

  この機能は、[Greengrass nucleus コンポーネント](greengrass-nucleus-component.md)の v2.4.0 以降および Linux コアデバイスの Greengrass CLI に利用できます。AWS IoT Greengrass は、現在 Windows コアデバイスにこの機能をサポートしていません。
+ `--remove`。ローカルデプロイから削除するターゲットコンポーネントの名前。クラウドデプロイからマージされたコンポーネントを削除するには、ターゲットモノグループのグループ ID を次の形式で指定する必要があります。

------
#### [ 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`。デプロイが失敗したときに実行されるアクションを定義します。指定できるアクションは次の 2 つです。
  + `ROLLBACK` – 
  + `DO_NOTHING` – 

  この機能は [Greengrass nucleus](greengrass-nucleus-component.md) の v2.11.0 以降で使用できます。

**出力**:  
次の例は、このコマンドを実行したときに生成される出力を示しています。  

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

## キャンセル
<a name="deployment-cancel"></a>

指定されたデプロイをキャンセルします。

概要  

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

引数  
`-i`。キャンセルするデプロイの一意の識別子。デプロイ ID は `create` コマンドの出力で返されます。

Output  
+ なし

## リスト
<a name="deployment-list"></a>

過去 10 回分のローカルデプロイのステータスを取得します。

**概要**  

```
greengrass-cli deployment list
```

**引数**:  
なし

**出力**:  
次の例は、このコマンドを実行したときに生成される出力を示しています。デプロイのステータスに応じて、出力には `IN_PROGRESS`、`SUCCEEDED`、または `FAILED` のいずれかのステータス値が表示されます。  

```
$ sudo greengrass-cli deployment list

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

## ステータス
<a name="deployment-status"></a>

特定のデプロイのステータスを取得します。

**概要**  

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

**引数**  
`-i`。 デプロイの ID。

**出力**:  
次の例は、このコマンドを実行したときに生成される出力を示しています。デプロイのステータスに応じて、出力には `IN_PROGRESS`、`SUCCEEDED`、または `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
```

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

`logs` コマンドを使用して、コアデバイスの Greengrass ログを分析します。

**サブコマンド**
+ [get](#logs-get)
+ [list-keywords](#logs-list-keywords)
+ [list-log-files](#logs-list-log-files)

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

Greengrass ログファイルを収集、フィルタリング、視覚化します。このコマンドは JSON 形式のログファイルのみをサポートします。nucleus 設定の[ログ記録形式](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-logging-format)を指定できます。

**概要**  

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

**引数**:  
+ `--log-dir`、`-ld`。ログファイルをチェックするディレクトリのパス (例:**`/greengrass/v2`/logs** )。`--syslog` と併用しないでください。指定する追加ディレクトリに個別の引数を使用します。少なくくとも `--log-dir`、`--log-file` の内いずれかを指定する必要があります。1 つのコマンドで 両方の引数を使用することもできます。
+ `--log-file`、`-lf`。使用するログディレクトリへのパス。指定する追加ディレクトリに個別の引数を使用します。少なくくとも `--log-dir`、`--log-file` の内いずれかを指定する必要があります。1 つのコマンドで 両方の引数を使用することもできます。
+ `--follow`、`-fol`。発生するに従って、ログの更新を表示します。Greengrass CLI は引き続き実行され、指定されたログから読み取られます。時間ウィンドウを指定している場合、Greengrass CLI はすべての時間ウィンドウが終了した後にログのモニタリングを停止します。
+ `--filter`、`-f`。フィルターとして使用するキーワード、正規表現、またはキーと値のペア。この値は、文字列、正規表現、またはキーと値のペアとして指定します。指定する追加フィルターごとに個別の引数を使用します。

  評価後、単一の引数内に指定されている複数のフィルターは OR 演算子で区切られ、追加の引数で指定されたフィルターは AND 演算子で結合されます。たとえば、コマンドに `--filter "installed" --filter "name=alpha,name=beta"` を含めた場合、Greengrass CLI は、`alpha` または `beta` を値に持つ `installed` キーワードと `name` キーの両方が含まれるログメッセージをフィルタリングして表示します。
+ `--time-window`、`-t`。ログ情報を表示する時間ウィンドウ。正確なタイムスタンプと相対オフセットの両方を使用できます。`<begin-time>,<end-time>` 形式でこの情報を提供する必要があります。開始時間または終了時間を指定しなかった場合、そのオプションの値はデフォルトで、現在のシステムの日付と時刻に設定されます。指定する追加時間ウィンドウごとに個別の引数を使用します。

  Greengrass CLI では、次の形式のタイムスタンプがサポートされています。
  + `yyyy-MM-DD`、例えば `2020-06-30` など。この形式を使用すると、時間のデフォルトは 00:00:00 になります。

    `yyyyMMDD`、例えば `20200630` など。この形式を使用すると、時間のデフォルトは 00:00:00 になります。

    `HH:mm:ss`、例えば `15:30:45` など。この形式を使用すると、日付は現在のシステム日付にデフォルト設定されます。

    `HH:mm:ssSSS`、例えば `15:30:45` など。この形式を使用すると、日付は現在のシステム日付にデフォルト設定されます。

    `YYYY-MM-DD'T'HH:mm:ss'Z'`、例えば `2020-06-30T15:30:45Z` など。

    `YYYY-MM-DD'T'HH:mm:ss`、例えば `2020-06-30T15:30:45` など。

    `yyyy-MM-dd'T'HH:mm:ss.SSS`、例えば `2020-06-30T15:30:45.250` など。

  相対オフセットは、現在のシステム時刻からの時間オフセットを指定します。Greengrass CLI は、相対オフセットに次の形式をサポートしています：`+|-[<value>h|hr|hours][valuem|min|minutes][value]s|sec|seconds`。

  例えば、現在時刻の 1 時間前から 2 時間 15 分前までの時間帯を指定する以下の引数は、`--time-window -2h15min,-1hr` です。
+ `--verbose`。 ログメッセージのすべてのフィールドを表示します。`--syslog` と併用しないでください。
+ `--no-color`、`-nc`。カラーコーディングを削除します。ログメッセージのデフォルトのカラーコードでは、太字の赤いテキストが使用されます。ANSI エスケープシーケンスを使用するため、UNIX 互換の端末のみをサポートします。
+ `--before`、`-b`。一致したログエントリの前に表示する行数。デフォルトは 0 です。
+ `--after`、`-a`。一致したログエントリの後に表示する行数。デフォルトは 0 です。
+ `--syslog`。RFC3164 で定義された syslog プロトコルを使用して、すべてのログファイルを処理します。`--log-dir` および`--verbose` と併用しないでください。syslog プロトコルでは、次の形式を使用します: `"<$Priority>$Timestamp $Host $Logger ($Class): $Message"`。ログファイルを指定しなかった場合、Greengrass CLI は次の場所からログメッセージを読み取ります: `/var/log/messages`、`/var/log/syslog`、または`/var/log/system.log`。

  AWS IoT Greengrass は、現在 Windows コアデバイスにこの機能をサポートしていません。
+ `--max-log-queue-size`、`-m`。メモリに割り当てるログエントリの最大数。このオプションを使用して、メモリ使用量を最適化します。デフォルトは 100 です。

**出力**:  
次の例は、このコマンドを実行したときに生成される出力を示しています。  

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

ログファイルのフィルタリングに使用できる推奨キーワードを表示します。

**概要**  

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

**引数**:  
なし

**出力**:  
次の例は、このコマンドを実行したときに生成される出力を示しています。  

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

指定したディレクトリにあるログファイルを表示します。

**概要**  

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

**引数**:  
`--log-dir`、`-ld`。ログファイルをチェックするディレクトリのパス。

**出力**:  
次の例は、このコマンドを実行したときに生成される出力を示しています。  

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

`get-debug-password` コマンドを使用すると、[ローカルデバッグコンソールコンポーネント](local-debug-console-component.md) (`aws.greengrass.LocalDebugConsole`) 向けにランダムに生成されたパスワードが出力されます。パスワードは、生成されてから 8 時間後に期限切れになります。

**概要**  

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

**引数**:  
なし

**出力**:  
次の例は、このコマンドを実行したときに生成される出力を示しています。  

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