本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
添加传播属性以丰富消息
在中Amazon IoT Core,您可以通过添加传播属性来丰富来自设备的 MQTT 消息,这些属性是来自事物属性或连接详细信息的上下文元数据。这个过程称为消息丰富,在各种场景中都很有用。例如,您可以为每个入站发布操作丰富消息,而无需进行任何设备端更改或需要使用规则。通过利用传播属性,您可以受益于更高效和更具成本效益的方式来丰富您的物联网数据,而无需配置规则或管理重新发布配置的复杂性。
消息充实功能可供使用基本采集和消息代理的Amazon IoT Core客户使用。需要注意的是,虽然发布设备可以使用任何 MQTT 版本,但订阅者(使用消息的应用程序或服务)必须支持 MQTT 5
在中Amazon IoT Core,您可以使用或在创建或更新事物类型时添加传播属性。Amazon Web Services 管理控制台 Amazon CLI
重要
添加传播属性时,必须确保发布消息的客户端已使用证书进行身份验证。有关更多信息,请参阅 客户端身份验证。
注意
如果您尝试在控制台内使用 MQTT 测试客户端测试此功能,它可能无法工作,因为此功能要求 MQTT 客户端使用关联的证书进行身份验证。
Amazon Web Services 管理控制台
要使用 Amazon Web Services 管理控制台 为消息丰富添加传播属性
-
在Amazon IoT控制台中打开Amazon IoT主页
。在左侧导航栏中,从管理下选择所有设备。然后选择事物类型。 -
在事物类型页面上,选择创建事物类型。
要通过更新事物类型来配置消息丰富,请选择一个事物类型。然后在事物类型详细信息页面上,选择更新。
-
在创建事物类型页面上,在事物类型属性中选择或输入事物类型信息。
如果您选择更新事物类型,您将在上一步选择更新后看到事物类型属性。
-
在附加配置中,展开传播属性。然后选择事物属性并输入要填充到已发布 MQTT5 消息的事物属性。使用控制台,您最多可以添加三个事物属性。
在传播属性部分,选择连接属性并输入属性类型,以及可选的属性名称。
-
可选地添加标签。然后选择创建事物类型。
如果您选择更新事物类型,请选择更新事物类型。
Amazon CLI
-
要通过使用创建新的事物类型来添加用于丰富消息的传播属性Amazon CLI,请运行create-thing-type
命令。示例命令如下。 aws iot create-thing-type \ --thing-type-name "LightBulb" \ --thing-type-properties "{\"mqtt5Configuration\":{\"propagatingAttributes\":[{\"userPropertyKey\":\"iot:ClientId\", \"connectionAttribute\":\"iot:ClientId\"}, {\"userPropertyKey\":\"test\", \"thingAttribute\":\"A\"}]}}" \此命令的输出可能如下所示。
{ "thingTypeName": "LightBulb", "thingTypeArn": "arn:aws:iot:us-west-2:123456789012:thingtype/LightBulb", "thingTypeId": "ce3573b0-0a3c-45a7-ac93-4e0ce14cd190" } -
要使用更新事物类型来配置消息丰富Amazon CLI,请运行update-thing-type
命令。请注意,运行此命令时您只能更新 mqtt5Configuration。示例命令如下。aws iot update-thing-type \ --thing-type-name "MyThingType" \ --thing-type-properties "{\"mqtt5Configuration\":{\"propagatingAttributes\":[{\"userPropertyKey\":\"iot:ClientId\", \"connectionAttribute\":\"iot:ClientId\"}, {\"userPropertyKey\":\"test\", \"thingAttribute\":\"A\"}]}}" \此命令不会生成任何输出。
-
要描述一个事物类型,请运行
describe-thing-type命令。此命令将产生一个输出,其中在thing-type-properties字段中包含消息丰富配置信息。示例命令如下。aws iot describe-thing-type \ --thing-type-name "LightBulb"输出类似于以下内容:
{ "thingTypeName": "LightBulb", "thingTypeId": "bdf72512-0116-4392-8d79-bf39b17ef73d", "thingTypeArn": "arn:aws:iot:us-east-1:123456789012:thingtype/LightBulb", "thingTypeProperties": { "mqtt5Configuration": { "propagatingAttributes": [ { "userPropertyKey": "iot:ClientId", "connectionAttribute": "iot:ClientId" }, { "userPropertyKey": "test", "thingAttribute": "attribute" } ] } }, "thingTypeMetadata": { "deprecated": false, "creationDate": "2024-10-18T17:37:46.656000+00:00" } }
有关更多信息,请参阅 事物类型。