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

任务推出和中止配置

Amazon IoT在满足各种条件和阈值时,可使用可变推出速率部署 任务。如果失败任务的数量与一组条件匹配,也可以中止任务推出。这些推出配置使您能够更精细地控制任务的影响范围。在创建任务时通过 JobExecutionsRolloutConfig 对象设置任务推出速率条件。在创建任务时通过 AbortConfig 对象设置任务中止条件。

使用任务推出速率

您可以通过在运行 CreateJob API 时配置 JobExecutionsRolloutConfig 对象的 ExponentialRolloutRate 属性,以设置任务推出率。以下示例使用 exponentialRate 参数设置可变推出速率。

{ ... "jobExecutionsRolloutConfig": { "exponentialRate": { "baseRatePerMinute": 50, "incrementFactor": 2, "rateIncreaseCriteria": { "numberOfNotifiedThings": 1000, "numberOfSucceededThings": 1000 }, "maximumPerMinute": 1000 } } ... }

baseRatePerMinute 参数指定在达到 numberOfNotifiedThingsnumberOfSucceededThings 阈值之前任务的执行速率。

incrementFactor 参数指定在达到 numberOfNotifiedThingsnumberOfSucceededThings 阈值后推出速率提高所采用的指数因子。

rateIncreaseCriteria 参数是指定 numberOfNotifiedThingsnumberOfSucceededThings 阈值的对象。

maximumPerMinute 参数指定任务执行的速率上限。有效值范围为 1 至 1000。在传递 ExponentialRate 对象时,此参数是必需的。在可变速率推出中,此值确定任务推出速率的上限。

具有上述配置的任务推出将以每分钟 50 个任务执行的速率开始。它将继续采用该速率,直到 1000 个事物收到了任务执行通知(如果指定了 numberOfNotifiedThings 的值)或出现了 1000 个成功的任务执行(如果指定了 numberOfSucceededThings 的值)。

下表说明了推出将如何通过前四个增量继续。

每分钟的推出速率

50

100

200

400

被通知设备或成功执行的数量

1000

2000

3000

4000

以下配置设置静态推出速率。

{ ... "jobExecutionsRolloutConfig": { "maximumPerMinute": 1000 ... }

maximumPerMinute 参数指定任务执行的速率上限。有效值范围为 1 至 1000。此参数为可选项。如果您未指定值,则将使用默认值 1000。

使用任务推出中止配置

您可以通过在运行运行 CreateJob API 时配置可选的 AbortConfig 对象,以设置任务中止条件。此部分介绍以下示例配置对遇到多个失败执行的任务推出的影响。

"abortConfig": { "criteriaList": [ { "action": "CANCEL", "failureType": "FAILED", "minNumberOfExecutedThings": 100, "thresholdPercentage": 20 }, { "action": "CANCEL", "failureType": "TIMED_OUT", "minNumberOfExecutedThings": 200, "thresholdPercentage": 50 } ] }

action 参数指定满足中止条件时要采取的操作。此参数是必需的,并且 CANCEL 是唯一的有效值。

failureType 参数指定哪些失败类型应触发任务中止。有效值为 FAILEDREJECTEDTIMED_OUTALL

minNumberOfExecutedThings 参数指定在服务检查是否已满足任务中止条件之前必须发生的已完成任务执行的数量。在此示例中,Amazon IoT 直到至少 100 个设备已完成任务执行时才检查是否应执行任务中止。

thresholdPercentage 参数指定启动任务中止的执行事物的总数。在此示例中,如果在完成 100 个执行后所有已完成执行中至少有 20% 以任何方式失败,Amazon IoT 将启动任务中止并取消任务推出。

注意

删除任务执行将影响已完成执行总数的计算值。当任务中止时,服务会创建自动的 commentreasonCode 以将用户驱动的取消与任务中止取消区分开来。