任务执行 - Amazon IoT Core
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

任务执行

“设备可以完成任务执行”

此测试用例可帮助您验证您的设备是否能够使用 Amazon IoT 任务接收更新,并发布成功更新的状态。有关 Amazon IoT 作业的更多信息,请参阅作业

为了成功运行此测试案例,提供了您授予设备角色所需的两个保留 Amazon 主题。要订阅与消息相关的任务活动,请使用 notifynotify-next 主题。您的设备角色必须为以下主题授予 PUBLISH 操作:

  • $aws/things/thingName/jobs/jobId/get

  • $aws/things/thingName/jobs/jobId/update

建议为以下主题授予 SUBSCRIBE 和 RECEIVE 操作:

  • $aws/things/ thingName/jobs/get/accepted

  • $aws/things/thingName/jobs/jobId/get/rejected

  • $aws/things/thingName/jobs/jobId/update/accepted

  • $aws/things/thingName/jobs/jobId/update/rejected

建议为以下主题授予 SUBSCRIBE 操作:

  • $aws/things/thingName/jobs/notify-next

有关这些保留主题的更多信息,请参阅 Amazon IoT 任务的保留主题。

WebSocket目前不支持 MQTT 版本。

API 测试用例定义:

注意

EXECUTION_TIMEOUT 的默认值为 5 分钟。我们建议将超时值设置为 3 分钟。根据所提供的 Jo Amazon IoT b 文档或来源,调整超时值(例如,如果作业需要很长时间才能运行,请为测试用例定义更长的超时值)。要运行测试,需要有效的 Amazon IoT Job 文档或已经存在的作业 ID。 Amazon IoT Job 文档可以以 JSON 文档或 S3 链接的形式提供。如果已提供任务文档,则可以选择提供任务 ID。如果提供了任务 ID,Device Advisor 将在代表您创建 Amazon IoT 任务时使用该ID。如果未提供任务文档,您可以提供用于运行测试使用案例的同一区域中的现有 ID。在这种情况下,设备顾问将在运行测试用例时使用该 Amazon IoT Job。

"tests": [ { "name":"my_job_execution", "configuration": { // optional: // Test case will create a job task by using either JOB_DOCUMENT or JOB_DOCUMENT_SOURCE. // If you manage the job task on your own, leave it empty and provide the JOB_JOBID (self-managed job task). // JOB_DOCUMENT is a JSON formatted string "JOB_DOCUMENT": "{ \"operation\":\"reboot\", \"files\" : { \"fileName\" : \"install.py\", \"url\" : \"${aws:iot:s3-presigned-url:https://s3.amazonaws.com/bucket-name/key}\" } }", // JOB_DOCUMENT_SOURCE is an S3 link to the job document. It will be used only if JOB_DOCUMENT is not provided. "JOB_DOCUMENT_SOURCE": "https://s3.amazonaws.com/bucket-name/key", // JOB_JOBID is mandatory, only if neither document nor document source is provided. (Test case needs to know the self-managed job task id). "JOB_JOBID": "String", // JOB_PRESIGN_ROLE_ARN is used for the presign Url, which will replace the placeholder in the JOB_DOCUMENT field "JOB_PRESIGN_ROLE_ARN": "String", // Presigned Url expiration time. It must be between 60 and 3600 seconds, with the default value being 3600. "JOB_PRESIGN_EXPIRES_IN_SEC": "Long" "EXECUTION_TIMEOUT": "300", // in seconds }, "test": { "id": "Job_Execution", "version": "0.0.0" } } ]

有关创建和使用任务文档的更多信息,请参阅任务文档