本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
实施 Over-the-Air (OTA) 任务
您可以通过两种方式创建 OTA 任务,具体取决于您的更新要求和设备定位策略:
一次性 OTA 任务更新
一次性 OTA 任务包含用于执行 OTA 更新的静态目标列表 (ManagedThings)。您一次最多可以添加 100 个目标。该工作流程使用带队列索引的 AWS IoT 作业,同时维护托管集成抽象层。
使用以下示例创建一次性 OTA 任务:
aws iotmanagedintegrations create-ota-task \ --description "One-time OTA update" \ --s3-url "s3://test-job-document-bucket/ota-job-document.json" \ --protocol HTTP \ --target ["arn:aws:iotmanagedintegrations:region:account id:managed-thing/managed thing id"] \ --ota-mechanism PUSH \ --ota-type ONE_TIME \ --client-token "foo" \ --tags '{"key1":"foo","key2":"foo"}'
持续更新 OTA 任务
OTA(Over-the-Air)分组工作流程使您可以根据特定属性将固件更新部署到设备组,使用带有队列索引的 AWS IoT 作业,同时维护托管集成抽象层。持续的 OTA 任务使用查询字符串而不是特定目标。所有符合查询条件的设备都会进行 OTA 更新,并且会不断重新评估查询条件。匹配的目标将有工作部署。
配置先决条件
在创建连续的 OTA 任务之前,请完成以下先决条件:
-
通过调用 CreateManagedThingAPI 创建托管事物并执行队列配置。
-
在您的托管内容中添加元数据属性以进行查询定位。
ManagedThing使用 UpdateManagedThingAPI 向其中添加属性和元数据:
aws iotmanagedintegrations update-managed-thing \ --managed-thing-id "YOUR_MANAGED_THING_ID" \ --meta-data '{"owner":"managedintegrations","version":"1.0"}'
使用以下示例创建连续的 OTA 任务:
aws iotmanagedintegrations create-ota-task \ --description "Continuous OTA update" \ --s3-url "s3://test-job-document-bucket/ota-job-document.json" \ --protocol HTTP \ --ota-mechanism PUSH \ --ota-type CONTINUOUS \ --client-token "foo" \ --ota-target-query-string "attributes.owner=managedintegrations" \ --tags '{"key1":"foo","key2":"foo"}'
了解持续的 OTA 工作流程
持续 OTA 更新工作流程遵循以下步骤:
-
您可以使用 UpdateManagedThingAPI 更新带有属性的托管事物。
-
使用针对特定设备属性的查询字符串创建 OTA 作业。
-
OTA 服务 AWS IoT Core 根据查询属性在中创建动态事物组
-
IoT 任务在匹配的设备上执行更新
-
您可以通过 ListOtaTaskExecutionsAPI 监控进度,也可以通过 Kinesis 直播(如果已启用)通过 OTA 通知监控进度。
托管集成 OTA 和物联网作业之间的区别
托管集成 OTA 和 IoT Jobs 之间的根本区别在于服务编排和自动化。托管集成 OTA 提供了一种单一服务解决方案,可消除多服务协调的复杂性。
托管集成 OTA 自动执行的操作:
-
动态事物组创建:根据您的查询条件自动生成 AWS IoT Core 事物组。
-
目标分辨率:将查询字符串(示例:
attributes.owner=managedintegrations)转换为实际的设备目标。 -
服务集成:在物联网任务和舰队索引服务之间 AWS IoT Core进行无缝协调。
-
生命周期管理:处理从创建到执行监控的整个 OTA 工作流程。
MI OTA 消除了什么:
-
在中创建事物组 AWS IoT Core。
-
向群组添加内容。
-
创建物联网任务。
托管集成 OTA 会根据您的查询字符串在内部处理所有三项操作,自动发现符合您条件的设备,在幕后创建 IoT 任务,并协调完整的 OTA 工作流程,而无需您直接与多项 AWS 服务交互。