与组件生命周期交互 - AWS IoT Greengrass
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

与组件生命周期交互

组件生命周期 IPC 服务允许您执行以下操作:

  • 更新核心设备上的组件状态

  • 订阅组件状态更新

  • 阻止核心停止组件以应用更新

主题

Operations

使用以下操作来管理组件生命周期。

UpdateState

更新核心设备上组件的状态。

Request

此操作的请求具有以下参数:

state

要设置的状态。此枚举 LifecycleState具有以下值:

  • RUNNING

  • ERRORED

Response

此操作不会在其响应中提供任何信息。

SubscribeToComponentUpdates

订阅以在 AWS AWS IoT Greengrass 核心软件更新组件之前接收通知。通知指定在更新过程中,是否重新启动核心。

仅当部署的组件更新策略指定 以通知组件时, 核心才会发送更新通知。默认行为是通知组件。有关更多信息,请参阅创建部署DeploymentComponentUpdatePolicy 对象,您可以在调用 CreateDeployment 操作时提供该对象。

重要

本地部署不会在更新前通知组件。

此操作是订阅事件消息流的订阅操作。要使用此操作,请使用处理事件消息、错误和流结束的函数定义流响应处理程序。有关更多信息,请参阅订阅 IPC 事件流

事件消息类型: ComponentUpdatePolicyEvents

Request

此操作的请求没有任何参数。

Response

此操作的响应包含以下信息:

messages

通知消息的流。此对象 ComponentUpdatePolicyEvents包含以下信息:

preUpdateEvent

(可选)指示核心要更新组件的事件。您可以使用 DeferComponentUpdate 操作进行响应,以确认更新或推迟更新,直到您的组件准备好重新启动。此对象 PreComponentUpdateEvent包含以下信息:

deploymentId

更新组件的 AWS AWS IoT Greengrass 部署的 ID。

isGgcRestarting

是否需要重新启动核心才能应用更新。

postUpdateEvent

(可选)指示核心已更新组件的事件。此对象 PostComponentUpdateEvent包含以下信息:

deploymentId

更新组件的 AWS AWS IoT Greengrass 部署的 ID。

DeferComponentUpdate

确认或推迟您使用 发现的组件更新SubscribeToComponentUpdates。如果组件已准备好让组件更新继续,您可以指定在再次检查 limbot 之前等待的时间。您还可以使用此操作来告知核心您的组件已准备好进行更新。

如果组件未响应组件更新通知,则 limbot 将等待您在部署的组件更新策略中指定的时间量。在该超时后,该核心继续部署。默认组件更新超时为 60 秒。有关更多信息,请参阅创建部署DeploymentComponentUpdatePolicy 对象,您可以在调用 CreateDeployment 操作时提供该对象。

Request

此操作的请求具有以下参数:

deploymentId

要推迟的 AWS AWS IoT Greengrass 部署的 ID。

message

(可选)要推迟更新的组件的名称。

默认为发出请求的组件的名称。

recheckAfterMs

要推迟更新的时间(以毫秒为单位)。核心等待此时间,然后发送PreComponentUpdateEvent可通过 发现的另一个 SubscribeToComponentUpdates

指定 0 以确认更新。这将告知核心您的组件已准备好进行更新。

默认值为零毫秒,这意味着确认更新。

Response

此操作不会在其响应中提供任何信息。