

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 安裝 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)。
+ 若要使用 AWS CLI 部署 Greengrass CLI，您必須已安裝並設定 AWS CLI。如需詳細資訊，請參閱《AWS Command Line Interface 使用者指南》中的[設定 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)。
+ <a name="greengrass-cli-authorization-requirement"></a>您必須獲得使用 Greengrass CLI 與 AWS IoT Greengrass Core 軟體互動的授權。執行下列其中一項操作以使用 Greengrass CLI：
  + 使用執行 AWS IoT Greengrass Core 軟體的系統使用者。
  + 使用具有根或管理許可的使用者。在 Linux 核心裝置上，您可以使用 `sudo` 來取得根許可。
  + 當您部署元件時，請使用您在 `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. 在導覽功能表中，選擇**元件**。

1. 在**元面**頁面上的**公用元件**索引標籤上，選擇 `aws.greengrass.Cli`。

1. 在 **aws.greengrass.Cli** 頁面中，選擇**部署**。

1. 從**新增至部署**中，選擇**建立新部署**。

1. 在**指定目標**頁面的**部署目標**下，於**目標名稱**清單中，選擇您要部署的 Greengrass 群組，然後選擇**下一步**。

1. 在**選取元件**頁面上，確認已選取**aws.greengrass.Cli**元件，然後選擇**下一步**。

1. 在**設定元件**頁面上，保留預設組態設定，然後選擇**下一步**。

1. 在**設定進階設定**頁面上，保留預設組態設定，然後選擇**下一步**。

1. 在**檢閱**頁面上，按一下**部署**

### 部署 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 Resource Name (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 軟體互動。您可以指定群組名稱或群組 IDs。例如， 會`group1,1002,group3`授權三個系統群組 (`group1`、 `1002`和 `group3`) 使用 Greengrass CLI。  
如果您未指定任何要授權的群組，則可以使用 Greengrass CLI 做為根使用者 (`sudo`) 或執行 AWS IoT Greengrass Core 軟體的系統使用者。  
`configurationUpdate.AuthorizedWindowsGroups`  
（選用） 字串，其中包含以逗號分隔的系統群組清單。您授權這些系統群組使用 Greengrass CLI 與 AWS IoT Greengrass Core 軟體互動。您可以指定群組名稱或群組 IDs。例如， 會`group1,1002,group3`授權三個系統群組 (`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-cli` `/greengrass/v2/bin` 資料夾中新增符號連結至 ，然後您從此路徑執行 Greengrass CLI。若要在沒有絕對路徑的情況下執行 Greengrass CLI，請將`/greengrass/v2/bin`資料夾新增至 PATH 變數。若要驗證 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)。