Setting Off a Cloud Function via Cloud Storage Metadata

45 minutes
  • 4 Learning Objectives

About this Hands-on Lab

While Cloud Functions can be triggered by major Cloud Storage events, like an object being created or deleted, the function can also be executed on changes to various aspects of the object’s status, as represented by updates to its metadata. In this hands-on lab, you’ll create a Cloud Function with a Cloud Storage trigger that watches for changes to a bucket’s objects’ metadata and outputs the result of that change.

Learning Objectives

Successfully complete this lab by achieving the following learning objectives:

Enable APIs

Enable the APIs necessary for creating a Cloud Function (1st gen).

Create and Populate a Cloud Storage Bucket

Create a bucket and upload a file into the bucket.

Create a Cloud Function

Create a Cloud Function that is triggered by a change to the Cloud Storage metadata and outputs the filename and hold status of the object modified.

Test the Cloud Function

Verify that the Cloud Function is correctly outputting the hold status for the object.

Additional Resources

In this scenario, your team is tracking the hold status of a set of objects in a particular Cloud Storage bucket and want to be notified if the status changes. You decide to set up a Cloud Function that will write an entry to the log when triggered by a change to the metadata that outputs the current hold status.

Cloud Function Source Code

def check_hold(event, context):
    """Triggered by a change to a Cloud Storage bucket.
    Args:
        event (dict): Event payload.
        context (google.cloud.functions.Context): Metadata for the event.
    """
    file = event
    print(f"Processing file: {file['name']}.")
    print(f"Temporary hold status: {file['temporaryHold']}.") 

What are Hands-on Labs

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Sign In
Welcome Back!

Psst…this one if you’ve been moved to ACG!

Get Started
Who’s going to be learning?