Bird
Raised Fist0
GCPcloud~5 mins

Cloud Functions with Pub/Sub triggers in GCP - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a Cloud Function triggered by Pub/Sub in Google Cloud?
It is a small piece of code that runs automatically when a message is published to a specific Pub/Sub topic.
Click to reveal answer
beginner
How does Pub/Sub deliver messages to a Cloud Function?
Pub/Sub sends messages to the Cloud Function as events, which then processes the message data inside the function code.
Click to reveal answer
intermediate
Why use Pub/Sub triggers for Cloud Functions instead of HTTP triggers?
Pub/Sub triggers are good for asynchronous, event-driven processing where messages are sent reliably and can be retried if processing fails.
Click to reveal answer
intermediate
What happens if a Cloud Function fails to process a Pub/Sub message?
The message can be retried automatically by Pub/Sub until it is successfully processed or until it reaches a maximum retry limit.
Click to reveal answer
advanced
How do you secure a Cloud Function triggered by Pub/Sub?
By setting proper IAM roles so only authorized services can publish messages to the Pub/Sub topic and invoke the function.
Click to reveal answer
What triggers a Cloud Function when using Pub/Sub?
AA new message published to a Pub/Sub topic
BAn HTTP request from a browser
CA scheduled timer event
DA file upload to Cloud Storage
What format does a Pub/Sub message have when received by a Cloud Function?
APlain text only
BHTML document
CBinary file
DJSON object inside the event data
If a Cloud Function fails to process a Pub/Sub message, what happens next?
AThe message is lost immediately
BThe function restarts automatically
CPub/Sub retries sending the message
DThe message is sent to an email
Which Google Cloud service is responsible for sending messages to trigger Cloud Functions?
ACloud Storage
BCloud Pub/Sub
CCloud SQL
DCloud Run
How can you restrict who can publish messages to a Pub/Sub topic?
ABy setting IAM permissions on the topic
BBy changing the Cloud Function code
CBy disabling the topic
DBy using a firewall rule
Explain how a Cloud Function is triggered by a Pub/Sub message and what happens inside the function.
Think about the flow from message sending to function execution.
You got /4 concepts.
    Describe how you would secure a Cloud Function that is triggered by Pub/Sub messages.
    Focus on permissions and access control.
    You got /4 concepts.

      Practice

      (1/5)
      1. What happens when a Google Cloud Function is triggered by a Pub/Sub message?
      easy
      A. The function runs automatically when a new message arrives on the Pub/Sub topic.
      B. The function must be manually started after the message is published.
      C. The function only runs if the message contains a specific keyword.
      D. The function runs only once a day regardless of messages.

      Solution

      1. Step 1: Understand Pub/Sub trigger behavior

        Cloud Functions connected to Pub/Sub topics run automatically when a new message is published to that topic.
      2. Step 2: Confirm automatic execution

        There is no need for manual start or keyword filtering by default; the function triggers on every message.
      3. Final Answer:

        The function runs automatically when a new message arrives on the Pub/Sub topic. -> Option A
      4. Quick Check:

        Pub/Sub triggers auto-run functions on new messages [OK]
      Hint: Pub/Sub triggers run functions automatically on new messages [OK]
      Common Mistakes:
      • Thinking the function needs manual start
      • Assuming filtering happens automatically
      • Believing the function runs on a schedule
      2. Which of the following is the correct way to declare a Cloud Function triggered by Pub/Sub in Node.js?
      easy
      A. exports.myFunction = (event, context) => { console.log(event.data); };
      B. function myFunction(pubsubMessage) { console.log(pubsubMessage.data); }
      C. exports.myFunction = (req, res) => { res.send('Hello'); };
      D. function myFunction(event) { return event.data; }

      Solution

      1. Step 1: Identify correct Cloud Function signature for Pub/Sub

        In Node.js, a Pub/Sub triggered function uses (event, context) parameters, where event.data contains the message.
      2. Step 2: Check options for correct syntax

        exports.myFunction = (event, context) => { console.log(event.data); }; uses exports with (event, context) and accesses event.data correctly. Others either use wrong parameters or HTTP function style.
      3. Final Answer:

        exports.myFunction = (event, context) => { console.log(event.data); }; -> Option A
      4. Quick Check:

        Pub/Sub functions use (event, context) signature [OK]
      Hint: Pub/Sub functions use (event, context) parameters in Node.js [OK]
      Common Mistakes:
      • Using HTTP function signature (req, res)
      • Missing exports keyword
      • Using wrong parameter names
      3. Given this Python Cloud Function triggered by Pub/Sub:
      def hello_pubsub(event, context):
          import base64
          message = base64.b64decode(event['data']).decode('utf-8')
          print(f'Received message: {message}')

      What will be printed if the Pub/Sub message data is base64 encoding of 'Hello World'?
      medium
      A. Received message: event['data']
      B. Received message: b'Hello World'
      C. Received message: Hello World
      D. Error: base64 decoding failed

      Solution

      1. Step 1: Decode base64 message data

        The function decodes event['data'] from base64 to bytes, then decodes bytes to UTF-8 string.
      2. Step 2: Print the decoded message

        The decoded string is 'Hello World', so the print statement outputs 'Received message: Hello World'.
      3. Final Answer:

        Received message: Hello World -> Option C
      4. Quick Check:

        Base64 decode then UTF-8 decode gives original message [OK]
      Hint: Base64 decode Pub/Sub data to get original message text [OK]
      Common Mistakes:
      • Printing raw base64 string instead of decoded
      • Forgetting to decode bytes to string
      • Assuming event['data'] is plain text
      4. You deployed a Cloud Function triggered by Pub/Sub, but it never runs when messages are published. What is the most likely cause?
      medium
      A. Cloud Functions do not support Pub/Sub triggers.
      B. The function code has a syntax error.
      C. The Pub/Sub topic is empty and cannot trigger functions.
      D. The function is not subscribed to the correct Pub/Sub topic.

      Solution

      1. Step 1: Check Pub/Sub subscription linkage

        If the function is not linked to the correct Pub/Sub topic, it will not trigger on published messages.
      2. Step 2: Eliminate other causes

        Syntax errors cause deployment failure, empty topics can still trigger if messages arrive, and Cloud Functions do support Pub/Sub triggers.
      3. Final Answer:

        The function is not subscribed to the correct Pub/Sub topic. -> Option D
      4. Quick Check:

        Correct topic subscription is required for triggers [OK]
      Hint: Verify function subscribes to the right Pub/Sub topic [OK]
      Common Mistakes:
      • Assuming empty topic blocks triggers
      • Ignoring subscription configuration
      • Thinking Cloud Functions lack Pub/Sub support
      5. You want to ensure your Cloud Function triggered by Pub/Sub processes messages exactly once, even if Pub/Sub retries delivery. What is the best approach?
      hard
      A. Disable retries in Pub/Sub settings to avoid duplicate triggers.
      B. Implement idempotent processing in the function using unique message IDs.
      C. Use a global variable in the function to track processed messages.
      D. Rely on Pub/Sub to guarantee exactly-once delivery automatically.

      Solution

      1. Step 1: Understand Pub/Sub delivery guarantees

        Pub/Sub guarantees at-least-once delivery, so duplicates can occur if retries happen.
      2. Step 2: Implement idempotency in function

        To handle duplicates, the function should process messages idempotently, often by checking unique message IDs to avoid repeated work.
      3. Step 3: Evaluate other options

        Disabling retries risks message loss, global variables don't persist across executions, and Pub/Sub does not guarantee exactly-once delivery by itself.
      4. Final Answer:

        Implement idempotent processing in the function using unique message IDs. -> Option B
      5. Quick Check:

        Idempotent code handles retries safely [OK]
      Hint: Make function idempotent using message IDs to avoid duplicates [OK]
      Common Mistakes:
      • Expecting Pub/Sub to do exactly-once delivery
      • Disabling retries risking lost messages
      • Using non-persistent variables for tracking
      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