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

任务管理和控制数据类型

管理和控制应用程序使用以下数据类型与 Amazon IoT Jobs 服务进行通信。

Job

Job data type

Job 对象包含有关任务的详细信息。

Syntax (1)
{ "jobArn": "string", "jobId": "string", "status": "IN_PROGRESS|CANCELED|SUCCEEDED", "forceCanceled": boolean, "targetSelection": "CONTINUOUS|SNAPSHOT", "comment": "string", "targets": ["string"], "description": "string", "createdAt": timestamp, "lastUpdatedAt": timestamp, "completedAt": timestamp, "jobProcessDetails": { "processingTargets": ["string"], "numberOfCanceledThings": long, "numberOfSucceededThings": long, "numberOfFailedThings": long, "numberOfRejectedThings": long, "numberOfQueuedThings": long, "numberOfInProgressThings": long, "numberOfRemovedThings": long, "numberOfTimedOutThings": long }, "presignedUrlConfig": { "expiresInSec": number, "roleArn": "string" }, "jobExecutionsRolloutConfig": { "exponentialRate": { "baseRatePerMinute": integer, "incrementFactor": integer, "rateIncreaseCriteria": { "numberOfNotifiedThings": integer, // Set one or the other "numberOfSucceededThings": integer // of these two values. }, "maximumPerMinute": integer } }, "abortConfig": { "criteriaList": [ { "action": "string", "failureType": "string", "minNumberOfExecutedThings": integer, "thresholdPercentage": integer } ] }, "timeoutConfig": { "inProgressTimeoutInMinutes": long } }
Description (1)
jobArn

一个标识任务的 ARN,格式为“arn:aws:iot:region:account:job/jobId”。

jobId

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

status

任务的状态,为 IN_PROGRESSCANCELEDSUCCEEDED 之一。

targetSelection

指定任务是继续运行 (CONTINUOUS),还是在指定作为目标的事物完成任务后完成 (SNAPSHOT)。如果为 CONTINUOUS,则在目标中检测到更改时,任务也可能会在事物上运行。例如,在将一个事物添加到目标组时,任务会在该事物上运行,甚至在组中原有的所有事物都完成任务后也是如此。

comment

如果任务已更新,介绍更新原因。

targets

任务应发送到的 Amazon IoT 事物和事物组的列表。

description

任务的简短文本描述。

createdAt

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

lastUpdatedAt

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

completedAt

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

jobProcessDetails

有关任务流程的详细信息:

processingTargets

当前正在执行任务的 Amazon IoT 事物和事物组的列表。

numberOfCanceledThings

取消了任务的 Amazon IoT 事物数。

numberOfSucceededThings

已成功完成任务的 Amazon IoT 事物数。

numberOfFailedThings

未能完成任务的 Amazon IoT 事物数。

numberOfRejectedThings

拒绝了任务的 Amazon IoT 事物数。

numberOfQueuedThings

等待任务执行的 Amazon IoT 事物数。

numberOfInProgressThings

当前正在执行任务的 Amazon IoT 事物数。

numberOfRemovedThings

因事物已从作为任务目标的组中删除或移除而不再计划执行任务的 Amazon IoT 事物数。

numberOfTimedOutThings

任务执行状态为 TIMED_OUT 的事物数。

presignedUrlConfig

预签名 Amazon S3 URL 的配置信息。

expiresInSec

预签名 URL 的有效期时间长度 (以秒为单位)。有效值为 60-3600。默认值为 3600 秒。预签名 URL 在 Amazon IoT Jobs 服务接收任务文档的 MQTT 请求时生成。

roleArn

授予从 Amazon S3 存储桶下载文件的权限的 IAM 角色的 ARN。该角色还必须向 Amazon IoT 授予下载文件的权限。有关如何创建和配置角色的更多信息,请参阅创建任务

jobExecutionRolloutConfig

可选。允许您创建任务的分段推出。

maximumPerMinute

每分钟将任务发送到的用于执行任务的事物(设备)的最大数量。

exponentialRate

允许您创建任务推出的指数速率。

baseRatePerMinute

在任务推出开始时,每分钟接收待处理任务通知的事物的最小数量。此参数允许您定义推出的初始速率。

incrementFactor

用于提高任务推出速率的指数因子。

rateIncreaseCriteria

启动任务推出速率提高的条件。您可以指定 numberOfNotifiedThingsnumberOfSucceededThing,但不能同时指定两者。

numberOfNotifiedThings

启动推出速率提高的被通知事物的数量阈值。

numberOfSucceededThings

启动推出速率提高的成功事物的数量阈值。

abortConfig

可选。用于中止任务的中止条件的详细信息。

criteriaList

定义中止任务的规则的中止条件列表。

action

启动任务中止的中止操作的类型。

failureType

定义启动任务中止的规则的任务执行失败的类型。

minNumberOfExecutedThings

评估中止规则之前已执行事物的最小数量。

thresholdPercentage

以启动任务中止的执行事物总数的百分比形式表示的阈值。

timeoutConfig

可选。指定每个设备完成其任务执行所具有的时间。计时器在任务执行状态设置为 IN_PROGRESS 时启动。如果任务执行状态未在时间到期之前设置为其他最终状态,它会设置为 TIMED_OUT

inProgressTimeoutInMinutes

指定此设备完成该任务执行所具有的时间,以分钟为单位。只要任务的执行状态指定为 IN_PROGRESS 并且填充了此字段,计时器将启动或重新启动。如果在计时器到期之前,或者在发送另一个填充了此字段的任务执行状态更新之前,任务执行状态未设置为最终状态,状态将设置为 TIMED_OUT

JobSummary

JobSummary data type

JobSummary 对象包含任务摘要。

Syntax (2)
{ "jobArn": "string", "jobId": "string", "status": "IN_PROGRESS|CANCELED|SUCCEEDED", "targetSelection": "CONTINUOUS|SNAPSHOT", "thingGroupId": "string", "createdAt": timestamp, "lastUpdatedAt": timestamp, "completedAt": timestamp }
Description (2)
jobArn

一个标识任务的 ARN。

jobId

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

status

任务状态。可以为以下值之一:IN_PROGRESSCANCELEDSUCCEEDED

targetSelection

指定任务是继续运行 (CONTINUOUS),还是在指定为目标的所有事物完成任务后完成 (SNAPSHOT)。如果为 CONTINUOUS,则在目标中检测到更改时,任务也可能会在事物上运行。例如,在将一个事物添加到目标组时,任务会在该事物上运行,甚至在组中原有的所有事物都完成任务后也是如此。

thingGroupId

事物组的 ID。

createdAt

创建任务的时间的 UNIX 时间戳。

lastUpdatedAt

上次更新任务的时间的 UNIX 时间戳。

completedAt

完成任务的时间的 UNIX 时间戳。

JobExecution

JobExection data type

JobExecution 对象表示设备上的任务执行。

Syntax (3)
{ "approximateSecondsBeforeTimedOut": 50, "executionNumber": 1234567890, "forceCanceled": true|false, "jobId": "string", "lastUpdatedAt": timestamp, "queuedAt": timestamp, "startedAt": timestamp, "status": "QUEUED|IN_PROGRESS|FAILED|SUCCEEDED|CANCELED|TIMED_OUT|REJECTED|REMOVED", "forceCanceled": boolean, "statusDetails": { "detailsMap": { "string": "string" ... }, "status": "string" }, "thingArn": "string", "versionNumber": 123 }
Description (3)
approximateSecondsBeforeTimedOut

任务执行状态更改为 TIMED_OUT 之前估计剩余的秒数。超时间隔可以为 1 分钟到 7 天(1 到 10080 分钟)之间的任意长度。实际任务执行超时可能晚于估计的持续时间最多 60 秒。

jobId

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

executionNumber

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

thingArn

Amazon IoT 事物 ARN。

queuedAt

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

lastUpdatedAt

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

startedAt

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

status

任务执行的状态。可以为以下值之一:QUEUEDIN_PROGRESSFAILEDSUCCEEDEDCANCELEDTIMED_OUTREJECTEDREMOVED

statusDetails

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

JobExecutionSummary

JobExecutionSummary data type

JobExecutionSummary 对象包含任务执行摘要信息:

Syntax (4)
{ "executionNumber": 1234567890, "queuedAt": timestamp, "lastUpdatedAt": timestamp, "startedAt": timestamp, "status": "QUEUED|IN_PROGRESS|FAILED|SUCCEEDED|CANCELED|TIMED_OUT|REJECTED|REMOVED" }
Description (4)
executionNumber

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

queuedAt

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

lastUpdatedAt

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

startAt

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

status

任务执行的状态:QUEUEDIN_PROGRESSFAILEDSUCCEEDEDCANCELEDTIMED_OUTREJECTEDREMOVED

JobExecutionSummaryForJob

JobExecutionSummaryForJob data type

JobExecutionSummaryForJob 对象包含有关特定任务的任务执行的信息摘要。

Syntax (5)
{ "executionSummaries": [ { "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/MyThing", "jobExecutionSummary": { "status": "IN_PROGRESS", "lastUpdatedAt": 1549395301.389, "queuedAt": 1541526002.609, "executionNumber": 1 } }, ... ] }
Description (5)
thingArn

Amazon IoT 事物 ARN。

jobExecutionSummary

一个 JobExecutionSummary 对象。

JobExecutionSummaryForThing

JobExecutionSummaryForThing data type

JobExecutionSummaryForThing 对象包含有关特定事物上的任务执行的信息摘要。

Syntax (6)
{ "executionSummaries": [ { "jobExecutionSummary": { "status": "IN_PROGRESS", "lastUpdatedAt": 1549395301.389, "queuedAt": 1541526002.609, "executionNumber": 1 }, "jobId": "MyThingJob" }, ... ] }
Description (6)
jobId

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

jobExecutionSummary

一个 JobExecutionSummary 对象。