Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅
中国的 Amazon Web Services 服务入门
(PDF)。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
旧版订阅路由器
旧版订阅路由器 (aws.greengrass.LegacySubscriptionRouter
) 管理 Greengrass 核心设备上的订阅。订阅是 Amazon IoT Greengrass V1 的一项功能,它定义了 Lambda 函数MQTT可用于在核心设备上发送消息的主题。有关更多信息,请参阅 Amazon IoT Greengrass V1 开发人员指南中的MQTT消息传递工作流程中的托管订阅。
您可以使用此组件启用对连接器组件和使用 Core 的 Lambda 函数组件的 Amazon IoT Greengrass 订阅。SDK
只有当您的 Lambda 函数使用核心中的publish()
函数时,才需要使用旧版订阅路由器组件。 Amazon IoT Greengrass SDK如果您更新 Lambda 函数代码以使用 Amazon IoT Device SDK V2 中的进程间通信 (IPC) 接口,则无需部署旧版订阅路由器组件。有关更多信息,请参阅以下进程间通信服务:
版本
此组件具有以下版本:
Type
此组件是一个通用组件 (aws.greengrass.generic
)。Greengrass Nucleus 运行组件的生命周期脚本。
有关更多信息,请参阅组件类型。
操作系统
此组件只能安装在 Linux 核心设备上。
要求
此组件具有以下要求:
依赖项
部署组件时, Amazon IoT Greengrass 还会部署其依赖项的兼容版本。这意味着您必须满足组件及其所有依赖关系的要求,才能成功部署组件。本部分列出了此组件的已发布版本的依赖关系,以及定义每个依赖关系的组件版本的语义版本约束。您还可以在 Amazon IoT Greengrass 控制台中查看每个组件版本的依赖关系。在组件详细信息页面上,查找依赖关系列表。
- 2.1.13
-
下表列出了此组件版本 2.1.13 的依赖关系。
- 2.1.12
-
下表列出了此组件的版本 2.1.12 的依赖关系。
- 2.1.11
-
下表列出了此组件的版本 2.1.11 的依赖关系。
- 2.1.10
-
下表列出了此组件的版本 2.1.10 的依赖关系。
- 2.1.9
-
下表列出了此组件的版本 2.1.9 的依赖关系。
- 2.1.8
-
下表列出了此组件的版本 2.1.8 的依赖关系。
- 2.1.7
-
下表列出了此组件的版本 2.1.7 的依赖关系。
- 2.1.6
-
下表列出了此组件的版本 2.1.6 的依赖关系。
- 2.1.5
-
下表列出了此组件的版本 2.1.5 的依赖关系。
- 2.1.4
-
下表列出了此组件的版本 2.1.4 的依赖关系。
- 2.1.3
-
下表列出了此组件的版本 2.1.3 的依赖关系。
- 2.1.2
-
下表列出了此组件的版本 2.1.2 的依赖关系。
- 2.1.1
-
下表列出了此组件的版本 2.1.1 的依赖关系。
- 2.1.0
-
下表列出了此组件版本 2.1.0 的依赖关系。
- 2.0.3
-
下表列出了此组件的版本 2.0.3 的依赖关系。
有关组件依赖关系的更多信息,请参阅组件配方参考。
配置
此组件提供您可以在部署组件时自定义的以下配置参数。
- v2.1.x
-
subscriptions
-
(可选)要在核心设备上启用的订阅。这是一个对象,其中每个键都是唯一 ID,每个值都是定义该连接器订阅的对象。在部署 V1 连接器组件或使用 Amazon IoT Greengrass 内核的 Lambda 函数时,必须配置订阅。SDK
每个订阅对象包含以下信息:
id
-
此订阅的唯一 ID。此 ID 必须与此订阅对象的密钥匹配。
source
-
Lambda 函数,它使用 Amazon IoT Greengrass 核心SDK来发布有关您在中指定的主题的MQTT消息。subject
指定下列项之一:
要部署 V1 连接器组件的订阅,请指定该组件的名称或连接器组件的 Lambda 函数的名称。ARN
subject
-
源和目标可以发布和接收消息的MQTT主题或主题筛选器。此值支持 +
和 #
主题通配符。
target
-
接收有关您在中指定的主题的MQTT消息的目标subject
。订阅指定该source
函数向核心设备上的 Lambda 函数发布MQTT消息 Amazon IoT Core 或向其发布消息。指定下列项之一:
-
cloud
。 该source
函数将MQTT消息发布到 Amazon IoT Core。
-
核心设备上 Lambda 函数组件的名称。使用 component:
前缀指定组件名称,例如 component:com.example.HelloWorldLambda
。
-
核心设备上的 Lambda 函数的亚马逊资源名称 (ARN)。
如果 Lambda 函数的版本发生变化,则必须使用该函数的新版本配置订阅。否则,在版本与订阅匹配之前,此组件不会路由消息。
您必须指定包含要导入的函数版本的 Amazon 资源名称 (ARN)。您不能使用像 $LATEST
这样的版本别名。
默认值:无订阅
例 配置更新示例(定义订阅 Amazon IoT Core)
以下示例指定 com.example.HelloWorldLambda
Lambda 函数组件向发布 Amazon IoT Core 有关该hello/world
主题的MQTT消息。
{
"subscriptions": {
"Greengrass_HelloWorld_to_cloud": {
"id": "Greengrass_HelloWorld_to_cloud",
"source": "component:com.example.HelloWorldLambda",
"subject": "hello/world",
"target": "cloud"
}
}
}
例 配置更新示例(定义对另一个 Lambda 函数的订阅)
以下示例指定 com.example.HelloWorldLambda
Lambda 函数组件将有关该主题的MQTT消息发布到 Lamb com.example.MessageRelay
da 函数组件。hello/world
{
"subscriptions": {
"Greengrass_HelloWorld_to_MessageRelay": {
"id": "Greengrass_HelloWorld_to_MessageRelay",
"source": "component:com.example.HelloWorldLambda",
"subject": "hello/world",
"target": "component:com.example.MessageRelay"
}
}
}
- v2.0.x
-
subscriptions
-
(可选)要在核心设备上启用的订阅。这是一个对象,其中每个键都是唯一 ID,每个值都是定义该连接器订阅的对象。在部署 V1 连接器组件或使用 Amazon IoT Greengrass 内核的 Lambda 函数时,必须配置订阅。SDK
每个订阅对象包含以下信息:
id
-
此订阅的唯一 ID。此 ID 必须与此订阅对象的密钥匹配。
source
-
Lambda 函数,它使用 Amazon IoT Greengrass 核心SDK来发布有关您在中指定的主题的MQTT消息。subject
指定以下内容:
要部署 V1 连接器组件的订阅,请指定连接器组件的 Lambda 函数。ARN
subject
-
源和目标可以发布和接收消息的MQTT主题或主题筛选器。此值支持 +
和 #
主题通配符。
target
-
接收有关您在中指定的主题的MQTT消息的目标subject
。订阅指定该source
函数向核心设备上的 Lambda 函数发布MQTT消息 Amazon IoT Core 或向其发布消息。指定下列项之一:
默认值:无订阅
例 配置更新示例(定义订阅 Amazon IoT Core)
以下示例指定该Greengrass_HelloWorld
函数将 Amazon IoT Core 有关该hello/world
主题的MQTT消息发布到。
"subscriptions": {
"Greengrass_HelloWorld_to_cloud": {
"id": "Greengrass_HelloWorld_to_cloud",
"source": "arn:aws:lambda:us-west-2:123456789012:function:Greengrass_HelloWorld:5",
"subject": "hello/world",
"target": "cloud"
}
}
例 配置更新示例(定义对另一个 Lambda 函数的订阅)
以下示例指定该Greengrass_HelloWorld
函数向Greengrass_MessageRelay
hello/world
主题发布MQTT消息。
"subscriptions": {
"Greengrass_HelloWorld_to_MessageRelay": {
"id": "Greengrass_HelloWorld_to_MessageRelay",
"source": "arn:aws:lambda:us-west-2:123456789012:function:Greengrass_HelloWorld:5",
"subject": "hello/world",
"target": "arn:aws:lambda:us-west-2:123456789012:function:Greengrass_MessageRelay:5"
}
}
本地日志文件
此组件不输出日志。
更改日志
下表介绍每个组件版本的更改。
版本
|
更改
|
2.1.13
|
Greengrass nucleus 版本 2.14.0 版本的版本已更新。 |
2.1.12
|
对 Greengrass Nucleus 版本 2.13.0 发行版进行了版本更新。 |
2.1.11
|
版本更新为 Greengrass Nucleus 版本 2.12.0 发布版。 |
2.1.10
|
版本更新为 Greengrass Nucleus 版本 2.11.0 发布版。 |
2.1.9
|
版本更新为 Greengrass Nucleus 版本 2.10.0 发布版。 |
2.1.8
|
对 Greengrass Nucleus版本 2.9.0 发行版进行了版本更新。 |
2.1.7
|
版本更新为 Greengrass Nucleus 版本 2.8.0 发布版。 |
2.1.6
|
版本更新为 Greengrass Nucleus 版本 2.7.0 发布版。
|
2.1.5
|
版本更新为 Greengrass Nucleus 版本 2.6.0 发布版。
|
2.1.4
|
版本更新为 Greengrass Nucleus 版本 2.5.0 发布版。
|
2.1.3
|
版本更新为 Greengrass Nucleus 版本 2.4.0 发布版。
|
2.1.2
|
版本更新为 Greengrass Nucleus 版本 2.3.0 发布版。
|
2.1.1
|
对 Greengrass Nucleus 版本 2.2.0 发行版进行了版本更新。
|
2.1.0
|
|
2.0.3
|
初始版本。
|