任务设备 MQTT 和 HTTPS 数据类型 - Amazon IoT Core
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

任务设备 MQTT 和 HTTPS 数据类型

可使用以下数据类型通过 MQTT 和 HTTPS 协议与 Amazon IoT Jobs 服务进行通信。

JobExecution

JobExecution data type

包含有关任务执行的数据。

Syntax (7)
{ "jobId" : "string", "thingName" : "string", "jobDocument" : "string", "status": "QUEUED|IN_PROGRESS|FAILED|SUCCEEDED|CANCELED|TIMED_OUT|REJECTED|REMOVED", "statusDetails": { "string": "string" }, "queuedAt" : "timestamp", "startedAt" : "timestamp", "lastUpdatedAt" : "timestamp", "versionNumber" : "number", "executionNumber": long }
Description (7)
jobId

您在创建此任务时向其分配的唯一标识符。

thingName

正在执行任务的事物的名称。

jobDocument

任务文档的内容。

status

任务执行的状态。可以为以下值之一:QUEUED、IN_PROGRESS、FAILED、SUCCEEDED、CANCELED、TIMED_OUT、REJECTED 或 REMOVED。

statusDetails

描述任务执行状态的名称-值对的集合。

queuedAt

任务执行入队的时间,用从纪元开始的秒数表示。

startedAt

任务执行开始的时间,用从纪元开始的秒数表示。

lastUpdatedAt

上次更新任务执行的时间,用从纪元开始的秒数表示。

versionNumber

任务执行的版本。每次设备更新任务执行版本时,版本将递增。

executionNumber

标识设备上的任务执行的数字。它可随后在返回或更新任务执行信息的命令中使用。

JobExecutionState

JobExecutionState data type

包含有关任务执行的状态的数据。

Syntax (8)
{ "status": "QUEUED|IN_PROGRESS|FAILED|SUCCEEDED|CANCELED|TIMED_OUT|REJECTED|REMOVED", "statusDetails": { "string": "string" ... } "versionNumber": "number" }
Description (8)
status

任务执行的状态。可以为以下值之一:QUEUED、IN_PROGRESS、FAILED、SUCCEEDED、CANCELED、TIMED_OUT、REJECTED 或 REMOVED。

statusDetails

描述任务执行状态的名称-值对的集合。

versionNumber

任务执行的版本。每次设备更新任务执行版本时,版本将递增。

JobExecutionSummary

JobExecutionSummary data type

包含有关任务执行的信息的子集。

Syntax (9)
{ "jobId": "string", "queuedAt": timestamp, "startedAt": timestamp, "lastUpdatedAt": timestamp, "versionNumber": "number", "executionNumber": long }
Description (9)
jobId

您在创建此任务时向其分配的唯一标识符。

queuedAt

任务执行入队的时间,用从纪元开始的秒数表示。

startedAt

任务执行开始的时间,用从纪元开始的秒数表示。

lastUpdatedAt

上次更新任务执行的时间,用从纪元开始的秒数表示。

versionNumber

任务执行的版本。每当 Amazon IoT Jobs 服务收到来自设备的更新时,任务执行版本都会递增。

executionNumber

标识设备上的任务执行的数字。

ErrorResponse

ErrorResponse data type

包含有关 Amazon IoT Jobs 服务操作期间发生的错误的信息。

Syntax (10)
{ "code": "ErrorCode", "message": "string", "clientToken": "string", "timestamp": timestamp, "executionState": JobExecutionState }
Description (10)
code

可将 ErrorCode 设置为:

InvalidTopic

请求发送至 Amazon IoT Jobs 命名空间中未映射到任何 API 的主题。

InvalidJson

请求的内容无法解释为有效的 UTF-8 编码的 JSON。

InvalidRequest

请求的内容无效。例如,当 UpdateJobExecution 请求包含无效的状态详细信息时,将返回此代码。消息包含有关错误的详细信息。

InvalidStateTransition

更新尝试将任务执行更改为某个状态,但该状态由于任务执行的当前状态而无效(例如,尝试将处于 SUCCEEDED 状态的请求更改为 IN_PROGRESS 状态)。在这种情况下,错误消息的正文还包含 executionState 字段。

ResourceNotFound

请求主题所指定的 JobExecution 不存在。

VersionMismatch

请求中指定的预期版本与 Amazon IoT Jobs 服务中的任务执行版本不匹配。在这种情况下,错误消息的正文还包含 executionState 字段。

InternalError

处理请求期间出现内部错误。

RequestThrottled

请求已被阻止。

TerminalStateReached

在处于最终状态的任务上执行描述任务的命令时发生。

message

错误消息字符串。

clientToken

用于将请求与其答复关联起来的任意字符串。

timestamp

用自纪元以来的秒数表示的时间。

executionState

一个 JobExecutionState 对象。仅在 code 字段具有 InvalidStateTransitionVersionMismatch 值时包含此字段。在这些情况下,这使得不必执行单独的 DescribeJobExecution 请求以获取当前任务执行状态数据。