Cloud Scheduler API Connector Overview

The Workflows connector defines the built-in functions that can be used to access other Google Cloud products within a workflow.

This page provides an overview of the individual connector. There is no need to import or load connector libraries in a workflow—connectors work out of the box when used in a call step.

Cloud Scheduler API

Creates and manages jobs run on a regular recurring schedule. To learn more, see the Cloud Scheduler API documentation .

Cloud Scheduler connector sample

YAML

  # This workflow demonstrates how to use the Cloud Scheduler connector: 
 # Create a Pub/Sub topic and subscription for notifications 
 # Create a Cloud Scheduler job that runs every minute and publishes 
 # a message to the Pub/Sub topic when finished 
 # Retrieve message from the subscription and then delete all resources 
 # Expected output: "SUCCESS" 
 - 
  
 init 
 : 
  
 assign 
 : 
  
 - 
  
 project_id 
 : 
  
 ${sys.get_env("GOOGLE_CLOUD_PROJECT_ID")} 
  
 - 
  
 location_id 
 : 
  
 "us-central1" 
  
 - 
  
 job_id 
 : 
  
 "example-job-id" 
  
 - 
  
 topic 
 : 
  
 "example-topic-id" 
  
 - 
  
 subscription 
 : 
  
 "example-subscription-id" 
 - 
  
 create_topic 
 : 
  
 call 
 : 
  
 googleapis.pubsub.v1.projects.topics.create 
  
 args 
 : 
  
 name 
 : 
  
 ${"projects/" + project_id + "/topics/" + topic} 
 - 
  
 create_subscription_to_topic 
 : 
  
 call 
 : 
  
 googleapis.pubsub.v1.projects.subscriptions.create 
  
 args 
 : 
  
 name 
 : 
  
 ${"projects/" + project_id + "/subscriptions/" + subscription} 
  
 body 
 : 
  
 name 
 : 
  
 ${"projects/" + project_id + "/subscriptions/" + subscription} 
  
 topic 
 : 
  
 ${"projects/" + project_id + "/topics/" + topic} 
 - 
  
 create_job 
 : 
  
 call 
 : 
  
 googleapis.cloudscheduler.v1.projects.locations.jobs.create 
  
 args 
 : 
  
 parent 
 : 
  
 ${"projects/" + project_id + "/locations/" + location_id} 
  
 body 
 : 
  
 name 
 : 
  
 ${"projects/" + project_id + "/locations/" + location_id + "/jobs/" + job_id} 
  
 description 
 : 
  
 "An 
  
 example 
  
 job 
  
 created 
  
 by 
  
 Workflows 
  
 to 
  
 test 
  
 the 
  
 Cloud 
  
 Scheduler 
  
 connector." 
  
 schedule 
 : 
  
 "* 
  
 * 
  
 * 
  
 * 
  
 *" 
  
 # runs job every minute 
  
 pubsubTarget 
 : 
  
 topicName 
 : 
  
 ${"projects/" + project_id + "/topics/" + topic} 
  
 attributes 
 : 
  
 job 
 : 
  
 "finished!" 
 - 
  
 sleep 
 : 
  
 call 
 : 
  
 sys.sleep 
  
 args 
 : 
  
 seconds 
 : 
  
 100 
  
 # sleeps for 100 seconds to allow job to run 
 - 
  
 pull_message 
 : 
  
 call 
 : 
  
 googleapis.pubsub.v1.projects.subscriptions.pull 
  
 args 
 : 
  
 subscription 
 : 
  
 ${"projects/" + project_id + "/subscriptions/" + subscription} 
  
 body 
 : 
  
 maxMessages 
 : 
  
 1 
 - 
  
 delete_job 
 : 
  
 call 
 : 
  
 googleapis.cloudscheduler.v1.projects.locations.jobs.delete 
  
 args 
 : 
  
 name 
 : 
  
 ${"projects/" + project_id + "/locations/" + location_id + "/jobs/" + job_id} 
 - 
  
 delete_subscription 
 : 
  
 call 
 : 
  
 googleapis.pubsub.v1.projects.subscriptions.delete 
  
 args 
 : 
  
 subscription 
 : 
  
 ${"projects/" + project_id + "/subscriptions/" + subscription} 
 - 
  
 delete_topic 
 : 
  
 call 
 : 
  
 googleapis.pubsub.v1.projects.topics.delete 
  
 args 
 : 
  
 topic 
 : 
  
 ${"projects/" + project_id + "/topics/" + topic} 
 - 
  
 the_end 
 : 
  
 return 
 : 
  
 "SUCCESS" 
 

JSON

  [ 
  
 { 
  
 "init" 
 : 
  
 { 
  
 "assign" 
 : 
  
 [ 
  
 { 
  
 "project_id" 
 : 
  
 "${sys.get_env(\"GOOGLE_CLOUD_PROJECT_ID\")}" 
  
 }, 
  
 { 
  
 "location_id" 
 : 
  
 "us-central1" 
  
 }, 
  
 { 
  
 "job_id" 
 : 
  
 "example-job-id" 
  
 }, 
  
 { 
  
 "topic" 
 : 
  
 "example-topic-id" 
  
 }, 
  
 { 
  
 "subscription" 
 : 
  
 "example-subscription-id" 
  
 } 
  
 ] 
  
 } 
  
 }, 
  
 { 
  
 "create_topic" 
 : 
  
 { 
  
 "call" 
 : 
  
 "googleapis.pubsub.v1.projects.topics.create" 
 , 
  
 "args" 
 : 
  
 { 
  
 "name" 
 : 
  
 "${\"projects/\" + project_id + \"/topics/\" + topic}" 
  
 } 
  
 } 
  
 }, 
  
 { 
  
 "create_subscription_to_topic" 
 : 
  
 { 
  
 "call" 
 : 
  
 "googleapis.pubsub.v1.projects.subscriptions.create" 
 , 
  
 "args" 
 : 
  
 { 
  
 "name" 
 : 
  
 "${\"projects/\" + project_id + \"/subscriptions/\" + subscription}" 
 , 
  
 "body" 
 : 
  
 { 
  
 "name" 
 : 
  
 "${\"projects/\" + project_id + \"/subscriptions/\" + subscription}" 
 , 
  
 "topic" 
 : 
  
 "${\"projects/\" + project_id + \"/topics/\" + topic}" 
  
 } 
  
 } 
  
 } 
  
 }, 
  
 { 
  
 "create_job" 
 : 
  
 { 
  
 "call" 
 : 
  
 "googleapis.cloudscheduler.v1.projects.locations.jobs.create" 
 , 
  
 "args" 
 : 
  
 { 
  
 "parent" 
 : 
  
 "${\"projects/\" + project_id + \"/locations/\" + location_id}" 
 , 
  
 "body" 
 : 
  
 { 
  
 "name" 
 : 
  
 "${\"projects/\" + project_id + \"/locations/\" + location_id + \"/jobs/\" + job_id}" 
 , 
  
 "description" 
 : 
  
 "An example job created by Workflows to test the Cloud Scheduler connector." 
 , 
  
 "schedule" 
 : 
  
 "* * * * *" 
 , 
  
 "pubsubTarget" 
 : 
  
 { 
  
 "topicName" 
 : 
  
 "${\"projects/\" + project_id + \"/topics/\" + topic}" 
 , 
  
 "attributes" 
 : 
  
 { 
  
 "job" 
 : 
  
 "finished!" 
  
 } 
  
 } 
  
 } 
  
 } 
  
 } 
  
 }, 
  
 { 
  
 "sleep" 
 : 
  
 { 
  
 "call" 
 : 
  
 "sys.sleep" 
 , 
  
 "args" 
 : 
  
 { 
  
 "seconds" 
 : 
  
 100 
  
 } 
  
 } 
  
 }, 
  
 { 
  
 "pull_message" 
 : 
  
 { 
  
 "call" 
 : 
  
 "googleapis.pubsub.v1.projects.subscriptions.pull" 
 , 
  
 "args" 
 : 
  
 { 
  
 "subscription" 
 : 
  
 "${\"projects/\" + project_id + \"/subscriptions/\" + subscription}" 
 , 
  
 "body" 
 : 
  
 { 
  
 "maxMessages" 
 : 
  
 1 
  
 } 
  
 } 
  
 } 
  
 }, 
  
 { 
  
 "delete_job" 
 : 
  
 { 
  
 "call" 
 : 
  
 "googleapis.cloudscheduler.v1.projects.locations.jobs.delete" 
 , 
  
 "args" 
 : 
  
 { 
  
 "name" 
 : 
  
 "${\"projects/\" + project_id + \"/locations/\" + location_id + \"/jobs/\" + job_id}" 
  
 } 
  
 } 
  
 }, 
  
 { 
  
 "delete_subscription" 
 : 
  
 { 
  
 "call" 
 : 
  
 "googleapis.pubsub.v1.projects.subscriptions.delete" 
 , 
  
 "args" 
 : 
  
 { 
  
 "subscription" 
 : 
  
 "${\"projects/\" + project_id + \"/subscriptions/\" + subscription}" 
  
 } 
  
 } 
  
 }, 
  
 { 
  
 "delete_topic" 
 : 
  
 { 
  
 "call" 
 : 
  
 "googleapis.pubsub.v1.projects.topics.delete" 
 , 
  
 "args" 
 : 
  
 { 
  
 "topic" 
 : 
  
 "${\"projects/\" + project_id + \"/topics/\" + topic}" 
  
 } 
  
 } 
  
 }, 
  
 { 
  
 "the_end" 
 : 
  
 { 
  
 "return" 
 : 
  
 "SUCCESS" 
  
 } 
  
 } 
 ] 
 

Module: googleapis.cloudscheduler.v1.projects.locations

Functions
get Gets information about a location.
list Lists information about the supported locations for this service.

Module: googleapis.cloudscheduler.v1.projects.locations.jobs

Functions
create Creates a job.
delete Deletes a job.
get Gets a job.
list Lists jobs.
patch Updates a job. If successful, the updated Job is returned. If the job does not exist, NOT_FOUND is returned. If UpdateJob does not successfully return, it is possible for the job to be in an Job.State.UPDATE_FAILED state. A job in this state may not be executed. If this happens, retry the UpdateJob request until a successful response is received.
pause Pauses a job. If a job is paused then the system will stop executing the job until it is re-enabled via ResumeJob. The state of the job is stored in state; if paused it will be set to Job.State.PAUSED. A job must be in Job.State.ENABLED to be paused.
resume Resume a job. This method reenables a job after it has been Job.State.PAUSED. The state of a job is stored in Job.state; after calling this method it will be set to Job.State.ENABLED. A job must be in Job.State.PAUSED to be resumed.
run Forces a job to run now. When this method is called, Cloud Scheduler will dispatch the job, even if the job is already running.

Module: googleapis.cloudscheduler.v1beta1.projects.locations

Functions
get Gets information about a location.
list Lists information about the supported locations for this service.

Module: googleapis.cloudscheduler.v1beta1.projects.locations.jobs

Functions
create Creates a job.
delete Deletes a job.
get Gets a job.
list Lists jobs.
patch Updates a job. If successful, the updated Job is returned. If the job does not exist, NOT_FOUND is returned. If UpdateJob does not successfully return, it is possible for the job to be in an Job.State.UPDATE_FAILED state. A job in this state may not be executed. If this happens, retry the UpdateJob request until a successful response is received.
pause Pauses a job. If a job is paused then the system will stop executing the job until it is re-enabled via ResumeJob. The state of the job is stored in state; if paused it will be set to Job.State.PAUSED. A job must be in Job.State.ENABLED to be paused.
resume Resume a job. This method reenables a job after it has been Job.State.PAUSED. The state of a job is stored in Job.state; after calling this method it will be set to Job.State.ENABLED. A job must be in Job.State.PAUSED to be resumed.
run Forces a job to run now. When this method is called, Cloud Scheduler will dispatch the job, even if the job is already running.
Design a Mobile Site
View Site in Mobile | Classic
Share by: