Greengrass CLI - AWS IoT Greengrass

Greengrass CLI

Greengrass CLI 组件(aws.greengrass.Cli)提供了一个本地命令行界面,您可以在核心设备上使用该界面在本地开发和调试组件。例如,您可以使用 Greengrass CLI 在核心设备上创建本地部署和重启组件。

您可以在安装 AWS IoT Greengrass Core 软件时安装此组件。有关更多信息,请参阅 教程:AWS IoT Greengrass V2 入门

重要

我们建议您仅在开发环境中使用此组件,不要在生产环境中使用。此组件允许访问您在生产环境中通常不需要的信息和操作。遵循最低权限原则,将此组件仅部署到有需求的核心设备。

在安装此组件后,请运行以下命令,查看其帮助文档。安装此组件后,它会在 /greengrass/v2/bin 文件夹中添加一个指向 greengrass-cli 的符号链接。您可以从此路径运行 Greengrass CLI,也可以将其添加到您的 PATH 环境变量中以在没有绝对路径的情况下运行 greengrass-cli

Linux or Unix
/greengrass/v2/bin/greengrass-cli help
Windows
C:\greengrass\v2\bin\greengrass-cli help

例如,以下命令会重新启动名为 com.example.HelloWorld 的组件。

Linux or Unix
sudo /greengrass/v2/bin/greengrass-cli component restart --names "com.example.HelloWorld"
Windows
C:\greengrass\v2\bin\greengrass-cli component restart --names "com.example.HelloWorld"

有关更多信息,请参阅 Greengrass 命令行界面

版本

此组件具有以下版本:

  • 2.13.x

  • 2.12.x

  • 2.11.x

  • 2.10.x

  • 2.9.x

  • 2.8.x

  • 2.7.x

  • 2.6.x

  • 2.5.x

  • 2.4.x

  • 2.3.x

  • 2.2.x

  • 2.1.x

  • 2.0.x

类型

此组件是一个插件组件 (aws.greengrass.plugin)。Greengrass Nucleus 在与该 Nucleus 相同的 Java 虚拟机(JVM)中运行该组件。当您在核心设备上更改此组件的版本时,Nucleus 会重新启动。

此组件使用与 Greengrass Nucleus 相同的日志文件。有关更多信息,请参阅 监控 AWS IoT Greengrass 日志

有关更多信息,请参阅 组件类型

操作系统

此组件可以安装在运行以下操作系统的核心设备上:

  • Linux

  • Windows

要求

此组件具有以下要求:

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

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

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

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

  • 支持 Greengrass CLI 组件在 VPC 中运行。

依赖项

在您部署组件时,AWS IoT Greengrass 也会部署其依赖关系的兼容版本。这意味着您必须满足组件及其所有依赖关系的要求,才能成功部署组件。本部分列出了此组件的已发布版本的依赖关系,以及定义每个依赖关系的组件版本的语义版本约束。您还可以在 AWS IoT Greengrass 控制台中查看每个组件版本的依赖关系。在组件详细信息页面上,查找依赖关系列表。

2.13.0

下表列出了此组件版本 2.12.0 到 2.14.0 的依赖关系。

依赖关系 兼容版本 依赖关系类型
Greengrass Nucleus >=2.12.0 <2.14.0 软性
2.12.0 – 2.12.6

下表列出了此组件版本 2.12.0 到 2.12.6 的依赖关系。

依赖关系 兼容版本 依赖关系类型
Greengrass Nucleus >=2.12.0 <2.13.0 软性
2.11.0 – 2.11.3

下表列出了此组件版本 2.11.0 到 2.11.3 版本的依赖关系。

依赖关系 兼容版本 依赖关系类型
Greengrass Nucleus >=2.11.0 <2.12.0 软性
2.10.0 – 2.10.3

下表列出了此组件版本 2.10.0 到 2.10.3 的依赖关系。

依赖关系 兼容版本 依赖关系类型
Greengrass Nucleus >=2.5.0 <2.11.0 软性
2.9.0 – 2.9.6

下表列出了此组件版本 2.9.0 到 2.9.6 版本的依赖关系。

依赖关系 兼容版本 依赖关系类型
Greengrass Nucleus >=2.5.0 <2.10.0 软性
2.8.0 – 2.8.1

下表列出了此组件版本 2.8.0 和 2.8.1 的依赖关系。

依赖关系 兼容版本 依赖关系类型
Greengrass Nucleus >=2.5.0 <2.9.0 软性
2.7.0

下表列出了此组件版本 2.7.0 的依赖关系。

依赖关系 兼容版本 依赖关系类型
Greengrass Nucleus >=2.5.0 <2.8.0 软性
2.6.0

下表列出了此组件版本 2.6.0 的依赖关系。

依赖关系 兼容版本 依赖关系类型
Greengrass Nucleus >=2.5.0 <2.7.0 软性
2.5.0 – 2.5.6

下表列出了此组件版本 2.5.0 到 2.5.6 的依赖关系。

依赖关系 兼容版本 依赖关系类型
Greengrass Nucleus >=2.5.0 <2.6.0 软性
2.4.0

下表列出了此组件版本 2.4.0 的依赖关系。

依赖关系 兼容版本 依赖关系类型
Greengrass Nucleus >=2.1.0 <2.5.0 软性
2.3.0

下表列出了此组件版本 2.3.0 的依赖关系。

依赖关系 兼容版本 依赖关系类型
Greengrass Nucleus >=2.1.0 <2.4.0 软性
2.2.0

下表列出了此组件版本 2.2.0 的依赖关系。

依赖关系 兼容版本 依赖关系类型
Greengrass Nucleus >=2.1.0 <2.3.0 软性
2.1.0

下表列出了此组件版本 2.1.0 的依赖关系。

依赖关系 兼容版本 依赖关系类型
Greengrass Nucleus >=2.1.0 <2.2.0 软性
2.0.x

下表列出了此组件的版本 2.0.x 的依赖关系。

依赖关系 兼容版本 依赖关系类型
Greengrass Nucleus >=2.0.0 <2.1.0 软性
注意

Greengrass Nucleus 的最低兼容版本对应 Greengrass CLI 组件的补丁版本。

有关组件依赖关系的更多信息,请参阅组件配方参考

配置

此组件提供您可以在部署组件时自定义的以下配置参数。

2.5.x - 2.13.x
AuthorizedPosixGroups

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

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

AuthorizedWindowsGroups

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

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

例 示例:配置合并更新

以下示例配置指定授权三个 POSIX 系统组(group11002group3)和两个 Windows 用户组(Device OperatorsQA Engineers)使用 Greengrass CLI。

{ "AuthorizedPosixGroups": "group1,1002,group3", "AuthorizedWindowsGroups": "Device Operators,QA Engineers" }
2.4.x - 2.0.x
AuthorizedPosixGroups

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

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

例 示例:配置合并更新

以下示例配置指定授权三个系统组(group11002group3)使用 Greengrass CLI。

{ "AuthorizedPosixGroups": "group1,1002,group3" }

本地日志文件

此组件使用与 Greengrass Nucleus 组件相同的日志文件。

Linux
/greengrass/v2/logs/greengrass.log
Windows
C:\greengrass\v2\logs\greengrass.log
查看此组件的日志
  • 在核心设备上运行以下命令以实时查看此组件的日志文件。将 /greengrass/v2C:\greengrass\v2 替换为 AWS IoT Greengrass 根文件夹的路径。

    Linux
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait

更改日志

下表介绍每个组件版本的更改。

版本

更改

2.13.0

对 Greengrass Nucleus 版本 2.13.0 发行版进行了版本更新。

2.12.6

对 Greengrass Nucleus版本 2.12.6 发行版进行了版本更新。

2.12.5

对 Greengrass Nucleus 版本 2.12.5 发行版进行了版本更新。

2.12.4

对 Greengrass Nucleus 版本 2.12.4 发行版进行了版本更新。

2.12.3

警告

此版本不再可用。此版本的改进将在此组件的更高版本中提供。

对 Greengrass Nucleus 版本 2.12.3 发行版进行了版本更新。

2.12.2

对 Greengrass Nucleus 版本 2.12.2 发行版进行了版本更新。

2.12.1

对 Greengrass Nucleus 版本 2.12.1 发行版进行了版本更新。

2.12.0

版本更新为 Greengrass Nucleus 版本 2.12.0 发布版。

2.11.3

对 Greengrass Nucleus 版本 2.11.3 发行版进行了版本更新。

2.11.2

对 Greengrass Nucleus 版本 2.11.2 发行版进行了版本更新。

2.11.1

对 Greengrass Nucleus 版本 2.11.1 发行版进行了版本更新。

2.11.0

新功能
  • 支持您取消本地部署。

  • 使您能够为本地部署配置故障处理策略。

  • 改进了详细的部署状态报告。

2.10.3

对 Greengrass Nucleus 版本 2.10.3 发行版进行了版本更新。

2.10.2

对 Greengrass Nucleus 版本 2.10.2 发行版进行了版本更新。

2.10.1

对 Greengrass Nucleus 版本 2.10.1 发行版进行了版本更新。

2.10.0

版本更新为 Greengrass Nucleus 版本 2.10.0 发布版。

2.9.6

对 Greengrass Nucleus 版本 2.9.6 发行版进行了版本更新。

2.9.5

对 Greengrass Nucleus 版本 2.9.5 发行版进行了版本更新。

2.9.4

对 Greengrass Nucleus 版本 2.9.4 发行版进行了版本更新。

2.9.3

对 Greengrass Nucleus 版本 2.9.3 发行版进行了版本更新。

2.9.2

对 Greengrass Nucleus 版本 2.9.2 发行版进行了版本更新。

2.9.1

对 Greengrass Nucleus 版本 2.9.1 发行版进行了版本更新。

2.9.0

对 Greengrass Nucleus版本 2.9.0 发行版进行了版本更新。

2.8.1

对 Greengrass Nucleus 版本 2.8.1 发行版进行了版本更新。

2.8.0

版本更新为 Greengrass Nucleus 版本 2.8.0 发布版。

2.7.0

版本更新为 Greengrass Nucleus 版本 2.7.0 发布版。

2.6.0

新功能
  • 添加了对自定义组件的支持,以调用 Greengrass CLI 使用的进程间通信(IPC)操作。您可以使用这些 IPC 操作来管理本地部署、查看组件详细信息,以及生成用于登录本地调试控制台的密码。有关更多信息,请参阅 IPC:管理本地部署和组件

错误修复和改进
  • 其他小型修复和改进。

2.5.6

对 Greengrass Nucleus 版本 2.5.6 发行版进行了版本更新。

2.5.5

对 Greengrass Nucleus 版本 2.5.5 发行版进行了版本更新。

2.5.4

对 Greengrass Nucleus 版本 2.5.4 发行版进行了版本更新。

2.5.3

对 Greengrass Nucleus 版本 2.5.3 发行版进行了版本更新。

2.5.2

对 Greengrass Nucleus 版本 2.5.2 发行版进行了版本更新。

2.5.1

对 Greengrass Nucleus 版本 2.5.1 发行版进行了版本更新。

2.5.0

新功能
  • 添加了对运行 Windows 的核心设备的支持。

  • 添加了新的 AuthorizedWindowsGroups 配置参数,您可以指定此参数来授权系统组在 Windows 设备上使用 Greengrass CLI。

  • 为本地部署添加了 windowsUser 参数。您可以使用此参数指定用于在 Windows 核心设备上运行组件的用户。

2.4.0

新功能
  • 添加了对系统资源限制的支持。在创建本地部署时,您可以配置每个组件的进程可在核心设备上使用的最大 CPU 和 RAM 使用量。有关更多信息,请参阅配置组件的系统资源限制部署创建命令

2.3.0

版本更新为 Greengrass Nucleus 版本 2.3.0 发布版。

2.2.0

对 Greengrass Nucleus 版本 2.2.0 发行版进行了版本更新。

2.1.0

对 Greengrass Nucleus 版本 2.1.0 发行版进行了版本更新。

2.0.5

对 Greengrass Nucleus 版本 2.0.5 发行版进行了版本更新。

2.0.4

对 Greengrass Nucleus 版本 2.0.4 发行版进行了版本更新。

2.0.3

初始版本。