IoT / Client / update_job
update_job¶
- IoT.Client.update_job(**kwargs)¶
- Updates supported fields of the specified job. - Requires permission to access the UpdateJob action. - See also: AWS API Documentation - Request Syntax- response = client.update_job( jobId='string', description='string', presignedUrlConfig={ 'roleArn': 'string', 'expiresInSec': 123 }, jobExecutionsRolloutConfig={ 'maximumPerMinute': 123, 'exponentialRate': { 'baseRatePerMinute': 123, 'incrementFactor': 123.0, 'rateIncreaseCriteria': { 'numberOfNotifiedThings': 123, 'numberOfSucceededThings': 123 } } }, abortConfig={ 'criteriaList': [ { 'failureType': 'FAILED'|'REJECTED'|'TIMED_OUT'|'ALL', 'action': 'CANCEL', 'thresholdPercentage': 123.0, 'minNumberOfExecutedThings': 123 }, ] }, timeoutConfig={ 'inProgressTimeoutInMinutes': 123 }, namespaceId='string', jobExecutionsRetryConfig={ 'criteriaList': [ { 'failureType': 'FAILED'|'TIMED_OUT'|'ALL', 'numberOfRetries': 123 }, ] } ) - Parameters:
- jobId (string) – - [REQUIRED] - The ID of the job to be updated. 
- description (string) – A short text description of the job. 
- presignedUrlConfig (dict) – - Configuration information for pre-signed S3 URLs. - roleArn (string) – - The ARN of an IAM role that grants permission to download files from the S3 bucket where the job data/updates are stored. The role must also grant permission for IoT to download the files. - Warning- For information about addressing the confused deputy problem, see cross-service confused deputy prevention in the Amazon Web Services IoT Core developer guide. 
- expiresInSec (integer) – - How long (in seconds) pre-signed URLs are valid. Valid values are 60 - 3600, the default value is 3600 seconds. Pre-signed URLs are generated when Jobs receives an MQTT request for the job document. 
 
- jobExecutionsRolloutConfig (dict) – - Allows you to create a staged rollout of the job. - maximumPerMinute (integer) – - The maximum number of things that will be notified of a pending job, per minute. This parameter allows you to create a staged rollout. 
- exponentialRate (dict) – - The rate of increase for a job rollout. This parameter allows you to define an exponential rate for a job rollout. - baseRatePerMinute (integer) – [REQUIRED] - The minimum number of things that will be notified of a pending job, per minute at the start of job rollout. This parameter allows you to define the initial rate of rollout. 
- incrementFactor (float) – [REQUIRED] - The exponential factor to increase the rate of rollout for a job. - Amazon Web Services IoT Core supports up to one digit after the decimal (for example, 1.5, but not 1.55). 
- rateIncreaseCriteria (dict) – [REQUIRED] - The criteria to initiate the increase in rate of rollout for a job. - numberOfNotifiedThings (integer) – - The threshold for number of notified things that will initiate the increase in rate of rollout. 
- numberOfSucceededThings (integer) – - The threshold for number of succeeded things that will initiate the increase in rate of rollout. 
 
 
 
- abortConfig (dict) – - Allows you to create criteria to abort a job. - criteriaList (list) – [REQUIRED] - The list of criteria that determine when and how to abort the job. - (dict) – - The criteria that determine when and how a job abort takes place. - failureType (string) – [REQUIRED] - The type of job execution failures that can initiate a job abort. 
- action (string) – [REQUIRED] - The type of job action to take to initiate the job abort. 
- thresholdPercentage (float) – [REQUIRED] - The minimum percentage of job execution failures that must occur to initiate the job abort. - Amazon Web Services IoT Core supports up to two digits after the decimal (for example, 10.9 and 10.99, but not 10.999). 
- minNumberOfExecutedThings (integer) – [REQUIRED] - The minimum number of things which must receive job execution notifications before the job can be aborted. 
 
 
 
- timeoutConfig (dict) – - 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.- inProgressTimeoutInMinutes (integer) – - Specifies the amount of time, in minutes, this device has to finish execution of this job. The timeout interval can be anywhere between 1 minute and 7 days (1 to 10080 minutes). The in progress timer can’t be updated and will apply to all job executions for the job. Whenever a job execution remains in the IN_PROGRESS status for longer than this interval, the job execution will fail and switch to the terminal - TIMED_OUTstatus.
 
- namespaceId (string) – - The namespace used to indicate that a job is a customer-managed job. - When you specify a value for this parameter, Amazon Web Services 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 - namespaceIdfeature is only supported by IoT Greengrass at this time. For more information, see Setting up IoT Greengrass core devices.
- jobExecutionsRetryConfig (dict) – - Allows you to create the criteria to retry a job. - criteriaList (list) – [REQUIRED] - The list of criteria that determines how many retries are allowed for each failure type for a job. - (dict) – - The criteria that determines how many retries are allowed for each failure type for a job. - failureType (string) – [REQUIRED] - The type of job execution failures that can initiate a job retry. 
- numberOfRetries (integer) – [REQUIRED] - The number of retries allowed for a failure type for the job. 
 
 
 
 
- Returns:
- None 
 - Exceptions- IoT.Client.exceptions.InvalidRequestException
- IoT.Client.exceptions.ResourceNotFoundException
- IoT.Client.exceptions.ThrottlingException
- IoT.Client.exceptions.ServiceUnavailableException