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

Amazon IoT 任务 API

Amazon IoT 任务 API 可用于以下任一类别:

  • 用于管理任务(例如管理和控制任务)的 API 操作。这是控制面板

  • 用于执行这些任务的设备的 API 操作。这是数据层面,允许您发送和接收数据。

任务的管理和控制操作将使用 HTTPS 协议 API。设备可以使用 MQTT 或 HTTPS 协议 API。控制面板 API 旨在用于在创建和跟踪任务时通常进行的少量调用。它通常会为一个请求打开一个连接,然后在收到响应后关闭此连接。数据层面 HTTPS 和 MQTT API 允许进行长时间轮询。这些 API 操作旨在用于可扩展至数百万台设备的大量流量。

每个 Amazon IoT Jobs HTTPS API 均有一个对应的命令,您可使用该命令从 Amazon CLI 调用该 API。命令采用小写形式,并且在构成 API 名称的单词之间使用连字符。例如,您可以通过键入以下内容,在 CLI 上调用 CreateJob API:

aws iot create-job ...

如果在操作过程中发生错误,您会收到包含有关错误的信息的错误响应。

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

以下示例显示此操作的语法:

{ "code": "ErrorCode", "message": "string", "clientToken": "string", "timestamp": timestamp, "executionState": JobExecutionState }

以下是此 ErrorResponse 的描述:

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 请求以获取当前任务执行状态数据。