Create a workflow by using the gcloud CLI
This quickstart shows you how to create, deploy, and execute your first workflow using the Google Cloud CLI. The sample workflow sends a request to a public API and then returns the API's response.
For a list of all Workflows gcloud CLI commands, see the Workflows gcloud CLI reference page.
Before you begin
Security constraints defined by your organization might prevent you from completing the following steps. For troubleshooting information, see Develop applications in a constrained Google Cloud environment.
- 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.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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.
-
-
Make sure that billing is enabled for your Google Cloud project.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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.
-
-
Make sure that billing is enabled for your Google Cloud project.
Enable the Workflows API.
gcloud services enable workflows.googleapis.com
- Create the service account and give it a name; for example,
sa-name
.gcloud iam service-accounts create sa-name
- To send logs to Cloud Logging, grant the
roles/logging.logWriter
role to the service account.gcloud projects add-iam-policy-binding PROJECT_ID \ --member "serviceAccount:sa-name@PROJECT_ID.iam.gserviceaccount.com" \ --role "roles/logging.logWriter"
To learn more about service account roles and permissions, see Grant a workflow permission to access Google Cloud resources.
Create, deploy, and execute a workflow
In your home directory, create a new file called
myFirstWorkflow.yaml
ormyFirstWorkflow.json
.Copy and paste the following workflow into the new file, then save it:
YAML
JSON
Unless you input your own search term, this workflow uses your Google Cloud location to construct a search term, which it passes to the Wikipedia API. A list of related Wikipedia articles is returned.
Deploy the workflow and associate it with the specified service account:
gcloud workflows deploy myFirstWorkflow --source=myFirstWorkflow.EXTENSION \ --service-account=sa-name@PROJECT_ID.iam.gserviceaccount.com
Replace the following:
EXTENSION
: the file extension for your workflow; useyaml
for the YAML version or usejson
for the JSON versionPROJECT_ID
: your project ID
Execute the workflow:
gcloud workflows run myFirstWorkflow \ --data='SEARCH_TERM'
Replace
SEARCH_TERM
with your search term; for example,{"searchTerm":"North"}
. If you enter{}
, your Google Cloud location is used to construct a search term.This returns the results of the execution attempt. The output is similar to the following:
argument: '{"searchTerm":"North"}' duration: 0.210616856s endTime: '2023-05-10T21:56:39.465899376Z' name: projects/734581694262/locations/us-central1/workflows/workflow-1/executions/eae31f11-a5c3-47e2-8014-05b400820a79 result: '["North","North America","Northern Ireland","North Korea","North Macedonia","North Carolina","Northrop Grumman B-2 Spirit","Northrop F-5","Northern Cyprus","North Dakota"]' startTime: '2023-05-10T21:56:39.255282520Z' state: SUCCEEDED status: currentSteps: - routine: main step: returnOutput workflowRevisionId: 000001-ac2
You've deployed and executed your first workflow!
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 the workflow you created:
gcloud workflows delete myFirstWorkflow
When asked if you want to continue, enter
y
.
The workflow is deleted.