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

任务执行

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

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

为了成功运行此测试案例,提供了您授予设备角色所需的两个保留 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 分钟。根据提供的 Amazon IoT 任务文档或源,调整超时值(例如,如果任务需要很长时间才能运行,则为测试使用案例定义一个更大的超时值)。要运行测试,需要提供有效的 Amazon IoT 任务文档或现有的任务 ID。可采用 JSON 文档或 S3 链接形式提供 Amazon IoT 任务文档。如果已提供任务文档,则可以选择提供任务 ID。如果已提供任务 ID,Device Advisor 将在代表您创建 Amazon IoT 任务时使用该 ID。如果未提供任务文档,您可以提供用于运行测试使用案例的同一区域中的现有 ID。在此情况下,Device Advisor 将在运行测试使用案例时使用该 Amazon IoT 任务。

"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" } } ]

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