本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
實作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 任務之前,請先完成下列先決條件:
-
呼叫 CreateManagedThing API 並執行機群佈建來建立受管物件。
-
將中繼資料屬性新增至受管物件,以進行查詢目標鎖定。
ManagedThing 使用 UpdateManagedThing API 將屬性和中繼資料新增至 :
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 更新工作流程遵循下列步驟:
-
您可以使用 UpdateManagedThing API 更新具有屬性的受管物件。
-
使用以特定裝置屬性為目標的查詢字串建立 OTA 任務。
-
OTA 服務 AWS IoT Core 會根據查詢屬性在 中建立動態物件群組
-
IoT 任務會在相符的裝置上執行更新
-
您可以透過 ListOtaTaskExecutions API 監控進度,或透過 Kinesis 串流監控 OTA 通知 (如果啟用)。
受管整合 OTA 和 IoT 任務之間的差異
受管整合 OTA 和 IoT 任務之間的基本區別在於服務協調和自動化。受管整合 OTA 提供單一服務解決方案,可消除多服務協調的複雜性。
受管整合 OTA 會自動執行的操作:
-
動態物件群組建立:根據您的查詢條件自動產生 AWS IoT Core 物件群組。
-
目標解析:將查詢字串 (範例:
attributes.owner=managedintegrations) 轉換為實際的裝置目標。 -
服務整合:在 AWS IoT Core IoT Jobs 和 Fleet Indexing 服務之間無縫協調。
-
生命週期管理:處理從建立到執行監控的整個 OTA 工作流程。
MI OTA 消除了什麼:
-
在 中建立物件群組 AWS IoT Core。
-
將物件新增至群組。
-
建立 IoT 任務。
受管整合 OTA 會根據您的查詢字串在內部處理這三個操作、自動探索符合您條件的裝置、在幕後建立 IoT 任務,以及協調完整的 OTA 工作流程,而不需要您直接與多個 AWS 服務互動。