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

任务管理和控制 API

使用此命令为您的 CLI 命令查找 endpoint-url 参数。

aws iot describe-endpoint --endpoint-type=iot:Jobs

此命令将返回以下输出。

{ "endpointAddress": "account-specific-prefix.jobs.iot.aws-region.amazonaws.com" }
注意

Jobs 端点不支持 ALPN z-amzn-http-ca

AssociateTargetsWithJob

AssociateTargetsWithJob command

将组与持续任务关联。有关更多信息,请参阅 CreateJob。必须满足以下标准:

  • 必须已在 targetSelection 字段设置为 CONTINUOUS 的情况下创建任务。

  • 任务状态当前必须为 IN_PROGRESS

  • 与任务关联的目标总数不能超过 100。

HTTPS (1)

请求:

POST /jobs/jobId/targets { "targets": [ "string" ], "comment": "string" }
jobId

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

targets

定义任务目标的事物组 ARN 的列表。

comment

可选。一个备注字符串,描述将任务与目标关联的原因。

响应:

{ "jobArn": "string", "jobId": "string", "description": "string" }
jobArn

标识任务的 ARN。

jobId

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

description

任务的简短文本描述。

CLI (1)

摘要:

aws iot associate-targets-with-job \ --targets <value> \ --job-id <value> \ [--comment <value>] \ [--cli-input-json <value>] \ [--generate-cli-skeleton]

cli-input-json 格式:

{ "targets": [ "string" ], "jobId": "string", "comment": "string" }
cli-input-json 字段:

名称

类型

说明

targets

list

成员:TargetArn

定义任务目标的事物组 ARN 的列表。

TargetArn

字符串

jobId

字符串

最大长度:64,最小长度:1

模式:[a-zA-Z0-9_-]+

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

comment

字符串

最大长度:2028

模式:[^\\p{C}]+

一个可选的字符串,描述将任务与目标关联的原因。

输出:

{ "jobArn": "string", "jobId": "string", "description": "string" }
CLI 输出字段:

名称

类型

说明

jobArn

字符串

标识任务的 ARN。

jobId

字符串

最大长度:64,最小长度:1

模式:[a-zA-Z0-9_-]+

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

description

字符串

最大长度:2028

模式:[^\\p{C}]+

任务的简短文本描述。

CancelJob

CancelJob command

取消任务。

HTTPS (2)

请求:

PUT /jobs/jobId/cancel { "force": boolean, "comment": "string", "reasonCode": "string" }
jobId

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

force

[可选] 如果为 true,则将取消状态为 IN_PROGRESSQUEUED 的任务执行。否则,将仅取消状态为 QUEUED 的任务执行。默认为 false

警告

取消状态为 IN_PROGRESS 的任务将导致执行该任务的设备无法更新任务执行状态。请谨慎使用,并且确保执行已取消的任务的每个设备能够恢复到有效状态。

comment

[可选] 一个备注字符串,描述取消任务的原因。

reasonCode

[可选] 一个原因代码字符串,说明取消任务的原因。如果任务因满足 abortConfig 定义的条件而被取消,则会自动填充此字段。

响应:

{ "jobArn": "string", "jobId": "string", "description": "string" }
jobArn

任务 ARN。

jobId

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

description

任务的简短文本描述。

CLI (2)

摘要:

aws iot cancel-job \ --job-id <value> \ [--force <value>] \ [--comment <value>] \ [--reasonCode <value>] \ [--cli-input-json <value>] \ [--generate-cli-skeleton]

cli-input-json 格式:

{ "jobId": "string", "force": boolean, "comment": "string" }
cli-input-json 字段:

名称

类型

说明

jobId

字符串

最大长度:64,最小长度:1

模式:[a-zA-Z0-9_-]+

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

force

布尔值

如果为 true,则将取消状态为 QUEUED 和 IN_PROGRESS 的任务。否则,将仅取消状态为 QUEUED 的任务。

警告

取消状态为 IN_PROGRESS 的任务将导致执行该任务的设备无法更新任务执行状态。请谨慎使用,并且确保执行已取消的任务的每个设备能够恢复到有效状态。

comment

字符串

最大长度:2028

模式:[^\\p{C}]+

一个可选的字符串,用于描述为什么取消任务。

reasonCode

字符串

最大长度:128

模式:[\p{Upper}\p{Digit}_]+

一个可选的字符串,用于说明为什么取消任务。如果任务因满足 abortConfig 定义的条件而被取消,则会自动填充此字段。

输出:

{ "jobArn": "string", "jobId": "string", "description": "string" }
CLI 输出字段:

名称

类型

说明

jobArn

字符串

任务 ARN。

jobId

字符串

最大长度:64,最小长度:1

模式:[a-zA-Z0-9_-]+

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

description

字符串

最大长度:2028

模式:[^\\p{C}]+

任务的简短文本描述。

CancelJobExecution

CancelJobExecution command

取消设备上的任务执行。

HTTPS (3)

请求:

PUT /things/thingName/jobs/jobId/cancel { "force": boolean, "expectedVersion": "string", "statusDetails": { "string": "string" ... } }
thingName

将取消其任务执行的事物的名称。

jobId

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

force

可选。如果为 true,则可以取消状态为 IN_PROGRESSQUEUED 的任务执行。否则,只能取消状态为 QUEUED 的任务执行。如果您尝试取消状态为 IN_PROGRESS 的任务执行,并且未将 force 设置为 true,则会引发 InvalidStateTransitionException。默认为 false

警告

取消状态为 IN_PROGRESS 的任务将导致执行该任务的设备无法更新任务执行状态。请谨慎使用,并且确保执行已取消的任务的每个设备能够恢复到有效状态。

expectedVersion

可选。任务执行的预期当前版本。每次更新任务执行时,其版本将递增。如果存储在 Amazon IoT Jobs 服务中的任务执行版本不匹配,则更新将被拒绝并出现 VersionConflictException 错误,并且将返回包含当前任务执行状态数据的 ErrorResponse。(这样就不必执行单独的 DescribeJobExecution 请求以获取任务执行状态数据。)

statusDetails

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

响应:

{ }
CLI (3)

摘要:

aws iot cancel-job-execution \ --job-id <value> \ --thing-name <value> \ [--force | --no-force] \ [--expected-version <value>] \ [--status-details <value>] \ [--cli-input-json <value>] \ [--generate-cli-skeleton]

cli-input-json 格式:

{ "jobId": "string", "thingName": "string", "force": boolean, "expectedVersion": long, "statusDetails": { "string": "string" } }
cli-input-json 字段:

名称

类型

说明

jobId

字符串

最大长度:64,最小长度:1

模式:[a-zA-Z0-9_-]+

要取消的任务。

thingName

字符串

最大长度:128,最小长度:1

模式:[a-zA-Z0-9:_-]+

将取消其任务执行的事物的名称。

force

布尔值

可选。如果为 true,则将取消状态为 IN_PROGRESS 或 QUEUED 的任务执行。否则,将只取消状态为 QUEUED 的任务执行。不过,如果您尝试取消状态为 IN_PROGRESS 的任务执行,并且未将 --force 设置为 true,则会引发 InvalidStateTransitionException。默认为 false

警告

取消状态为 IN_PROGRESS 的任务将导致执行该任务的设备无法更新任务执行状态。请谨慎使用,并且确保执行已取消的任务的每个设备能够恢复到有效状态。

expectedVersion

long

java 类:java.lang.Long

可选。任务执行的预期当前版本。每次更新任务执行时,其版本将递增。如果存储在 Amazon IoT Jobs 服务中的任务执行版本不匹配,则更新将被拒绝并出现 VersionMismatch 错误,并且将返回包含当前任务执行状态数据的 ErrorResponse。(这样就不必执行单独的 DescribeJobExecution 请求以获取任务执行状态数据。)

statusDetails

映射

键:DetailsKey

值:DetailsValue

描述任务执行状态的名称-值对的集合。如果未指定,则 statusDetails 保持不变。

DetailsKey

字符串

最大长度:128,最小长度:1

模式:[a-zA-Z0-9:_-]+

DetailsValue

字符串

最大长度:1024,最小长度:1

模式:[^\\p{C}]*+

输出:

CreateJob

CreateJob command

创建任务。您可以将任务文档作为 Amazon S3 存储桶(documentSource 参数)中或请求正文(document 参数)中的文档链接提供。

将可选的 targetSelection 参数设置为 CONTINUOUS,可使任务成为持续任务。(默认值为 SNAPSHOT。) 持续任务可用于在将设备添加到组时加入或升级设备,因为它将继续运行并在新添加的事物上执行,甚至在组中的事物在创建任务期间完成任务后也是如此。

任务可以具有可选的 TimeoutConfig,这会设置进行中计时器的值。进行中计时器无法更新,应用到该任务的全部执行。

CreateJob API 的参数执行以下验证:

  • targets 参数必须是有效事物或事物组 ARN 的列表。所有事物和事物组必须在您的 Amazon Web Services 账户 中。

  • documentSource 参数必须是指向任务文档的有效 Amazon S3 URL。Amazon S3 URL 的格式为:https://s3.amazonaws.com/bucketName/objectName

  • 存储在由 documentSource 参数指定的 URL 中的文档必须是 UTF-8 编码的 JSON 文档。

  • 由于 MQTT 消息大小限制 (128 KB) 和加密的原因,任务文档的大小限制为 32 KB。

  • jobId 必须在您的 Amazon Web Services 账户 中是唯一的。

HTTPS (4)

请求:

PUT /jobs/jobId { "targets": [ "string" ], "document": "string", "documentSource": "string", "description": "string", "jobTemplateArn": "string", "presignedUrlConfigData": { "roleArn": "string", "expiresInSec": "integer" }, "targetSelection": "CONTINUOUS|SNAPSHOT", "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 } }
jobId

一个任务标识符,它在您的 Amazon Web Services 账户 必须是唯一的。我们建议使用 UUID。此处可以使用字母数字字符、“-”和“_”。

targets

定义任务目标的事物或事物组 ARN 的列表。

document

可选。任务文档。

documentSource

可选。指向任务文档的 Amazon S3 链接。

description

可选。任务的简短文本描述。

jobTemplateArn

用于创建任务的任务模板的 ARN。

presignedUrlConfigData

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

roleArn

包含 Amazon S3 存储桶的访问权限的 IAM 角色的 ARN。这是包含设备通过预签名 Amazon S3 URL 下载的数据的存储桶。该角色还必须向 Amazon IoT 授予代入角色的权限。有关更多信息,请参阅 创建任务

expiresInSec

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

targetSelection

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

jobExecutionRolloutConfig

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

maximumPerMinute

每分钟将任务发送到用于执行任务的事物的最大数量。有效值为 1 到 1000. 如果未指定,默认值为 1000。在任何特定的分钟间隔内接收任务的事物的实际数量可能会少一些(由于系统延迟),但不会超过指定的值。

exponentialRate

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

baseRatePerMinute

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

incrementFactor

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

rateIncreaseCriteria

启动任务推出速率提高的条件。设置 numberOfNotifiedThingsnumberOfSucceededThings 的值,但不能同时设置这两者。

numberOfNotifiedThings

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

numberOfSucceededThings

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

abortConfig

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

criteriaList

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

action

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

failureType

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

minNumberOfExecutedThings

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

thresholdPercentage

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

timeoutConfig

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

inProgressTimeoutInMinutes

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

响应:

{ "jobArn": "string", "jobId": "string", "description": "string" }
jobArn

任务的 ARN。

jobId

您分配给此任务的唯一标识符。

description

任务的可选简短文本描述。

CLI (4)

摘要:

aws iot create-job \ --job-id <value> \ --targets <value> \ [--document-source <value>] \ [--document <value>] \ [--description <value>] \ [--job-template-arn <value>] \ [--presigned-url-config <value>] \ [--target-selection <value>] \ [--job-executions-rollout-config <value>] \ [--abort-config <value>] \ [--timeout-config <value>] \ [--document-parameters <value>] \ [--cli-input-json <value>] \ [--generate-cli-skeleton]

cli-input-json 格式:

{ "jobId": "string", "targets": [ "string" ], "documentSource": "string", "document": "string", "description": "string", "jobTemplateArn": "string", "presignedUrlConfig": { "roleArn": "string", "expiresInSec": long }, "targetSelection": "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 }, "documentParameters": { "string": "string" } }
cli-input-json 字段:

名称

类型

说明

jobId

字符串

最大长度:64,最小长度:1

模式:[a-zA-Z0-9_-]+

任务的标识符,必须是您 Amazon Web Services 账户 中的唯一标识符。我们建议使用 UUID。此处可以使用字母数字字符、“-”和“_”。

targets

list

成员:TargetArn

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

TargetArn

字符串

documentSource

字符串

最大长度:1350,最小长度:1

指向任务文档的 S3 链接。

文档

字符串

最大长度:32768

任务文档。

description

字符串

最大长度:2028

模式:[^\\p{C}]+

任务的简短文本描述。

jobTemplateArn

字符串

最大长度:1600

模式:^arn:[!-~]+$

用于创建任务的任务模板的 ARN。

presignedUrlConfig

PresignedUrlConfig

预签名 S3 URL 的配置信息。

roleArn

字符串

最大长度:2048,最小长度:20

IAM 角色的 ARN,该角色授予从存储任务数据或更新的 Amazon S3 存储桶下载文件的权限。该角色还必须向 Amazon IoT 授予下载文件的权限。

expiresInSec

long

java 类:java.lang.Long

范围 – 最大值:3600,最小值:60

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

targetSelection

字符串

枚举:CONTINUOUS | SNAPSHOT

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

jobExecutionsRolloutConfig

JobExecutionsRolloutConfig

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

maximumPerMinute

integer

java 类:java.lang.Integer

范围 – 最大值:1000,最小值:1

每分钟接收待处理任务通知的事物的最大数量。此参数允许您创建分段推出。

exponentialRate

ExponentialRolloutRate

任务推出的增速。此参数允许您定义任务推出的指数速率。

baseRatePerMinute

java 类:java.lang.Integer

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

incrementFactor

java 类:java.lang.Double

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

rateIncreaseCriteria

RateIncreaseCriteria

允许您定义启动任务推出速率提高的条件。设置 numberOfNotifiedThingsnumberOfSucceededThings 的值,但不能同时设置这两者。

numberOfNotifiedThings

java 类:java.lang.Double

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

numberOfSucceededThings

java 类:java.lang.Double

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

abortConfig

AbortConfig

允许您创建中止任务的条件。

criteriaList

AbortCriteria

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

操作

java 类:java.lang.String (CANCEL)

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

failureType

java 类:java.lang.String (FAILED | REJECTED | TIMED_OUT | ALL)

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

minNumberOfExecutedThings

java 类:java.lang.Integer)

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

thresholdPercentage

java 类:java.lang.Double)

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

Amazon IoT 最多支持小数点后两位(例如,支持 10.9 和 10.99,但不支持 10.999)。

timeoutConfig

TimeoutConfig

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

inProgressTimeoutInMinutes

long

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

documentParameters

映射

键:ParameterKey

值:ParameterValue

任务文档的参数。

ParameterKey

字符串

最大长度:128,最小长度:1

模式:[a-zA-Z0-9:_-]+

ParameterValue

字符串

最大长度:1024,最小长度:1

模式:[^\\p{C}]+

输出:

{ "jobArn": "string", "jobId": "string", "description": "string" }
CLI 输出字段:

名称

类型

说明

jobArn

字符串

任务 ARN。

jobId

字符串

最大长度:64,最小长度:1

模式:[a-zA-Z0-9_-]+

您分配给此任务的唯一标识符。

description

字符串

最大长度:2028

模式:[^\\p{C}]+

任务描述。

DeleteJob

DeleteJob command

删除任务及其相关的任务执行。

删除任务可能需要一些时间,具体取决于为该任务创建的任务执行的数量以及其他各种因素。正在删除任务时,任务的状态显示为“DELETION_IN_PROGRESS”。尝试删除或取消已处于“DELETION_IN_PROGRESS”状态的任务将导致错误。

HTTPS (5)

请求语法:

DELETE /jobs/jobId?force=force
URI 请求参数:

名称

类型

请求?

说明

jobId

JobId

要删除的任务的 ID。

force

ForceFlag

no

(可选)当为 true 时,您可以删除状态为“IN_PROGRESS”的任务。否则,您只能删除处于最终状态(“SUCCEEDED”或“CANCELED”)的任务,否则会出现异常。默认为 false。

注意

删除状态为“IN_PROGRESS”的任务将导致执行该任务的设备无法访问任务信息或更新任务执行状态。请谨慎使用,并且确保执行已删除的任务的每个设备能够恢复到有效状态。

错误:

InvalidRequestException

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

HTTP 响应代码:400

InvalidStateTransitionException

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

HTTP 响应代码:409

ResourceNotFoundException

指定的资源不存在。

HTTP 响应代码:404

ThrottlingException

速率超过限制。

HTTP 响应代码:429

ServiceUnavailableException

服务暂时不可用。

HTTP 响应代码:503

CLI (5)

摘要:

aws iot delete-job \ --job-id <value> \ [--force | --no-force] \ [--cli-input-json <value>] \ [--generate-cli-skeleton]

cli-input-json 格式:

{ "jobId": "string", "force": boolean }
cli-input-json 字段:

名称

类型

说明

jobId

字符串

最大长度:64,最小长度:1

模式:[a-zA-Z0-9_-]+

要删除的任务的 ID。

force

布尔值

(可选)当为 true 时,您可以删除状态为 IN_PROGRESS 的任务。否则,您只能删除处于最终状态(SUCCEEDED 或 CANCELED)的任务,否则会出现异常。默认为 false。

注意

删除状态为 IN_PROGRESS 的任务将导致执行该任务的设备无法访问任务信息或更新任务执行状态。请谨慎使用,并且确保执行已删除的任务的每个设备能够恢复到有效状态。

输出:

DeleteJobExecution

DeleteJobExecution command

删除任务执行。

HTTPS (6)

请求语法:

DELETE /things/thingName/jobs/jobId/executionNumber/executionNumber?force=force
URI 请求参数:

名称

类型

请求?

说明

jobId

JobId

将删除其执行的任务的 ID。

thingName

ThingName

将删除其任务执行的事物的名称。

executionNumber

ExecutionNumber

要删除的任务执行的 ID。

force

ForceFlag

no

当为 true 时,您可以删除状态为 IN_PROGRESS 的任务执行。否则,您只能删除处于最终状态(SUCCEEDED、FAILED、TIMED_OUT、REJECTED、REMOVED 或 CANCELED)的任务执行,否则会出现异常。默认为 false。

注意

删除状态为 IN_PROGRESS 的任务执行将导致设备无法访问任务信息或更新任务执行状态。请谨慎使用,并且确保设备能够恢复到有效状态。

错误:

InvalidRequestException

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

HTTP 响应代码:400

InvalidStateTransitionException

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

HTTP 响应代码:409

ResourceNotFoundException

指定的资源不存在。

HTTP 响应代码:404

ThrottlingException

速率超过限制。

HTTP 响应代码:429

ServiceUnavailableException

服务暂时不可用。

HTTP 响应代码:503

CLI (6)

摘要:

aws iot delete-job-execution \ --job-id <value> \ --thing-name <value> \ --execution-number <value> \ [--force | --no-force] \ [--cli-input-json <value>] \ [--generate-cli-skeleton]

cli-input-json 格式:

{ "jobId": "string", "thingName": "string", "executionNumber": long, "force": boolean }
cli-input-json 字段:

名称

类型

说明

jobId

字符串

最大长度:64,最小长度:1

模式:[a-zA-Z0-9_-]+

将删除其执行的任务的 ID。

thingName

字符串

最大长度:128,最小长度:1

模式:[a-zA-Z0-9:_-]+

将删除其任务执行的事物的名称。

executionNumber

long

java 类:java.lang.Long

要删除的任务执行的 ID。

force

布尔值

当为 true 时,您可以删除状态为 IN_PROGRESS 的任务执行。否则,您只能删除处于最终状态(SUCCEEDED、FAILED、TIMED_OUT、REJECTED、REMOVED 或 CANCELED)的任务执行,否则会出现异常。默认为 false。

注意

删除状态为 IN_PROGRESS 的任务执行将导致设备无法访问任务信息或更新任务执行状态。请谨慎使用,并且确保设备能够恢复到有效状态。

输出:

DescribeJob

DescribeJob command

获取指定任务的详细信息。

HTTPS (7)

请求:

GET /jobs/jobId
jobId

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

响应:

{ "documentSource": "string", "job": Job }
documentSource

指向任务文档的 Amazon S3 链接。

job

一个 Job 对象。

CLI (7)

摘要:

aws iot describe-job \ --job-id <value> \ [--cli-input-json <value>] \ [--generate-cli-skeleton]

cli-input-json 格式:

{ "jobId": "string" }
cli-input-json 字段:

名称

类型

说明

jobId

字符串

最大长度:64,最小长度:1

模式:[a-zA-Z0-9_-]+

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

输出:

{ "documentSource": "string", "job": { "jobArn": "string", "jobId": "string", "targetSelection": "string", "status": "string", "forceCanceled": boolean, "comment": "string", "targets": [ "string" ], "description": "string", "jobTemplateArn": "string", "presignedUrlConfig": { "roleArn": "string", "expiresInSec": long }, "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 } ] }, "createdAt": "timestamp", "lastUpdatedAt": "timestamp", "completedAt": "timestamp", "jobProcessDetails": { "processingTargets": [ "string" ], "numberOfCanceledThings": "integer", "numberOfSucceededThings": "integer", "numberOfFailedThings": "integer", "numberOfRejectedThings": "integer", "numberOfQueuedThings": "integer", "numberOfInProgressThings": "integer", "numberOfRemovedThings": "integer", "numberOfTimedOutThings": "integer" }, "documentParameters": { "string": "string" }, "timeoutConfig": { "inProgressTimeoutInMinutes": number } } }
CLI 输出字段:

名称

类型

说明

documentSource

字符串

最大长度:1350,最小长度:1

指向任务文档的 Amazon S3 链接。

任务

任务

该任务的相关信息。

jobArn

字符串

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

jobId

字符串

最大长度:64,最小长度:1

模式:[a-zA-Z0-9_-]+

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

targetSelection

字符串

枚举:CONTINUOUS | SNAPSHOT

指定任务是继续运行 (CONTINUOUS),还是在指定为目标的所有事物完成任务后完成 (SNAPSHOT)。如果继续运行,则在检测到目标中出现更改时,任务也会在事物上运行。例如,当代表设备的事物添加到目标组时,会在该设备上运行任务,即使是组中原有的全部事物已经完成了任务。

status

字符串

枚举:IN_PROGRESS | CANCELED | SUCCEEDED

任务的状态,为 IN_PROGRESSCANCELEDSUCCEEDED 之一。

forceCanceled

布尔值

java 类:java.lang.Boolean

如果在取消任务时将可选的 true 参数设置为 force,则为 true

comment

字符串

最大长度:2028

模式:[^\\p{C}]+

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

targets

list

成员:TargetArn

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

TargetArn

字符串

description

字符串

最大长度:2028

模式:[^\\p{C}]+

任务的简短文本描述。

jobTemplateArn

字符串

最大长度:1600

模式:^arn:[!-~]+$

用于创建任务的任务模板的 ARN。

presignedUrlConfig

PresignedUrlConfig

预签名 Amazon S3 URL 的配置。

roleArn

字符串

最大长度:2048,最小长度:20

IAM 角色的 ARN,该角色授予从存储任务数据或更新的 Amazon S3 存储桶下载文件的权限。该角色还必须向 Amazon IoT Jobs 服务授予下载文件的权限。

expiresInSec

long

java 类:java.lang.Long

范围 – 最大值:3600,最小值:60

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

jobExecutionsRolloutConfig

JobExecutionsRolloutConfig

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

maximumPerMinute

integer

java 类:java.lang.Integer

范围 – 最大值:1000,最小值:1

每分钟接收待处理任务通知的事物的最大数量。此参数允许您创建分段推出。

exponentialRate

ExponentialRolloutRate

任务推出的增速。此参数允许您定义任务推出的指数速率。

baseRatePerMinute

java 类:java.lang.Integer

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

incrementFactor

java 类:java.lang.Double

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

rateIncreaseCriteria

RateIncreaseCriteria

允许您定义启动任务推出速率提高的条件。设置 numberOfNotifiedThingsnumberOfSucceededThings 的值,但不能同时设置这两者。

numberOfNotifiedThings

java 类:java.lang.Double

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

numberOfSucceededThings

java 类:java.lang.Double

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

abortConfig

AbortConfig

允许您创建中止任务的条件。

criteriaList

AbortCriteria

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

操作

java 类:java.lang.String (CANCEL)

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

failureType

java 类:java.lang.String (FAILED | REJECTED | TIMED_OUT | ALL)

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

minNumberOfExecutedThings

java 类:java.lang.Integer)

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

thresholdPercentage

java 类:java.lang.Double)

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

Amazon IoT 最多支持小数点后两位(例如,支持 10.9 和 10.99,但不支持 10.999)。

createdAt

timestamp

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

lastUpdatedAt

timestamp

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

completedAt

timestamp

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

jobProcessDetails

JobProcessDetails

任务流程的详细信息。

processingTargets

list

成员:ProcessingTargetName

java 类:java.util.List

执行任务的设备。

ProcessingTargetName

字符串

numberOfCanceledThings

integer

java 类:java.lang.Integer

取消了任务的事物数。

numberOfSucceededThings

integer

java 类:java.lang.Integer

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

numberOfFailedThings

integer

java 类:java.lang.Integer

任务执行失败的事物数。

numberOfRejectedThings

integer

java 类:java.lang.Integer

拒绝了任务的事物数。

numberOfQueuedThings

integer

java 类:java.lang.Integer

等待任务执行的事物数。

numberOfInProgressThings

integer

java 类:java.lang.Integer

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

numberOfRemovedThings

integer

java 类:java.lang.Integer

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

numberOfTimedOutThings

integer

java 类:java.lang.Integer

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

documentParameters

映射

键:ParameterKey

值:ParameterValue

为任务文档指定的参数。

ParameterKey

字符串

最大长度:128,最小长度:1

模式:[a-zA-Z0-9:_-]+

ParameterValue

字符串

最大长度:1024,最小长度:1

模式:[^\\p{C}]+

timeoutConfig

TimeoutConfig

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

inProgressTimeoutInMinutes

long

指定此设备完成该任务执行所具有的时间,以分钟为单位。超时间隔可以为 1 分钟到 7 天(1 到 10080 分钟)之间的任意长度。进行中计时器无法更新,将应用到该任务的全部任务执行。只要任务执行保持在 IN_PROGRESS 状态的时间长度超过了此间隔,任务执行将失败,并切换为最终 TIMED_OUT 状态。

DescribeJobExecution

DescribeJobExecution command

获取任务执行的详细信息。任务的执行状态必须为 SUCCEEDEDFAILED

HTTPS (8)

请求:

GET /things/thingName/jobs/jobId?executionNumber=executionNumber
jobId

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

thingName

与正在运行任务执行的设备关联的事物名称。

executionNumber

可选。用于指定设备上的任务执行的数字。(请参阅 JobExecution。) 如果未指定,则返回最新的任务执行。

响应:

{ "execution": { JobExecution } }
execution

一个 JobExecution 对象。

CLI (8)

摘要:

aws iot describe-job-execution \ --job-id <value> \ --thing-name <value> \ [--execution-number <value>] \ [--cli-input-json <value>] \ [--generate-cli-skeleton]

cli-input-json 格式:

{ "jobId": "string", "thingName": "string", "executionNumber": long }
cli-input-json 字段:

名称

类型

说明

jobId

字符串

最大长度:64,最小长度:1

模式:[a-zA-Z0-9_-]+

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

thingName

字符串

最大长度:128,最小长度:1

模式:[a-zA-Z0-9:_-]+

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

executionNumber

long

java 类:java.lang.Long

一个由从“0”到“9”的数字组成的字符串,用于指定特定设备上的特定任务执行。

输出:

{ "execution": { "approximateSecondsBeforeTimedOut": "number" "jobId": "string", "status": "string", "forceCanceled": boolean, "statusDetails": { "detailsMap": { "string": "string" } }, "thingArn": "string", "queuedAt": "timestamp", "startedAt": "timestamp", "lastUpdatedAt": "timestamp", "executionNumber": long, "versionNumber": long } }
CLI 输出字段:

名称

类型

说明

execution

JobExecution

任务执行的相关信息。

approximateSecondsBeforeTimedOut

long

任务执行状态更改为 TIMED_OUT 之前估计剩余的秒数。超时间隔可以为 1 分钟到 7 天(1 到 10080 分钟)之间的任意长度。实际任务执行超时可能晚于估计的持续时间最多 60 秒。如果任务执行进入了最终状态,则不包括此值。

jobId

字符串

最大长度:64,最小长度:1

模式:[a-zA-Z0-9_-]+

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

status

字符串

枚举:QUEUED | IN_PROGRESS | SUCCEEDED | FAILED | TIMED_OUT | REJECTED | REMOVED | CANCELED

任务执行的状态(IN_PROGRESS、QUEUED、FAILED、SUCCEEDED、TIMED_OUT、CANCELED 或 REJECTED)。

forceCanceled

布尔值

java 类:java.lang.Boolean

如果在取消任务执行时将可选的 true 参数设置为 force,则为 true

statusDetails

JobExecutionStatusDetails

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

detailsMap

映射

键:DetailsKey

值:DetailsValue

任务执行状态。

DetailsKey

字符串

最大长度:128,最小长度:1

模式:[a-zA-Z0-9:_-]+

DetailsValue

字符串

最大长度:1024,最小长度:1

模式:[^\\p{C}]*+

thingArn

字符串

正在运行任务执行的事物的 ARN。

queuedAt

timestamp

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

startedAt

timestamp

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

lastUpdatedAt

timestamp

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

executionNumber

long

java 类:java.lang.Long

一个由从“0”到“9”的数字组成的字符串,用于标识此设备上的该任务执行。它可在返回或更新任务执行信息的命令中使用。

versionNumber

long

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

GetJobDocument

GetJobDocument command

获取任务的任务文档。

注意

占位符 URL 不会替换为返回文档中的预签名 Amazon S3 URL。仅在 Amazon IoT Jobs 服务通过 MQTT 接收请求时生成预签名 URL。

HTTPS (9)

请求:

GET /jobs/jobId/job-document
jobId

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

响应:

{ "document": "string" }
document

任务文档内容。

CLI (9)

摘要:

aws iot get-job-document \ --job-id <value> \ [--cli-input-json <value>] \ [--generate-cli-skeleton]

cli-input-json 格式:

{ "jobId": "string" }
cli-input-json 字段:

名称

类型

说明

jobId

字符串

最大长度:64,最小长度:1

模式:[a-zA-Z0-9_-]+

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

输出:

{ "document": "string" }
CLI 输出字段:

名称

类型

说明

文档

字符串

最大长度:32768

任务文档内容。

ListJobExecutionsForJob

ListExecutionsForJob command

获取任务的任务执行的列表。

HTTPS (10)

请求:

GET /jobs/jobId/things?status=status&maxResults=maxResults&nextToken=nextToken
jobId

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

status

可选。可用于搜索具有指定状态的任务的筛选条件:QUEUED、IN_PROGRESS、SUCCEEDED、FAILED、TIMED_OUT、REJECTED、REMOVED 或 CANCELED。

maxResults

可选。每个请求返回的最大结果数。

nextToken

可选。用于检索下一组结果的令牌。

响应:

{ "executionSummaries": [ JobExecutionSummary ... ] }
executionSummaries

与指定的任务 ID 关联的 JobExecutionSummary 对象的列表。

CLI (10)

摘要:

aws iot list-job-executions-for-job \ --job-id <value> \ [--status <value>] \ [--max-results <value>] \ [--next-token <value>] \ [--cli-input-json <value>] \ [--generate-cli-skeleton]

cli-input-json 格式:

{ "jobId": "string", "status": "string", "maxResults": "integer", "nextToken": "string" }
cli-input-json 字段:

名称

类型

说明

jobId

字符串

最大长度:64,最小长度:1

模式:[a-zA-Z0-9_-]+

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

status

字符串

枚举:QUEUED | IN_PROGRESS | SUCCEEDED | FAILED | TIMED_OUT | REJECTED | REMOVED | CANCELED

任务的状态。

maxResults

integer

java 类:java.lang.Integer

范围 - 最大值:250,最小值:1

每个请求返回的最大结果数。

nextToken

字符串

用于检索下一组结果的令牌。

输出:

{ "executionSummaries": [ { "thingArn": "string", "jobExecutionSummary": { "status": "string", "queuedAt": "timestamp", "startedAt": "timestamp", "lastUpdatedAt": "timestamp", "executionNumber": long } } ], "nextToken": "string" }
CLI 输出字段:

名称

类型

说明

executionSummaries

list

成员:JobExecutionSummaryForJob

java 类:java.util.List

任务执行摘要的列表。

JobExecutionSummaryForJob

JobExecutionSummaryForJob

thingArn

字符串

正在运行任务执行的事物的 ARN。

jobExecutionSummary

JobExecutionSummary

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

status

字符串

枚举:QUEUED | IN_PROGRESS | SUCCEEDED | FAILED | TIMED_OUT | REJECTED | REMOVED | CANCELED

任务执行的状态。

queuedAt

timestamp

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

startedAt

timestamp

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

lastUpdatedAt

timestamp

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

executionNumber

long

java 类:java.lang.Long

一个由从“0”到“9”的数字组成的字符串,用于标识此设备上的该任务执行。它可随后在返回或更新任务执行信息的命令中使用。

nextToken

字符串

下一组结果的令牌,没有更多结果时为 null

ListJobExecutionsForThing

ListJobExecutionsForThing command

获取事物的任务执行的列表。

HTTPS (11)

请求:

GET /things/thingName/jobs?status=status&maxResults=maxResults&nextToken=nextToken
thingName

将列出其 JobExecutions 的事物的名称。

status

可用于搜索具有指定状态的任务的可选筛选条件:QUEUED、IN_PROGRESS、SUCCEEDED、FAILED、TIMED_OUT、REJECTED、REMOVED 或 CANCELED。

maxResults

每个请求返回的最大结果数。

nextToken

下一组结果的令牌,没有更多结果时为 null

响应:

{ "executionSummaries": [ JobExecutionSummary ... ] }
executionSummaries

与指定事物关联的任务执行的 JobExecutionSummary 对象的列表。

CLI (11)

摘要:

aws iot list-job-executions-for-thing \ --thing-name <value> \ [--status <value>] \ [--max-results <value>] \ [--next-token <value>] \ [--cli-input-json <value>] \ [--generate-cli-skeleton]

cli-input-json 格式:

{ "thingName": "string", "status": "string", "maxResults": "integer", "nextToken": "string" }
cli-input-json 字段:

名称

类型

说明

thingName

字符串

最大长度:128,最小长度:1

模式:[a-zA-Z0-9:_-]+

事物名称。

status

字符串

枚举:QUEUED | IN_PROGRESS | SUCCEEDED | FAILED | TIMED_OUT | REJECTED | REMOVED | CANCELED

一个可选筛选条件,允许您搜索具有指定状态的任务。

maxResults

integer

java 类:java.lang.Integer

范围 - 最大值:250,最小值:1

每个请求返回的最大结果数。

nextToken

字符串

用于检索下一组结果的令牌。

输出:

{ "executionSummaries": [ { "jobId": "string", "jobExecutionSummary": { "status": "string", "queuedAt": "timestamp", "startedAt": "timestamp", "lastUpdatedAt": "timestamp", "executionNumber": long } } ], "nextToken": "string" }
CLI 输出字段:

名称

类型

说明

executionSummaries

list

成员:JobExecutionSummaryForThing

java 类:java.util.List

任务执行摘要的列表。

JobExecutionSummaryForThing

JobExecutionSummaryForThing

jobId

字符串

最大长度:64,最小长度:1

模式:[a-zA-Z0-9_-]+

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

jobExecutionSummary

JobExecutionSummary

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

status

字符串

枚举:QUEUED | IN_PROGRESS | SUCCEEDED | FAILED | TIMED_OUT | REJECTED | REMOVED | CANCELED

任务执行的状态。

queuedAt

timestamp

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

startedAt

timestamp

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

lastUpdatedAt

timestamp

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

executionNumber

long

java 类:java.lang.Long

一个由从“0”到“9”的数字组成的字符串,用于标识此设备上的该任务执行。它可随后在返回或更新任务执行信息的命令中使用。

nextToken

字符串

下一组结果的令牌,没有更多结果时为 null

ListJobs

ListJobs command

获取 Amazon Web Services 账户 中的任务列表。

HTTPS (12)

请求:

GET /jobs?status=status&targetSelection=targetSelection&thingGroupName=thingGroupName&thingGroupId=thingGroupId&maxResults=maxResults&nextToken=nextToken
status

可选。可用于搜索具有指定状态的任务的筛选条件:IN_PROGRESS、CANCELED、COMPLETED 或 SUCCEEDED。

targetSelection

可选。可用于搜索具有指定 targetSelection 值的任务的筛选条件:CONTINUOUS 或 SNAPSHOT。

thingGroupName

可选。可用于搜索具有指定事物组名称作为目标的任务的筛选条件。

thingGroupId

可选。可用于搜索具有指定事物组 ID 作为目标的任务的筛选条件。

maxResults

可选。每个请求返回的最大结果数。

nextToken

可选。用于检索下一组结果的令牌。

响应:

{ "jobs": [ JobSummary ... ], }
jobs

JobSummary 对象的列表,每个对象对应于 Amazon Web Services 账户 中的一个匹配指定筛选条件的任务。

CLI (12)

摘要:

aws iot list-jobs \ [--status <value>] \ [--target-selection <value>] \ [--max-results <value>] \ [--next-token <value>] \ [--thing-group-name <value>] \ [--thing-group-id <value>] \ [--cli-input-json <value>] \ [--generate-cli-skeleton]

cli-input-json 格式:

{ "status": "string", "targetSelection": "string", "maxResults": "integer", "nextToken": "string", "thingGroupName": "string", "thingGroupId": "string" }
cli-input-json 字段:

名称

类型

说明

status

字符串

枚举:IN_PROGRESS | CANCELED | SUCCEEDED

一个可选筛选条件,允许您搜索具有指定状态的任务。

targetSelection

字符串

枚举:CONTINUOUS | SNAPSHOT

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

maxResults

integer

java 类:java.lang.Integer

范围 - 最大值:250,最小值:1

每个请求返回的最大结果数。

nextToken

字符串

用于检索下一组结果的令牌。

thingGroupName

字符串

最大长度:128,最小长度:1

模式:[a-zA-Z0-9:_-]+

一个筛选条件,用于将返回的任务限制为指定组的任务。

thingGroupId

字符串

最大长度:128,最小长度:1

模式:[a-zA-Z0-9-]+

一个筛选条件,用于将返回的任务限制为指定组的任务。

输出:

{ "jobs": [ { "jobArn": "string", "jobId": "string", "thingGroupId": "string", "targetSelection": "string", "status": "string", "createdAt": "timestamp", "lastUpdatedAt": "timestamp", "completedAt": "timestamp" } ], "nextToken": "string" }
CLI 输出字段:

名称

类型

说明

jobs

list

成员:Job Summary

java 类:java.util.List

任务列表。

JobSummary

JobSummary

jobArn

字符串

任务 ARN。

jobId

字符串

最大长度:64,最小长度:1

模式:[a-zA-Z0-9_-]+

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

thingGroupId

字符串

最大长度:128,最小长度:1

模式:[a-zA-Z0-9-]+

事物组的 ID。

targetSelection

字符串

枚举:CONTINUOUS | SNAPSHOT

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

status

字符串

枚举:IN_PROGRESS | CANCELED | SUCCEEDED

任务摘要状态。

createdAt

timestamp

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

lastUpdatedAt

timestamp

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

completedAt

timestamp

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

nextToken

字符串

下一组结果的令牌,没有更多结果时为 null

UpdateJob

UpdateJob command

更新指定任务的受支持字段。timeoutConfig 的更新值仅对新的正在进行的执行有效。当前正在进行的执行继续使用旧超时配置执行。

HTTPS (13)

请求:

PATCH /jobs/jobId { "description": "string", "presignedUrlConfig": { "expiresInSec": number, "roleArn": "string" }, "jobExecutionsRolloutConfig": { "exponentialRate": { "baseRatePerMinute": number, "incrementFactor": number, "rateIncreaseCriteria": { "numberOfNotifiedThings": number, "numberOfSucceededThings": number }, "maximumPerMinute": number }, "abortConfig": { "criteriaList": [ { "action": "string", "failureType": "string", "minNumberOfExecutedThings": number, "thresholdPercentage": number } ] }, "timeoutConfig": { "inProgressTimeoutInMinutes": number } }
jobId

一个任务标识符,它对您的Amazon必须是唯一的。我们建议使用 UUID。此处可以使用字母数字字符、“-”和“_”。

description

可选。任务的简短文本描述。

presignedUrlConfigData

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

roleArn

包含 Amazon S3 存储桶的访问权限的 IAM 角色的 ARN。这是包含设备通过预签名 Amazon S3 URL 下载的数据的存储桶。该角色还必须向 Amazon IoT 授予代入角色的权限。有关更多信息,请参阅 创建任务

expiresInSec

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

jobExecutionRolloutConfig

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

maximumPerMinute

每分钟将任务发送到用于执行任务的事物的最大数量。有效值为 1 到 1000. 如果未指定,默认值为 1000。在任何特定的分钟间隔内接收任务的事物的实际数量可能会少一些(由于系统延迟),但不会超过指定的值。

exponentialRate

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

baseRatePerMinute

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

incrementFactor

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

rateIncreaseCriteria

启动任务推出速率提高的条件。设置 numberOfNotifiedThingsnumberOfSucceededThings 的值,但不能同时设置这两者。

numberOfNotifiedThings

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

numberOfSucceededThings

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

abortConfig

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

criteriaList

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

action

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

failureType

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

minNumberOfExecutedThings

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

thresholdPercentage

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

timeoutConfig

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

inProgressTimeoutInMinutes

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

响应:

HTTP/1.1 200

如果此操作成功,则该服务会发送回带有空 HTTP 正文的 HTTP 200 响应。

CLI (13)

摘要:

aws iot update-job \ --job-id <value> \ [--description <value>] \ [--presigned-url-config <value>] \ [--job-executions-rollout-config <value>] \ [--abort-config <value>] \ [--timeout-config <value>] \ [--cli-input-json <value>] \ [--generate-cli-skeleton]

cli-input-json 格式:

{ "description": "string", "presignedUrlConfig": { "expiresInSec": number, "roleArn": "string" }, "jobExecutionsRolloutConfig": { "exponentialRate": { "baseRatePerMinute": number, "incrementFactor": number, "rateIncreaseCriteria": { "numberOfNotifiedThings": number, "numberOfSucceededThings": number } }, "maximumPerMinute": number }, "abortConfig": { "criteriaList": [ { "action": "string", "failureType": "string", "minNumberOfExecutedThings": number, "thresholdPercentage": number } ] }, "timeoutConfig": { "inProgressTimeoutInMinutes": number } }
cli-input-json 字段:

名称

类型

说明

jobId

字符串

最大长度:64,最小长度:1

模式:[a-zA-Z0-9_-]+

一个任务标识符,它对您的 Amazon Web Services 账户 必须是唯一的。我们建议使用 UUID。此处可以使用字母数字字符、“-”和“_”。

description

字符串

最大长度:2028

模式:[^\\p{C}]+

任务的简短文本描述。

presignedUrlConfig

PresignedUrlConfig

预签名 S3 URL 的配置信息。

roleArn

字符串

最大长度:2048,最小长度:20

IAM 角色的 ARN,该角色授予从存储任务数据或更新的 S3 存储桶下载文件的权限。该角色还必须向 Amazon IoT 授予下载文件的权限。

expiresInSec

long

java 类:java.lang.Long

范围 – 最大值:3600,最小值:60

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

jobExecutionsRolloutConfig

JobExecutionsRolloutConfig

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

maximumPerMinute

integer

java 类:java.lang.Integer

范围 – 最大值:1000,最小值:1

每分钟接收待处理任务通知的事物的最大数量。此参数允许您创建分段推出。

exponentialRate

ExponentialRolloutRate

任务推出的增速。此参数允许您定义任务推出的指数速率。

baseRatePerMinute

java 类:java.lang.Integer

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

incrementFactor

java 类:java.lang.Double

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

rateIncreaseCriteria

RateIncreaseCriteria

允许您定义启动任务推出速率提高的条件。设置 numberOfNotifiedThingsnumberOfSucceededThings 的值,但不能同时设置这两者。

numberOfNotifiedThings

java 类:java.lang.Double

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

numberOfSucceededThings

java 类:java.lang.Double

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

abortConfig

AbortConfig

允许您创建中止任务的条件。

criteriaList

AbortCriteria

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

操作

java 类:java.lang.String (CANCEL)

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

failureType

java 类:java.lang.String (FAILED | REJECTED | TIMED_OUT | ALL)

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

minNumberOfExecutedThings

java 类:java.lang.Integer)

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

thresholdPercentage

java 类:java.lang.Double)

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

Amazon IoT 最多支持小数点后两位(例如,支持 10.9 和 10.99,但不支持 10.999)。

timeoutConfig

TimeoutConfig

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

inProgressTimeoutInMinutes

long

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

documentParameters

映射

键:ParameterKey

值:ParameterValue

任务文档的参数。

ParameterKey

字符串

最大长度:128,最小长度:1

模式:[a-zA-Z0-9:_-]+

ParameterValue

字符串

最大长度:1024,最小长度:1

模式:[^\\p{C}]+

输出:

HTTP/1.1 200

如果此操作成功,则该服务会发送回带有空 HTTP 正文的 HTTP 200 响应。