ManageAmazon IoT Greengrass组件 - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

ManageAmazon IoT Greengrass组件

Amazon IoT Greengrass 组件是您部署到 Greengrass 核心设备的软件模块。组件可以表示应用程序、运行时安装程序、库或您将在设备上运行的任何代码。您可以定义依赖于其他元件的元件。例如,您可以定义一个安装 Python 的组件,然后将该组件定义为运行 Python 应用程序的组件的依赖关系。将组件部署到设备队列时,Greengrass 仅部署设备所需的软件模块。

您可以在 Greengrass 核心设备上开发和测试组件。这使您可以使用创建和迭代Amazon IoT Greengrass软件,而无需与 Amazon Web Services 云 . 完成组件版本后,您可以将其上传到Amazon IoT Greengrass,以便您和您的团队可以将组件部署到您的队列中的其他设备。有关如何部署组件的详细信息,请参阅部署Amazon IoT Greengrass组件到设备.

每个组件都由recipe构件.

  • 诀窍

    每个组件都包含一个配方文件,该文件定义其元数据。该配方还指定了组件的配置参数、组件依赖项、生命周期和平台兼容性。组件生命周期定义了安装、运行和关闭组件的命令。有关更多信息,请参阅Amazon IoT Greengrass组件配方参考

    您可以在JSON或者YAML格式的日期和时间。

  • Artifacts

    组件可以具有任意数量的工件,这些工件是组件二进制文件。工件可以包括脚本、编译代码、静态资源以及组件使用的任何其他文件。组件还可以使用组件依赖关系中的对象。

Amazon IoT Greengrass提供了可用于应用程序并部署到设备的预构建组件。例如,您可以使用流管理器组件将数据上传到Amazon服务,或者您可以使用 CloudWatch 指标组件将自定义指标发布到 Amazon CloudWatch。有关更多信息,请参阅Amazon-提供的组件

这些区域有:Amazon IoT Greengrass核心软件以系统用户和组的身份运行组件,例如ggc_userggc_group,您在核心设备上配置的。这意味着组件具有该系统用户的权限。如果您使用的系统用户没有主目录,则组件将无法使用运行命令或使用主目录的代码。这意味着,您不能使用pip install some-library --user命令来安装 Python 软件包。如果您遵循的是入门教程来设置核心设备,则系统用户没有主目录。有关如何配置运行组件的用户和组的详细信息,请参阅配置运行组件的用户和组.

注意

Amazon IoT Greengrass使用组件的语义版本。语义版本遵循主要.较小的.patch数字系统。例如,版本1.0.0表示组件的第一个主要版本。有关更多信息,请参阅 。语义版本规范.

组件生命周期

这些区域有:组件生命周期定义了Amazon IoT Greengrass核心软件用于安装和运行组件。每个阶段都定义了指定组件行为方式的脚本和其他信息。例如,当您安装组件时,Amazon IoT GreengrassCore 软件运行Install生命周期脚本。核心设备上的组件具有以下生命周期状态:

  • NEW— 组件的配方和对象加载到核心设备上,但未安装该组件。组件进入此状态后,它会运行其引导安装脚本.

  • INSTALLED— 组件安装在核心设备上。组件在运行其安装脚本.

  • STARTING— 组件在核心设备上启动。组件在运行其启动脚本. 如果启动成功,则组件将输入RUNNING状态。

  • RUNNING— 组件正在核心设备上运行。组件在运行其运行脚本或者当它具有启动脚本中的活动后台进程时。

  • FINISHED— 组件运行成功,不再运行。

  • STOPPING— 组件正在停止。组件在运行其关机脚本.

  • ERRORED— 组件遇到了错误。当组件进入此状态时,它会运行其恢复脚本. 然后,组件重新启动以尝试恢复正常使用。如果组件输入ERRORED状态三次没有成功运行,组件将变为BROKEN.

  • BROKEN— 组件多次遇到错误且无法恢复。必须再次部署该组件才能修复它。

组件类型

这些区域有:组件类型指定Amazon IoT Greengrass核心软件运行组件。组件可能具有以下类型:

  • (aws.greengrass.nucleus

    Greengrass 核是一个组件,它提供了Amazon IoT GreengrassCore 软件。有关更多信息,请参阅Greengrass 核心

  • 插件(aws.greengrass.plugin

    Greengrass 核心在与核心相同的 Java 虚拟机 (JVM) 中运行插件组件。当您安装或重新启动插件组件时,核心会重新启动。要安装和运行插件组件,您必须将 Greengrass 核心配置为作为系统服务运行。有关更多信息,请参阅配置Amazon IoT Greengrass作为系统服务

    提供的几个组件Amazon是插件组件,它使它们能够直接与 Greengrass 核接口。插件组件使用与 Greengrass 核相同的日志文件。有关更多信息,请参阅查看Amazon IoT GreengrassCore 软件日志

  • 通用(aws.greengrass.generic

    如果组件定义了生命周期,则 Greengrass 核运行通用组件的生命周期脚本。

    此类型是自定义组件的默认类型。

  • Lambda(aws.greengrass.lambda

    Greengrass 核运行一个 Lambda 函数组件,使用Lambda 启动器组件.

    当您从 Lambda 函数创建组件时,该组件具有此类型。有关更多信息,请参阅运行Amazon Lambda函数

注意

我们建议您不要在配方中指定组件类型。Amazon IoT Greengrass在创建组件时为您设置类型。