安装 Greengrass CLI - AWS IoT Greengrass

安装 Greengrass CLI

您可以通过以下方式之一安装 Greengrass CLI:

  • 首次在设备上设置 AWS IoT Greengrass Core 软件时,请使用 --deploy-dev-tools 参数。您还必须指定 --provision true 才能应用此参数。

  • 在设备上部署 Greengrass CLI 组件(aws.greengrass.Cli)。

本节介绍了部署 Greengrass CLI 组件的步骤。有关在初始设置期间安装 Greengrass CLI 的信息,请参阅教程:AWS IoT Greengrass V2 入门

先决条件

要部署 Greengrass CLI 组件,必须满足以下要求:

  • 核心设备上已安装并配置了 AWS IoT Greengrass Core 软件。有关更多信息,请参阅 教程:AWS IoT Greengrass V2 入门

  • 要使用 AWS CLI 部署 Greengrass CLI,必须已安装并配置了 AWS CLI 有关更多信息,请参阅《AWS Command Line Interface 用户指南》中的配置 AWS CLI

  • 您必须获得授权才能使用 Greengrass CLI 与 AWS IoT Greengrass Core 软件进行交互。执行以下任一操作以使用 Greengrass CLI:

    • 使用运行 AWS IoT Greengrass Core 软件的系统用户。

    • 使用具有根权限或管理员权限的用户。在 Linux 核心设备上,您可以使用 sudo 获取根权限。

    • 部署组件时,请使用您在 AuthorizedPosixGroupsAuthorizedWindowsGroups 配置参数中指定的组中的系统用户。有关更多信息,请参阅 Greengrass CLI 组件配置

部署 Greengrass CLI 组件

请完成以下步骤,将 Greengrass CLI 组件部署到您的核心设备:

  1. 登录 AWS IoT Greengrass 控制台

  2. 在导航菜单中,选择组件

  3. 组件页面的公有组件选项卡上,选择 aws.greengrass.Cli

  4. aws.greengrass.Cli 页面上,选择部署

  5. 添加到部署中,选择创建新部署

  6. 指定目标页面的部署目标下找到目标名称列表,从中选择要部署到其中的 Greengrass 组,然后选择下一步

  7. 选择组件页面上,确认已选择 aws.greengrass.Cli 组件,然后选择下一步

  8. 配置组件页面上,保留默认配置设置,然后选择下一步

  9. 配置高级设置页面上,保留默认配置设置,然后选择下一步

  10. 检查页上,点击部署

  1. 在您的设备上,创建一个定义 Greengrass CLI 组件部署配置的 deployment.json 文件。此文件应类似以下内容:

    { "targetArn":"targetArn", "components": { "aws.greengrass.Cli": { "componentVersion": "2.13.0", "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 授权三个系统组(group11002group3)使用 Greengrass CLI。

      如果您未指定任何要授权的组,则可以以根用户(sudo)身份或运行 AWS IoT Greengrass Core 软件的系统用户身份使用 Greengrass CLI。

      configurationUpdate.AuthorizedWindowsGroups

      (可选)包含以逗号分隔的系统组列表的字符串。您授权这些系统组使用 Greengrass CLI 与 AWS IoT Greengrass Core 软件进行交互。您可以指定组名称或组 ID。例如,group1,1002,group3 授权三个系统组(group11002group3)使用 Greengrass CLI。

      如果您未指定任何要授权的组,则可以以管理员或运行 AWS IoT Greengrass Core 软件的系统用户的身份使用 Greengrass CLI。

  2. 运行以下命令,在设备上部署 Greengrass CLI 组件:

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

在安装过程中,组件会在设备的 /greengrass/v2/bin 文件夹中添加一个指向 greengrass-cli 的符号链接,您可以从该路径运行 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