Day 10 with Workflows — Accessing built-in environment variables
Google Cloud Workflows offers a few built-in environment variables that are accessible from your workflow executions.
There are currently 5 environment variables that are defined:
GOOGLE_CLOUD_PROJECT_NUMBER
: The workflow project’s number.GOOGLE_CLOUD_PROJECT_ID
: The workflow project’s identifier.GOOGLE_CLOUD_LOCATION
: The workflow’s location.GOOGLE_CLOUD_WORKFLOW_ID
: The workflow’s identifier.GOOGLE_CLOUD_WORKFLOW_REVISION_ID
: The workflow’s revision identifier.
Let’s see how to access them from our workflow definition:
- envVars:
assign:
- projectID: ${sys.get_env("GOOGLE_CLOUD_PROJECT_ID")}
- projectNum: ${sys.get_env("GOOGLE_CLOUD_PROJECT_NUMBER")}
- projectLocation: ${sys.get_env("GOOGLE_CLOUD_LOCATION")}
- workflowID: ${sys.get_env("GOOGLE_CLOUD_WORKFLOW_ID")}
- workflowRev: ${sys.get_env("GOOGLE_CLOUD_WORKFLOW_REVISION_ID")}
- output:
return: ${projectID + " " + projectNum + " " + projectLocation + " " + workflowID + " " + workflowRev}
We use the built-in sys.get_env()
function to access those variables.
We’ll revisit the various existing built-in functions in later episodes.
Then when you execute this workflow, you’ll get an output like this:
"workflows-days 783331365595 europe-west4 w10-builtin-env-vars 000001-3af"
There’s one variable I’d like to see added to this list, that would be the current execution ID. That could potentially be useful for identifying a particular execution, when looking in the logs, to reason about potential failure, or for auditing purposes.