Menu
AWS IoT
API Reference

CreateJob

Creates a job.

Request Syntax

PUT /jobs/jobId HTTP/1.1
Content-type: application/json

{
   "description": "string",
   "document": "string",
   "documentParameters": { 
      "string" : "string" 
   },
   "documentSource": "string",
   "jobExecutionsRolloutConfig": { 
      "maximumPerMinute": number
   },
   "presignedUrlConfig": { 
      "expiresInSec": number,
      "roleArn": "string"
   },
   "targets": [ "string" ],
   "targetSelection": "string"
}

URI Request Parameters

The request requires the following URI parameters.

jobId

A job identifier which must be unique for your AWS account. We recommend using a UUID. Alpha-numeric characters, "-" and "_" are valid for use here.

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

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

Request Body

The request accepts the following data in JSON format.

description

A short text description of the job.

Type: String

Length Constraints: Maximum length of 2028.

Pattern: [^\p{C}]+

Required: No

document

The job document.

Type: String

Length Constraints: Maximum length of 32768.

Required: No

documentParameters

Parameters for the job document.

Type: String to string map

Key Length Constraints: Minimum length of 1. Maximum length of 128.

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

Value Length Constraints: Minimum length of 1. Maximum length of 1024.

Value Pattern: [^\p{C}]+

Required: No

documentSource

An S3 link to the job document.

Type: String

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

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

targets

A list of things and thing groups to which the job should be sent.

Type: Array of strings

Array Members: Minimum number of 1 item.

Required: Yes

targetSelection

Specifies whether the job will continue to run (CONTINUOUS), or will be complete after all those things specified as targets have completed the job (SNAPSHOT). If continuous, the job may also be run on a thing when a change is detected in a target. For example, a job will run on a thing when the thing is added to a target group, even after the job was completed by all things originally in the group.

Type: String

Valid Values: CONTINUOUS | SNAPSHOT

Required: No

Response Syntax

HTTP/1.1 200
Content-type: application/json

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

Response Elements

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

The following data is returned in JSON format by the service.

description

The job description.

Type: String

Length Constraints: Maximum length of 2028.

Pattern: [^\p{C}]+

jobArn

The job ARN.

Type: String

jobId

The unique identifier you assigned to this job.

Type: String

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

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

Errors

InvalidRequestException

The request is not valid.

HTTP Status Code: 400

LimitExceededException

The number of attached entities exceeds the limit.

HTTP Status Code: 410

ResourceAlreadyExistsException

The resource already exists.

HTTP Status Code: 409

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: 429

See Also

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