Bird
Raised Fist0
GCPcloud~10 mins

Pub/Sub with Cloud Functions integration in GCP - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to create a Pub/Sub topic named 'my-topic'.

GCP
gcloud pubsub topics create [1]
Drag options to blanks, or click blank then click option'
Amy-topic
Btopic-1
Ccloud-topic
Dpubsub-topic
Attempts:
3 left
💡 Hint
Common Mistakes
Using a different topic name than 'my-topic'.
Omitting the topic name.
2fill in blank
medium

Complete the code to deploy a Cloud Function named 'processMessage' triggered by the Pub/Sub topic 'my-topic'.

GCP
gcloud functions deploy processMessage --trigger-topic=[1] --runtime python312 --entry-point main
Drag options to blanks, or click blank then click option'
Atopic-1
Bmy-topic
Ccloud-topic
Dpubsub-topic
Attempts:
3 left
💡 Hint
Common Mistakes
Using a different topic name in the trigger.
Omitting the trigger-topic flag.
3fill in blank
hard

Fix the error in the Cloud Function code to correctly decode the Pub/Sub message data.

GCP
def main(event, context):
    import base64
    message = base64.b64decode(event['data']).decode('utf-8')
    print('Received message:', [1])
Drag options to blanks, or click blank then click option'
Aevent['data']
Bmessage
Ccontext
Devent
Attempts:
3 left
💡 Hint
Common Mistakes
Printing the raw event data instead of the decoded message.
Using the context object instead of the message.
4fill in blank
hard

Fill both blanks to create a subscription named 'my-subscription' for the topic 'my-topic'.

GCP
gcloud pubsub subscriptions create [1] --topic=[2]
Drag options to blanks, or click blank then click option'
Amy-subscription
Bmy-topic
Csubscription-1
Dtopic-1
Attempts:
3 left
💡 Hint
Common Mistakes
Using mismatched subscription or topic names.
Omitting either the subscription name or topic flag.
5fill in blank
hard

Fill all three blanks to publish a message 'Hello, Cloud!' to the Pub/Sub topic 'my-topic' using gcloud.

GCP
gcloud pubsub topics publish [1] --message '[2]' --attribute [3]=greeting
Drag options to blanks, or click blank then click option'
Amy-topic
BHello, Cloud!
Ctype
Dmy-subscription
Attempts:
3 left
💡 Hint
Common Mistakes
Using the subscription name instead of the topic name.
Incorrect message text or attribute key.

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