Add an HTTP target task to a Cloud Tasks queue

This quickstart shows you how to add an HTTP target task to a Cloud Tasks queue using the Cloud Tasks API.

Before you begin

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Install the Google Cloud CLI.

  3. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity .

  4. To initialize the gcloud CLI, run the following command:

    gcloud  
    init
  5. Create or select a Google Cloud project .

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID 
      

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID 
      

      Replace PROJECT_ID with your Google Cloud project name.

  6. Verify that billing is enabled for your Google Cloud project .

  7. Enable the Cloud Tasks API:

    gcloud  
    services  
     enable 
      
    cloudtasks.googleapis.com
  8. If you're using a local shell, then create local authentication credentials for your user account:

    gcloud  
    auth  
    application-default  
    login

    You don't need to do this if you're using Cloud Shell.

    If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity .

  9. Grant roles to your user account. Run the following command once for each of the following IAM roles: roles/cloudtasks.admin, roles/logging.viewer

    gcloud  
    projects  
    add-iam-policy-binding  
     PROJECT_ID 
      
    --member = 
     "user: USER_IDENTIFIER 
    " 
      
    --role = 
     ROLE 
    

    Replace the following:

    • PROJECT_ID : your project ID.
    • USER_IDENTIFIER : the identifier for your user account—for example, myemail@example.com .
    • ROLE : the IAM role that you grant to your user account.
  10. Install the Google Cloud CLI.

  11. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity .

  12. To initialize the gcloud CLI, run the following command:

    gcloud  
    init
  13. Create or select a Google Cloud project .

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID 
      

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID 
      

      Replace PROJECT_ID with your Google Cloud project name.

  14. Verify that billing is enabled for your Google Cloud project .

  15. Enable the Cloud Tasks API:

    gcloud  
    services  
     enable 
      
    cloudtasks.googleapis.com
  16. If you're using a local shell, then create local authentication credentials for your user account:

    gcloud  
    auth  
    application-default  
    login

    You don't need to do this if you're using Cloud Shell.

    If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity .

  17. Grant roles to your user account. Run the following command once for each of the following IAM roles: roles/cloudtasks.admin, roles/logging.viewer

    gcloud  
    projects  
    add-iam-policy-binding  
     PROJECT_ID 
      
    --member = 
     "user: USER_IDENTIFIER 
    " 
      
    --role = 
     ROLE 
    

    Replace the following:

    • PROJECT_ID : your project ID.
    • USER_IDENTIFIER : the identifier for your user account—for example, myemail@example.com .
    • ROLE : the IAM role that you grant to your user account.

Create a Cloud Tasks queue

Use the gcloud tasks queues create command to create your queue.

  1. In your terminal, create a queue that logs all operations.

     gcloud  
    tasks  
    queues  
    create  
     QUEUE_NAME 
      
     \ 
      
    --log-sampling-ratio = 
     1 
    .0  
     \ 
      
    --location = 
     REGION 
     
    

    Replace the following:

    • QUEUE_NAME : a name for your Cloud Tasks queue
    • REGION : the supported region you deployed your service or app in
  2. Wait for the queue to initialize and then verify that it was created successfully.

     gcloud  
    tasks  
    queues  
    describe  
     QUEUE_NAME 
      
     \ 
      
    --location = 
     REGION 
     
    

    The output should be similar to the following:

     name: projects/ PROJECT_ID 
    /locations/ LOCATION_ID 
    /queues/ QUEUE_NAME 
    rateLimits:
       maxBurstSize: 100
       maxConcurrentDispatches: 1000
       maxDispatchesPerSecond: 500.0
     retryConfig:
       maxAttempts: 100
       maxBackoff: 3600s
       maxDoublings: 16
       minBackoff: 0.100s
     state: RUNNING 
    

Add a task to the Cloud Tasks queue

Use the gcloud tasks create-http-task command to create a task that targets an HTTP endpoint and add the task to your queue.

  1. Create a task, add it to the queue you created, and deliver that task to an HTTP endpoint.

     gcloud  
    tasks  
    create-http-task  
     \ 
      
    --queue = 
     QUEUE_NAME 
      
     \ 
      
    --url = 
     URL_PATH 
      
     \ 
      
    --method = 
    GET  
     \ 
      
    --location = 
     REGION 
      
     \ 
      
    --project = 
     PROJECT_ID 
     
    

    Replace URL_PATH with the full URL path that the request will be sent to. For example: https://www.google.com

    The path must begin with either http:// or https:// .

  2. Verify that the task was executed successfully by reading the logs.

     gcloud  
    logging  
     read 
      
    --limit = 
     3 
     
    

    The logs should look similar to the following:

     jsonPayload:
    '@type': type.googleapis.com/google.cloud.tasks.logging.v1.TaskActivityLog
    task: projects/ PROJECT_ID 
    /locations/ REGION 
    /queues/ QUEUE_NAME 
    /tasks/ TASK_ID 
    taskCreationLog:
       scheduleTime: '2024-07-04T19:00:27.801837Z'
       status: OK
       targetAddress: GET https://www.google.com/
       targetType: HTTP 
    

Clean up

To avoid incurring charges to your Google Cloud account for the resources used on this page, delete the Google Cloud project with the resources.

Delete a Google Cloud project:

gcloud projects delete PROJECT_ID 

Alternatively, you can delete the Cloud Tasks queue:

 gcloud  
tasks  
queues  
delete  
 QUEUE_NAME 
  
 \ 
  
--location = 
 REGION 
 

What's next

Create a Mobile Website
View Site in Mobile | Classic
Share by: