Bird
Raised Fist0
GCPcloud~30 mins

Eventarc for event routing in GCP - Mini Project: Build & Apply

Choose your learning style10 modes available
Eventarc for Event Routing
📖 Scenario: You are setting up a simple event routing system in Google Cloud using Eventarc. Your goal is to route events from a Cloud Storage bucket to a Cloud Run service.
🎯 Goal: Build an Eventarc trigger that listens to events from a specific Cloud Storage bucket and routes them to a Cloud Run service.
📋 What You'll Learn
Create a Cloud Storage bucket named my-event-bucket
Create a Cloud Run service named event-receiver
Create an Eventarc trigger named storage-to-run-trigger that routes events from my-event-bucket to event-receiver
💡 Why This Matters
🌍 Real World
Eventarc helps connect event sources like Cloud Storage to serverless services like Cloud Run, enabling reactive and scalable cloud applications.
💼 Career
Understanding Eventarc is important for cloud engineers and developers building event-driven architectures on Google Cloud.
Progress0 / 4 steps
1
Create the Cloud Storage bucket
Create a Cloud Storage bucket named my-event-bucket using the gcloud command.
GCP
Hint

Use gcloud storage buckets create followed by the bucket name.

2
Create the Cloud Run service
Create a Cloud Run service named event-receiver deployed in the us-central1 region. Use the image gcr.io/cloudrun/hello.
GCP
Hint

Use gcloud run deploy with the service name, image, region, and allow unauthenticated access.

3
Create the Eventarc trigger
Create an Eventarc trigger named storage-to-run-trigger that listens to google.cloud.storage.object.v1.finalized events from the bucket my-event-bucket and routes them to the Cloud Run service event-receiver in us-central1.
GCP
Hint

Use gcloud eventarc triggers create with event filters for type and bucket, and specify the destination Cloud Run service and region.

4
Verify the Eventarc trigger
List the Eventarc triggers in us-central1 to verify that the trigger storage-to-run-trigger exists.
GCP
Hint

Use gcloud eventarc triggers list with the --location flag.

Practice

(1/5)
1. What is the main purpose of Eventarc in Google Cloud?
easy
A. To create virtual machines for running applications
B. To store large amounts of data in the cloud
C. To route events from cloud services to your applications automatically
D. To manage user permissions and roles

Solution

  1. Step 1: Understand Eventarc's role

    Eventarc is designed to listen for events from various cloud services and route them to your applications automatically.
  2. Step 2: Compare options

    Options A, B, and D describe other cloud services like storage, compute, and IAM, which are not Eventarc's purpose.
  3. Final Answer:

    To route events from cloud services to your applications automatically -> Option C
  4. Quick Check:

    Event routing = To route events from cloud services to your applications automatically [OK]
Hint: Eventarc = automatic event routing to apps [OK]
Common Mistakes:
  • Confusing Eventarc with storage services
  • Thinking Eventarc manages virtual machines
  • Mixing Eventarc with user permission management
2. Which of the following is the correct way to create an Eventarc trigger using gcloud CLI?
easy
A. gcloud compute instances create my-trigger --zone=us-central1-a
B. gcloud eventarc triggers create my-trigger --destination-run-service=my-service --event-filters=type=google.cloud.pubsub.topic.v1.messagePublished
C. gcloud storage buckets create my-trigger --location=us-central1
D. gcloud iam roles create my-trigger --project=my-project

Solution

  1. Step 1: Identify Eventarc trigger creation syntax

    The correct command uses 'gcloud eventarc triggers create' with destination and event filters.
  2. Step 2: Eliminate unrelated commands

    Options B, C, and D relate to compute, storage, and IAM, not Eventarc triggers.
  3. Final Answer:

    gcloud eventarc triggers create my-trigger --destination-run-service=my-service --event-filters=type=google.cloud.pubsub.topic.v1.messagePublished -> Option B
  4. Quick Check:

    Eventarc trigger creation uses 'gcloud eventarc triggers create' [OK]
Hint: Eventarc triggers start with 'gcloud eventarc triggers create' [OK]
Common Mistakes:
  • Using compute or storage commands instead of eventarc
  • Missing event-filters parameter
  • Incorrect destination flag
3. Given this Eventarc trigger configuration snippet:
{
  "name": "projects/my-project/locations/us-central1/triggers/my-trigger",
  "destination": {
    "cloudRunService": {
      "service": "my-service",
      "region": "us-central1"
    }
  },
  "eventFilters": [
    {"attribute": "type", "value": "google.cloud.storage.object.v1.finalized"}
  ]
}

What event will this trigger listen for?
medium
A. New objects finalized (created) in Cloud Storage buckets
B. Messages published to Pub/Sub topics
C. Compute Engine instance start events
D. Cloud SQL database updates

Solution

  1. Step 1: Analyze eventFilters attribute

    The filter type is 'google.cloud.storage.object.v1.finalized', which means when a Cloud Storage object is finalized (created or overwritten).
  2. Step 2: Match event type to options

    This corresponds to new or updated objects in Cloud Storage buckets, not Pub/Sub, Compute Engine, or Cloud SQL events.
  3. Final Answer:

    New objects finalized (created) in Cloud Storage buckets -> Option A
  4. Quick Check:

    Storage object finalized event = New objects finalized (created) in Cloud Storage buckets [OK]
Hint: Storage object finalized event type ends with '.finalized' [OK]
Common Mistakes:
  • Confusing storage events with Pub/Sub messages
  • Assuming compute or database events
  • Ignoring eventFilters attribute
4. You created an Eventarc trigger but your Cloud Run service is not receiving events. Which of the following is the most likely cause?
medium
A. The trigger was created with the wrong gcloud project set
B. The Cloud Run service is in a different region than the trigger
C. The Cloud Run service has no CPU allocated
D. The trigger's event filter type does not match any events being emitted

Solution

  1. Step 1: Check event filter correctness

    If the event filter type does not match any events, no events will be routed to the service.
  2. Step 2: Consider other options

    While region mismatch or wrong project can cause issues, the most common cause is incorrect event filter type. CPU allocation does not prevent event delivery.
  3. Final Answer:

    The trigger's event filter type does not match any events being emitted -> Option D
  4. Quick Check:

    Event filter mismatch blocks events [OK]
Hint: Check event filter matches actual event types [OK]
Common Mistakes:
  • Ignoring event filter mismatch
  • Assuming CPU allocation affects event routing
  • Not verifying project and region settings
5. You want to build an event-driven app that reacts to both Cloud Storage object creations and Pub/Sub messages using Eventarc. What is the best way to configure triggers?
hard
A. Create two separate Eventarc triggers, one for Cloud Storage events and one for Pub/Sub events, both targeting the same Cloud Run service
B. Create a single Eventarc trigger with multiple event filters for both Cloud Storage and Pub/Sub events
C. Create one trigger for Cloud Storage and configure Pub/Sub to push messages directly to Cloud Run without Eventarc
D. Use Cloud Scheduler to poll both services and send events to Cloud Run

Solution

  1. Step 1: Understand Eventarc trigger event filters

    Each Eventarc trigger supports filtering on one event type. To listen to multiple event types, separate triggers are needed.
  2. Step 2: Evaluate options

    Create a single Eventarc trigger with multiple event filters for both Cloud Storage and Pub/Sub events is invalid because a single trigger cannot filter multiple event types. Create one trigger for Cloud Storage and configure Pub/Sub to push messages directly to Cloud Run without Eventarc bypasses Eventarc for Pub/Sub, losing unified routing. Use Cloud Scheduler to poll both services and send events to Cloud Run is unrelated to Eventarc and less efficient.
  3. Final Answer:

    Create two separate Eventarc triggers, one for Cloud Storage events and one for Pub/Sub events, both targeting the same Cloud Run service -> Option A
  4. Quick Check:

    Multiple event types = multiple triggers [OK]
Hint: Use one trigger per event type for multiple events [OK]
Common Mistakes:
  • Trying to use one trigger for multiple event types
  • Bypassing Eventarc for some events
  • Using polling instead of event routing
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