Time to come back to our series on Cloud Workflows.
Sometimes, for debugging purposes or for auditing, it is useful to be able to log some information via Cloud Logging.
As we saw last month, you can
call HTTP endpoints from your workflow.
We can actually use
Cloud Logging’s REST API to log such messages!
Let’s see that in action.
- log:
call: http.post
args:
url: https://logging.googleapis.com/v2/entries:write
auth:
type: OAuth2
body:
entries:
- logName: ${"projects/" + sys.get_env("GOOGLE_CLOUD_PROJECT_ID") + "/logs/workflow_logger"}
resource:
type: "audited_resource"
labels: {}
textPayload: Hello World from Cloud Workflows!
We call the https://logging.googleapis.com/v2/entries:write API endpoint to write new logging entries.
We authenticate via OAuth2—as long as the service account used for the workflow execution allows it to use the logging API.
Then we pass a JSON structure as the body of the call, indicating the name of the logger to use,
which resources it applies to, and also the textPayload containing our text message. You could also use a ${} expression to log more complex values.
Read more...