This sample shows how to create a service that processes GCS events.
Login to gcloud:
gcloud auth loginConfigure 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-bucketDeploy 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-unauthenticatedCreate 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 your Cloud Run service by publishing a message to the topic:
gsutil defstorageclass set STANDARD gs://$MY_GCS_BUCKETObserve 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)'