Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Events for Cloud Run – GCS tutorial

This sample shows how to create a service that processes GCS using the CloudEvents SDK.

Setup

Login to gcloud:

gcloud auth login

Configure project id:

gcloud config set project [PROJECT-ID]

Configure environment variables:

MY_RUN_SERVICE=gcs-service
MY_RUN_CONTAINER=gcs-container
MY_GCS_TRIGGER=gcs-trigger
MY_GCS_BUCKET=gcs-bucket

Quickstart

Deploy your Cloud Run service:

gcloud builds submit \
 --tag gcr.io/$(gcloud config get-value project)/$MY_RUN_CONTAINER
gcloud run deploy $MY_RUN_SERVICE \
 --image gcr.io/$(gcloud config get-value project)/$MY_RUN_CONTAINER \
 --allow-unauthenticated

Create a bucket:

gsutil mb -p $(gcloud config get-value project) -l \
us-central1 gs://"$MY_GCS_BUCKET"

Create Cloud Storage trigger:

gcloud alpha events triggers create $MY_GCS_TRIGGER \
 --target-service "$MY_RUN_SERVICE" \
 --type com.google.cloud.auditlog.event \
 --parameters methodName=storage.buckets.update \
 --parameters serviceName=storage.googleapis.com \
 --parameters resourceName=projects/_/buckets/"$MY_GCS_BUCKET"

Test

Test your Cloud Run service by publishing a message to the topic:

gsutil defstorageclass set STANDARD gs://$MY_GCS_BUCKET

Observe the Cloud Run service printing upon receiving an event in Cloud Logging:

gcloud logging read "resource.type=cloud_run_revision AND \
resource.labels.service_name=$MY_RUN_SERVICE" --project \
$(gcloud config get-value project) --limit 30 --format 'value(textPayload)'