选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

AWS IoT Greengrass 开发套件命令行界面

聚焦模式
AWS IoT Greengrass 开发套件命令行界面 - AWS IoT Greengrass

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

AWS IoT Greengrass 开发套件命令行界面 (GDK CLI) 提供的功能可帮助您开发自定义 Gre engrass 组件。您可以使用 GDK CLI 来创建、构建和发布自定义组件。使用 GDK CLI 创建组件存储库时,可以从 Greengrass 软件目录中的模板或社区组件开始。然后,您可以选择可将文件打包为 ZIP 存档、使用 Maven 或 Gradle 构建脚本或运行自定义构建命令的构建系统。创建组件后,您可以使用 GDK CLI 将其发布到 AWS IoT Greengrass 服务,这样您就可以使用 AWS IoT Greengrass 控制台或 API 将该组件部署到您的 Greengrass 核心设备上。

在没有 GDK CLI 的情况下开发 Greengrass 组件时,每次创建组件的新版本时,都必须更新组件配方文件中的版本和 URIs 工件。当您使用 GDK CLI 时,它可以在您每次发布组件的新版本时自动为您更新版本和构件。 URIs

GDK CLI 是开源的,可在上使用。 GitHub您可以自定义和扩展 GDK CLI 以满足您的组件开发需求。我们邀请您在 GitHub 仓库中打开议题和拉取请求。您可以通过以下链接找到 GDK CLI 源代码:https://github.com/aws-greengrass/aws-greengrass-gdk-cli.

先决条件

要安装和使用 Greengrass 开发工具包 CLI,需要以下条件:

  • 一个 AWS 账户。如果没有,请参阅设置一个 AWS 账户

  • 支持互联网连接的 Windows、macOS 或类 Unix 的开发计算机。

  • 对于 GDK CLI 1.1.0 版本或更高版本,开发计算机上需已安装 Python 3.6 或更高版本。

    对于 GDK CLI 1.0.0 版本,开发计算机上需已安装 Python 3.8 或更高版本。

  • 开发计算机上已安装 Git

  • AWS Command Line Interface (AWS CLI) 已在开发计算机上安装并使用凭据进行配置。有关更多信息,请参阅《AWS Command Line Interface 用户指南》中的安装、更新和卸载 AWS CLI 以及配置 AWS CLI

    注意

    如果您使用 Raspberry Pi 或其他 32 位 ARM 设备,请安装 AWS CLI V1。 AWS CLI V2 不适用于 32 位 ARM 设备。有关更多信息,请参阅安装、更新和卸载 AWS CLI 版本 1

  • 要使用 GDK CLI 向 AWS IoT Greengrass 服务发布组件,您必须具有以下权限:

    • s3:CreateBucket

    • s3:GetBucketLocation

    • s3:PutObject

    • greengrass:CreateComponentVersion

    • greengrass:ListComponentVersions

  • 要使用 GDK CLI 构建其构件存在于 S3 存储桶(而不是本地文件系统)中的组件,必须拥有以下权限:

    • s3:ListBucket

    此功能适用于 GDK CLI v1.1.0 及更高版本。

更改日志

下表介绍每个版本的 GDK CLI 的更改。有关更多信息,请参阅上的 GDK CLI 版本页面。 GitHub

版本

更改

1.6.2

错误修复和改进
  • 修复了 Windows gradlew.bat 由于相对路径而无法运行的问题。

  • 对日志记录、测试和打包进行了细微改进。

1.6.1

错误修复和改进
  • 为 CLI 参数解析添加了安全补丁。

  • 允许 GDK 获取作为默认 GTF 版本的最新 Greengrass 测试框架(GTF)版本名称。

  • 允许 GDK 建议使用 GTF 较旧版本的客户将较旧版本更新到最新版本。

1.6.0

新特征
  • 添加了在 component buildcomponent publish 命令期间针对 Greengrass 配方架构的配方验证检查。此更新可帮助开发人员在组件创建过程的早期识别其组件配方中的可操作问题。

  • 在模板中添加了置信度测试套件,可通过 test-e2e init 命令下拉。该置信度测试套件包括八个通用测试,可根据基本组件测试的需要进行使用和扩展。

错误修复和改进
  • test-e2e 命令使用的默认 Greengrass 测试框架(GTF)版本更新为版本 1.2.0。

1.5.0

错误修复和改进

更新了 build_systemzipexcludes 构建选项识别的模式。此版本现在可以识别根据通配符匹配路径名的全局模式。这样就可以自定义指定排除哪些目录。

1.4.0
新特征
  • 添加了一个新的 config 命令,该命令启动交互式提示以修改现有 GDK 配置文件中的字段。

  • 在继续操作之前,修改了 gdk component buildgdk component publish 命令,以验证配方大小是否在 Greengrass 要求范围内(<=16000 字节)。

错误修复和改进
  • 当配方语法错误导致构建无法完成时,在 gdk component build 命令的输出中添加了额外的日志记录以供识别。

  • 由于开放测试框架已重命名为 Greengrass 测试框架,因此将 otf-optionsotf-version 分别重命名为 gtf-optionsgtf-version

1.3.0
新特征
  • 添加新test-e2e命令以支持使用开放 end-to-end测试框架测试组件。

  • 添加了一个新的配置选项 zip_name,以支持 zip 构建系统中可配置的 zip 文件名。

  • 将 GDK 配置文件中的 region 属性设为可选。

错误修复和改进
  • 修复了使用 --name 参数初始化 GDK 项目时,即使指定的模板或存储库不存在也会创建新目录的问题。

1.2.3
错误修复和改进
  • 修复了由于错误处理不当而导致存储桶创建失败的问题。

  • 修复了组件配方中的列表结构被移除的问题。

1.2.2
错误修复和改进
  • 配方密钥不再区分大小写。

  • 在创建新存储桶之前,添加检查以确定存储桶中是否存在 AWS 区域 并可供用户访问。要求用户具有 GetBucketLocation 权限。

  • 修复了 GDK CLI 配置文件中 excludes 关键字的问题。

1.2.1
错误修复和改进
  • 接受了 gdk-config.json 文件中区域配置条目中的加拿大(中部)(ca-central-1) AWS 区域 。

  • 修复了 publish 命令的 --region GDK CLI 参数的问题。

1.2.0
新特征
  • options 条目添加到 GDK CLI 配置文件中的 build 配置中。在 options 下支持 excludes,以便在使用 zip 构建系统时从 zip 构件中排除某些文件。

  • 添加了 gradlew 构建系统以使用 Gradle Wrapper 来构建组件。

  • gradle 构建选项添加了对 Kotlin DSL 构建文件的支持。

  • options 条目添加到 GDK CLI 配置文件中的 publish 配置中。在 options 下支持 file_upload_args,以便在将文件上传到 Amazon S3 时提供额外的参数。

错误修复和改进
  • 修复了 Gradle 构建在运行构建命令之前未清理的问题。

  • 修复了构建命令失败时构建未退出的问题。

  • 改进了 gdk component list 命令的输出格式。

1.1.0

新特征
  • 添加了对 Gradle 构建系统的支持。

  • 在 Windows 设备上添加了对 Maven 构建系统的支持。

  • --bucket 参数添加到了 component publish 命令中。您可以使用此参数指定 GDK CLI 上传组件构件的确切存储桶。

  • --name 参数添加到了 component init 命令中。您可以使用此选项指定 GDK CLI 初始化组件的文件夹。

  • 添加了对存在于 S3 存储桶中(但不存在于本地组件构建文件夹中)的组件构件的支持。您可以使用此功能来降低大型组件构件(例如机器学习模型)的带宽成本。

错误修复和改进
  • 更新了 component publish 命令,以便在发布组件之前检查是否已构建组件。如果未构建组件,则此命令即可为您构建组件

  • 修复了当 ZIP 文件名包含大写字母时,zip 构建系统无法在 Windows 设备上构建的问题。

  • 在运行 Python 3.8 之前版本的设备上改进了日志消息格式并将默认日志级别更改为 INFO

  • 将 Python 的最低版本要求更改为 Python 3.6。

1.0.0

初始版本。

本页内容

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。