Create Job

 

Updated: May 7, 2015

The Create Job request creates a new job.

The Create Job request is specified as follows. Replace <subscription-id> with your subscription ID, <cloud-service-id> with your cloud service ID, <job-collection-id> with the ID of the job collection, and <job-id> with the ID of the new job itself.

Method

Request URI

PUT

https://management.core.windows.net/<subscription-id>/cloudServices/<cloud-service-id>/resources/scheduler/~/jobCollections/<job-collection-id>/jobs/<job-id>?api-version=2014-04-01

If you do not want to include a job id, you can send a POST request and a job ID will be generated by the service instead.

The following table describes required and optional request headers.

Request Header

Description

x-ms-version

Required. Specifies the version of the operation to use for this request. This header should be set to 2013-06-01 or a later version.

Content-type

Required. The content type of the request body.

The format of a request body for a Scheduler HTTP job is as follows:




{
    "startTime": "2013-01-30T12:08:00-08:00",
    "action":
    {
        "type": "http",
        "request":
        {
            "uri": "http://bing.com/",
            "method": "GET",
            "headers": 
            {
                "Content-Type": "text/plain"
            }
        }
    },
    "recurrence":
    {
        "frequency": "minute",
        "interval": 30,
        "count": 10
    },
    "state": "enabled"
}



The format of a request body for a Scheduler storage queue job is as follows:


{
  "action": {
    "type": "storageQueue",
    "queueMessage": {
      "storageAccount": "testStorage",
      "queueName": "testQueue",
      "sasToken": "s?sv=2012-02-12&si=SchedulerAccessPolicy2%2F26%2F2014%207%3A30%3A45%20PM&sig=Cg%2BYX4KK31JexMD5Rl%2B6C7oeBzMG4dz9f2to8jS",
      "message": ""
    }
  },
  "recurrence": {
    "frequency": "day",
    "interval": 2
  }
}

All elements of the request body and its JSON payload are described in the topic Scheduler Concepts, Terminology, and Entity Hierarchy. To learn how to create a SAS token, refer to Create and Use a Shared Access Signature.

The response includes an HTTP status code, a set of response headers, and a response body.

A successful operation returns status code 201 (Created). When PUT overwrites the existing value for a job, a 200 (OK) is returned instead.

The response for this operation includes the following headers. The response may also include additional standard HTTP headers. All standard headers conform to the HTTP/1.1 protocol specification.

Response Header

Description

x-ms-request-id

A value that uniquely identifies a request made against the Management service. For an asynchronous operation, you can call get operation status with the value of the header to determine whether the operation is complete, has failed, or is still in progress. See Tracking Asynchronous Service Management Requests for more information.

The response is formatted as follows for a Scheduler HTTP job:


{
  "id": "job1",
  "startTime": "2013-01-30T20:08:00+00:00",
  "action": {
    "request": {
      "uri": "http:\/\/bing.com\/",
      "method": "GET",
      "headers": {
        "content-Type": "text\/plain"
      }
    },
    "type": "http"
  },
  "recurrence": {
    "frequency": "minute",
    "count": 10,
    "interval": 30
  },
  "state": "enabled"
}


The response is formatted as follows for a Scheduler storage queue job:


{
    "id": "testStorageJob",
    "action": {
        "queueMessage": {
            "storageAccount": "testStorage",
            "queueName": "testQueue",
            "sasToken": "s?sv=2012-02-12&si=SchedulerAccessPolicy2%2F26%2F2014%207%3A30%3A45%20PM&sig=Cg%2BYX4KK31JexMD5Rl%2B6C7oeBzMG4dz9f2to8jS",
            "message": ""
        },
        "type": "storageQueue"
    },
    "recurrence": {
        "frequency": "day",
        "interval": 2
    },
    "state": "enabled",
    "status": {
        "nextExecutionTime": "2014-04-16T18:29:50.412005Z",
        "executionCount": 0,
        "failureCount": 0,
        "faultedCount": 0
    }
}




Any management certificate associated with the subscription specified by <Subscription-Id> can be used to authenticate this operation. For additional details, see Authenticating Service Management Requests

To add authentication information and call an external service that requires authentication, please refer to the details in the topic Scheduler Outbound Authentication

To learn more how actions and error actions recur and are tried, please refer to Scheduler Concepts, Terminology, and Entity Hierarchy 

The following sample URI makes a request for fictional subscription named mysub and fictional cloud service mycs:


PUT https://management.core.windows.net/mysub/cloudServices/mycs/resources/scheduler/~/jobCollections/myjc/jobs/job1?api-version=2014-04-01


The request is sent with the following headers:


x-ms-version: 2013-06-01
Host: management.core.windows.net
Content-Type: application/json

The request is sent with the following body for a Scheduler HTTP job:



{
  "startTime": "2013-01-30T12:08:00-08:00",
  "action": {
    "type": "http",
    "request": {
      "uri": "http:\/\/bing.com\/",
      "method": "GET",
      "headers": {
        "Content-Type": "text\/plain"
      }
    }
  },
  "recurrence": {
    "frequency": "minute",
    "interval": 30,
    "count": 10
  },
  "state": "enabled"
}



Similarly, the request is sent with the following body for a Scheduler storage queue job:



{
  "action": {
    "type": "storageQueue",
    "queueMessage": {
      "storageAccount": "testStorage",
      "queueName": "testQueue",
      "sasToken": "s?sv=2012-02-12&si=SchedulerAccessPolicy2%2F26%2F2014%207%3A30%3A45%20PM&sig=Cg%2BYX4KK31JexMD5Rl%2B6C7oeBzMG4dz9f2to8jS",
      "message": ""
    }
  },
  "recurrence": {
    "frequency": "day",
    "interval": 2
  }
}


After the request has been sent, the following response is returned for the Scheduler HTTP job:


HTTP/1.1 201 Created
Cache-Control: no-cache
Pragma: no-cache
Content-Length: 252
Content-Type: application/json; charset=utf-8
Expires: -1
x-ms-servedbyregion: ussouth
x-ms-request-id: b033c32fecfa2374bcf134f4cfcff198
Date: Sat, 26 Oct 2013 23:42:18 GMT

{
  "id": "job1",
  "startTime": "2013-01-30T20:08:00+00:00",
  "action": {
    "request": {
      "uri": "http:\/\/bing.com\/",
      "method": "GET",
      "headers": {
        "content-Type": "text\/plain"
      }
    },
    "type": "http"
  },
  "recurrence": {
    "frequency": "minute",
    "count": 10,
    "interval": 30
  },
  "state": "enabled"
}




Similarly, the following response is returned for the Scheduler storage queue job:


HTTP/1.1 201 Created
Cache-Control: no-cache
Pragma: no-cache
Content-Length: 470
Content-Type: application/json; charset=utf-8
Expires: -1
Server: 1.0.6198.64 (rd_rdfe_stable.140410-1446) Microsoft-HTTPAPI/2.0
x-ms-servedbyregion: ussouth2
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
x-ms-request-id: 96b0ce532370889eae94dc77bf310bfa
Date: Wed, 16 Apr 2014 18:29:30 GMT

{
    "id": "testStorageJob",
    "action": {
        "queueMessage": {
            "storageAccount": "testStorage",
            "queueName": "testQueue",
            "sasToken": "s?sv=2012-02-12&si=SchedulerAccessPolicy2%2F26%2F2014%207%3A30%3A45%20PM&sig=Cg%2BYX4KK31JexMD5Rl%2B6C7oeBzMG4dz9f2to8jS",
            "message": ""
        },
        "type": "storageQueue"
    },
    "recurrence": {
        "frequency": "day",
        "interval": 2
    },
    "state": "enabled",
    "status": {
        "nextExecutionTime": "2014-04-16T18:29:50.412005Z",
        "executionCount": 0,
        "failureCount": 0,
        "faultedCount": 0
    }
}

Show: