Bird
Raised Fist0
GCPcloud~30 mins

Pub/Sub with Cloud Functions integration in GCP - Mini Project: Build & Apply

Choose your learning style10 modes available
Pub/Sub with Cloud Functions integration
📖 Scenario: You are building a simple notification system on Google Cloud Platform. When a message is published to a Pub/Sub topic, a Cloud Function should automatically trigger and process the message.
🎯 Goal: Create a Pub/Sub topic, configure a Cloud Function that triggers on messages published to this topic, and set the function to log the message data.
📋 What You'll Learn
Create a Pub/Sub topic named notifications-topic.
Create a Cloud Function named processNotification triggered by notifications-topic.
The Cloud Function should log the message data received from Pub/Sub.
💡 Why This Matters
🌍 Real World
Pub/Sub with Cloud Functions is commonly used to build event-driven systems where messages trigger automated processing, such as notifications, data pipelines, or alerts.
💼 Career
Understanding how to integrate Pub/Sub with Cloud Functions is essential for cloud developers and engineers working on scalable, serverless architectures on Google Cloud Platform.
Progress0 / 4 steps
1
Create the Pub/Sub topic
Create a Pub/Sub topic named notifications-topic using the gcloud command-line tool.
GCP
Hint

Use the gcloud pubsub topics create command followed by the topic name.

2
Create the Cloud Function configuration
Create a Cloud Function named processNotification that triggers on the Pub/Sub topic notifications-topic. Use the runtime python39 and specify the entry point as process_notification.
GCP
Hint

Use gcloud functions deploy with the --trigger-topic flag and specify the runtime and entry point.

3
Write the Cloud Function code
Write the Python function process_notification that takes event and context parameters and logs the Pub/Sub message data decoded as UTF-8.
GCP
Hint

Use base64.b64decode to decode the message data and print to log it.

4
Finalize Cloud Function deployment
Update the Cloud Function deployment to include the source code file named main.py containing the process_notification function.
GCP
Hint

Use the --source . flag to specify the current directory containing main.py.

Practice

(1/5)
1.

What is the main role of Google Cloud Pub/Sub when integrated with Cloud Functions?

easy
A. To send messages that trigger Cloud Functions automatically
B. To store large files for Cloud Functions to process
C. To provide a user interface for Cloud Functions
D. To manage user authentication for Cloud Functions

Solution

  1. Step 1: Understand Pub/Sub's purpose

    Pub/Sub is designed to send messages between parts of an app, acting as a messenger.
  2. Step 2: Connect Pub/Sub with Cloud Functions

    Cloud Functions run code automatically when they receive messages from Pub/Sub.
  3. Final Answer:

    To send messages that trigger Cloud Functions automatically -> Option A
  4. Quick Check:

    Pub/Sub triggers Cloud Functions [OK]
Hint: Pub/Sub sends messages; Cloud Functions react to them [OK]
Common Mistakes:
  • Thinking Pub/Sub stores files
  • Confusing Pub/Sub with UI or authentication
  • Assuming Cloud Functions manage user login
2.

Which of the following is the correct way to specify a Pub/Sub trigger in a Cloud Function deployment command?

gcloud functions deploy myFunction --trigger-?
easy
A. --trigger-http my-topic
B. --trigger-bucket my-topic
C. --trigger-topic my-topic
D. --trigger-event my-topic

Solution

  1. Step 1: Identify the trigger type for Pub/Sub

    Pub/Sub triggers require specifying the topic name with --trigger-topic.
  2. Step 2: Match the correct flag

    --trigger-topic is the correct flag; others relate to storage or HTTP triggers.
  3. Final Answer:

    --trigger-topic my-topic -> Option C
  4. Quick Check:

    Pub/Sub trigger uses --trigger-topic [OK]
Hint: Pub/Sub triggers use --trigger-topic flag [OK]
Common Mistakes:
  • Using --trigger-bucket which is for Cloud Storage
  • Using --trigger-http which is for HTTP triggers
  • Confusing event triggers with topic triggers
3.

Given this Cloud Function code triggered by Pub/Sub messages, what will be logged when a message with data "Hello" is published?

def hello_pubsub(event, context):
    import base64
    message = base64.b64decode(event['data']).decode('utf-8')
    print(f"Received message: {message}")
medium
A. Received message: event['data']
B. Received message: Hello
C. Received message: b'Hello'
D. Error: 'data' key missing

Solution

  1. Step 1: Decode the Pub/Sub message data

    The message data is base64 encoded; decoding it gives the original string "Hello".
  2. Step 2: Print the decoded message

    The print statement outputs "Received message: Hello" exactly.
  3. Final Answer:

    Received message: Hello -> Option B
  4. Quick Check:

    Base64 decode then print = Received message: Hello [OK]
Hint: Decode base64 data to get original message [OK]
Common Mistakes:
  • Printing raw base64 bytes instead of decoded string
  • Using event['data'] directly without decoding
  • Assuming 'data' key is missing
4.

What is the likely cause if a Cloud Function triggered by Pub/Sub never runs after publishing messages?

medium
A. The Cloud Function is not subscribed to the correct Pub/Sub topic
B. The Cloud Function code has a syntax error
C. The Pub/Sub topic does not exist
D. The Cloud Function has too much memory allocated

Solution

  1. Step 1: Check the Cloud Function trigger configuration

    If the function is not subscribed to the right topic, it won't receive messages.
  2. Step 2: Rule out other causes

    Syntax errors cause deployment failure, not silent no-run; topic existence is needed but usually checked; memory size doesn't stop triggers.
  3. Final Answer:

    The Cloud Function is not subscribed to the correct Pub/Sub topic -> Option A
  4. Quick Check:

    Wrong topic subscription = no trigger [OK]
Hint: Check topic subscription if function never runs [OK]
Common Mistakes:
  • Assuming syntax error causes silent no-run
  • Ignoring topic existence or permissions
  • Blaming memory size for trigger issues
5.

You want to build a system where multiple Cloud Functions react independently to the same Pub/Sub messages. What is the best way to set this up?

hard
A. Publish messages multiple times to different topics
B. Create multiple Pub/Sub topics, each with one Cloud Function subscription
C. Use one Cloud Function that calls other functions internally
D. Create one Pub/Sub topic and multiple subscriptions, each triggering a different Cloud Function

Solution

  1. Step 1: Understand Pub/Sub fan-out pattern

    One topic can have multiple subscriptions; each subscription can trigger a different Cloud Function independently.
  2. Step 2: Compare options

    Multiple topics add complexity; one function calling others is indirect; publishing multiple times is inefficient.
  3. Final Answer:

    Create one Pub/Sub topic and multiple subscriptions, each triggering a different Cloud Function -> Option D
  4. Quick Check:

    One topic, many subscriptions = multiple triggers [OK]
Hint: Use multiple subscriptions on one topic for parallel triggers [OK]
Common Mistakes:
  • Creating many topics unnecessarily
  • Using one function to call others instead of triggers
  • Publishing duplicate messages to multiple topics
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard