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

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

任务执行

"Device can complete a job execution"(“设备可以完成任务执行”)

此测试用例可帮助您验证您的设备是否能够使用 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" } } ]

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