AWS IoT
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

工作

AWS IoT 任务可用于定义一组远程操作,这些操作发送到一个或多个连接到 AWS IoT 的设备并在这些设备上执行。

Jobs 关键概念

任务

任务是发送到一台或多台连接到 AWS IoT 的设备并在这些设备上执行的操作。例如,您可以定义一个任务,该任务指示一组设备下载并安装应用程序或固件更新、重启、轮换证书或执行远程故障排除操作。

任务文档

要创建任务,您必须先创建一个任务文档,该文档是要由设备执行的远程操作的描述。

任务文档是 UTF-8 编码的 JSON 文档,应包含您的设备执行任务所需的任何信息。任务文档最有可能包含一个或多个 URL,设备可从这些 URL 下载更新或其他数据。任务文档本身可存储在 Amazon S3 存储桶中,或者与用于创建任务的命令内联包含。

target

在创建任务时,您需要指定一系列目标,它们是应执行操作的设备。目标可以是事物和/或事物组。AWS IoT Jobs 会向每个目标发送一条消息以向该目标告知任务可用。

任务执行

任务执行是目标设备上的任务的实例。目标通过下载任务文档来开始执行任务。目标随后会执行文档指定的操作并将其进度报告给 AWS IoT。执行编号是特定目标上的特定任务执行的唯一标识符。Jobs 服务提供的命令可跟踪特定目标上的任务执行的进度以及某个任务在其所有目标中的执行的整体进度。

快照任务

默认情况下,任务将发送到您在创建该任务时指定的所有目标。在这些目标完成任务 (或报告它们无法执行此操作) 后,任务即完成。这是一个快照任务。

持续任务

持续任务会持续运行,在目标中检测到更改时即执行。例如,当代表设备的某个事物添加到目标组时,会在该设备上运行任务,即使是组中原有的全部事物已经完成了任务。在将设备添加到组时,可使用持续任务加入或升级设备。您可以通过在创建任务时设置可选参数,来使任务成为持续任务。

部署

在创建任务时,您可以指定向目标发送待处理任务执行通知的速度。这样,您就可以创建一个分段部署以更好地管理更新、重启和其他操作。

可将以下字段添加到 CreateJob 请求以指定每分钟向其通知任务的最大目标数:

"jobExecutionRolloutConfig": { "maximumPerMinute": "integer" }
预签名 URL

要使设备能够对任务文档本身包含的数据之外的其他数据进行限定时间的安全访问,您可以使用预签名 Amazon S3 URL。您可以将数据放置在 Amazon S3 存储桶中,并添加一个指向任务文档中的数据的占位符链接。当 Jobs 服务收到任务文档的请求时,它会分析任务文档以查找占位符链接并将其替换为预签名 Amazon S3 URL。

占位符链接采用以下形式:

${aws:iot:s3-presigned-url:https://s3.amazonaws.com/bucket/key}

其中 bucket 是您的存储桶名称,key 是您链接到的存储桶中的对象。

本页内容: