Method: projects.locations.queues.tasks.create

Creates a task and adds it to a queue.

Tasks cannot be updated after creation; there is no UpdateTask command.

HTTP request

POST https://cloudtasks.googleapis.com/v2beta3/{parent=projects/*/locations/*/queues/*}/tasks

The URL uses Google API HTTP annotation syntax.

Path parameters

Parameters
parent

string

Required.

The queue name. For example: projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID

The queue must already exist.

Authorization requires the following Google IAM permission on the specified resource parent:

  • cloudtasks.tasks.create

Request body

The request body contains data with the following structure:

JSON representation
{
  "task": {
    object(Task)
  },
  "responseView": enum(View)
}
Fields
task

object(Task)

Required.

The task to add.

Task names have the following format: projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID. The user can optionally specify a task name. If a name is not specified then the system will generate a random unique task id, which will be set in the task returned in the response.

If scheduleTime is not set or is in the past then Cloud Tasks will set it to the current time.

Task De-duplication:

Explicitly specifying a task ID enables task de-duplication. If a task's ID is identical to that of an existing task or a task that was deleted or executed recently then the call will fail with google.rpc.Code.ALREADY_EXISTS. If the task's queue was created using Cloud Tasks, then another task with the same name can't be created for ~1hour after the original task was deleted or executed. If the task's queue was created using queue.yaml or queue.xml, then another task with the same name can't be created for ~9days after the original task was deleted or executed.

Because there is an extra lookup cost to identify duplicate task names, these tasks.create calls have significantly increased latency. Using hashed strings for the task id or for the prefix of the task id is recommended. Choosing task ids that are sequential or have sequential prefixes, for example using a timestamp, causes an increase in latency and error rates in all task commands. The infrastructure relies on an approximately uniform distribution of task ids to store and serve tasks efficiently.

responseView

enum(View)

The responseView specifies which subset of the Task will be returned.

By default responseView is BASIC; not all information is retrieved by default because some data, such as payloads, might be desirable to return only when needed because of its large size or because of the sensitivity of data that it contains.

Authorization for FULL requires cloudtasks.tasks.fullView Google IAM permission on the Task resource.

Response body

If successful, the response body contains a newly created instance of Task.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-tasks

For more information, see the Authentication Overview.

Was this page helpful? Let us know how we did:

Send feedback about...

Cloud Tasks