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, Amazon 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 Amazon IoT Greengrass at this time. For more information, see Setting up Amazon 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 toTIMED_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 Amazon SDKs, see the following: