UpdateJob - AWS IoT

UpdateJob

Updates supported fields of the specified job.

Requires permission to access the UpdateJob action.

Request Syntax

PATCH /jobs/jobId?namespaceId=namespaceId HTTP/1.1 Content-type: application/json { "abortConfig": { "criteriaList": [ { "action": "string", "failureType": "string", "minNumberOfExecutedThings": number, "thresholdPercentage": number } ] }, "description": "string", "jobExecutionsRetryConfig": { "criteriaList": [ { "failureType": "string", "numberOfRetries": number } ] }, "jobExecutionsRolloutConfig": { "exponentialRate": { "baseRatePerMinute": number, "incrementFactor": number, "rateIncreaseCriteria": { "numberOfNotifiedThings": number, "numberOfSucceededThings": number } }, "maximumPerMinute": number }, "presignedUrlConfig": { "expiresInSec": number, "roleArn": "string" }, "timeoutConfig": { "inProgressTimeoutInMinutes": number } }

URI Request Parameters

The request uses the following URI parameters.

jobId

The ID of the job to be updated.

Length Constraints: Minimum length of 1. Maximum length of 64.

Pattern: [a-zA-Z0-9_-]+

Required: Yes

namespaceId

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, AWS IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

Note

The namespaceId feature is only supported by AWS IoT Greengrass at this time. For more information, see Setting up AWS IoT Greengrass core devices.

Pattern: [a-zA-Z0-9_-]+

Request Body

The request accepts the following data in JSON format.

abortConfig

Allows you to create criteria to abort a job.

Type: AbortConfig object

Required: No

description

A short text description of the job.

Type: String

Length Constraints: Maximum length of 2028.

Pattern: [^\p{C}]+

Required: No

jobExecutionsRetryConfig

Allows you to create the criteria to retry a job.

Type: JobExecutionsRetryConfig object

Required: No

jobExecutionsRolloutConfig

Allows you to create a staged rollout of the job.

Type: JobExecutionsRolloutConfig object

Required: No

presignedUrlConfig

Configuration information for pre-signed S3 URLs.

Type: PresignedUrlConfig object

Required: No

timeoutConfig

Specifies the amount of time each device has to finish its execution of the job. The timer is started when the job execution status is set to IN_PROGRESS. If the job execution status is not set to another terminal state before the time expires, it will be automatically set to TIMED_OUT.

Type: TimeoutConfig object

Required: No

Response Syntax

HTTP/1.1 200

Response Elements

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

Errors

InvalidRequestException

The request is not valid.

HTTP Status Code: 400

ResourceNotFoundException

The specified resource does not exist.

HTTP Status Code: 404

ServiceUnavailableException

The service is temporarily unavailable.

HTTP Status Code: 503

ThrottlingException

The rate exceeds the limit.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: