我们正在开发一种嵌入式设备(使用 FreeRTOS),它将从 AWS 接收 OTA 更新。
我们想在用于启动 OTA 更新的 IoT 作业文档中添加一些自定义字段。
我一直在使用 AWS CLI 工具来创建 OTA 作业。这是我所拥有的:
aws iot create-ota-update
--profile dev
--ota-update-id my-test-ota-update
--description "OTA update generated for testing"
--targets arn:aws:iot:xxxxxxx
--protocols MQTT
--target-selection SNAPSHOT
--aws-job-executions-rollout-config "maximumPerMinute=10"
--aws-job-timeout-config "inProgressTimeoutInMinutes=60"
--files [file info json]
--role-arn arn:aws:iam::xxxxxxxxxxx
[file info json] 是表示已经创建的固件文件流的压缩 JSON,看起来像这样。请注意,“streamId”将是我已经创建的文件流的 ID:
{
"fileName": "myfile",
"fileType": 0,
"fileLocation": {
"stream": {
"streamId": "xxxxxxxxxx",
"fileId": 0
}
}
}
当我使用此命令时,设备会收到如下所示的物联网作业:
{
"clientToken": "xxxxxxx",
"timestamp": 1679881909,
"execution": {
"jobId": "xxxxxxxxxxx",
"status": "QUEUED",
"queuedAt": 1679881895,
"lastUpdatedAt": 1679881895,
"versionNumber": 1,
"executionNumber": 1,
"jobDocument": {
"afr_ota": {
"protocols": [
"MQTT"
],
"streamname": "xxxxxxxxxxxxxx",
"files": [
{
"filepath": "myfile",
"filesize": 1249280,
"fileid": 0,
"fileType": 0
}
]
}
}
}
}
我想要的是在“afr_ota”对象内向文档添加一个字段。
根据命令参考,有一个“--additional-parameters”的选项。我尝试使用这个 - 例如
--additional-parameters KeyName1=string,KeyName2=string
但工作文档中没有添加任何内容。
是否可以使用 AWS CLI 工具向作业文档添加字段?