Amazon EventBridge Input Transformer for Subset Data

SAA-C03 By islever Editorial Last updated

Short answer

C Create an Amazon EventBridge event bus with input transformers to send only required data subsets to each validation step Lambda function.

Question

A company is designing an event-driven order processing system. Each order requires multiple validation steps after the order is created. An idempotent AWS Lambda function performs each validation step. Each validation step is independent from the other validation steps. Individual validation steps need only a subset of the order event information. The company wants to ensure that each validation step Lambda function has access to only the information from the order event that the function requires. The components of the order processing system should be loosely coupled to accommodate future business changes. Which solution will meet these requirements?
  1. Create an Amazon Simple Queue Service (Amazon SQS) queue for each validation step. Create a new Lambda function to transform the order data to the format that each validation step requires and to publish the messages to the appropriate SQS queues. Subscribe each validation step Lambda function to its corresponding SQS queue.
  2. Create an Amazon Simple Notification Service (Amazon SNS) topic. Subscribe the validation step Lambda functions to the SNS topic. Use message body filtering to send only the required data to each subscribed Lambda function.
  3. Create an Amazon EventBridge event bus. Create an event rule for each validation step. Configure the input transformer to send only the required data to each target validation step Lambda function. Correct Answer
  4. Create an Amazon Simple Queue Service (Amazon SQS) queue. Create a new Lambda function to subscribe to the SQS queue and to transform the order data to the format that each validation step requires. Use the new Lambda function to perform synchronous invocations of the validation step Lambda functions in parallel on separate threads.

Key Takeaways

The core trap is confusing SNS message filtering (which selects subscribers but sends full payloads) with EventBridge input transformation (which modifies the payload before delivery).

This question tests the use of Amazon EventBridge's input transformer to decouple event sources from targets by delivering only required data subsets. It establishes that EventBridge is superior to SNS for this specific transformation requirement.

Common mistake: Many learners choose Option B because they confuse SNS topic subscription filtering with payload transformation, failing to realize SNS forwards the entire message body to matching subscribers.

Expert Analysis

Why the Answer Is Correct

Option C is correct because Amazon EventBridge natively supports an 'Input Transformer' feature within its rules. This allows you to define a mapping that extracts specific parts of an incoming event and passes only that subset to the target Lambda function. This perfectly satisfies the requirement for loose coupling and minimal data exposure without requiring intermediate processing functions.

Why the Other Options Are Wrong

Option A introduces unnecessary complexity by creating multiple queues and a dedicated transformation Lambda, violating the principle of simplicity where possible. Option B is incorrect because SNS message filtering determines who receives the message, but the subscriber still receives the full original message body; it does not transform or truncate the data. Option D relies on a custom Lambda to fan-out and synchronously invoke other Lambdas, which creates tight coupling and operational overhead compared to a managed service like EventBridge.

Community Comment Notes

Community consensus strongly favors Option C, with many noting that EventBridge is designed for routing events with optional transformations. One commenter clarified that SNS filtering operates at the subscription level and does not manipulate the message body, while another highlighted that EventBridge acts as a router capable of modifying events prior to delivery. Some dissenting votes for Option D were dismissed as over-engineering compared to the native capabilities of EventBridge.

Official Reference

Exam Strategy

When designing event-driven architectures, always check if the messaging service offers built-in transformation features. If the requirement involves sending only a subset of data to different consumers, prefer services with input transformers over those with simple content-based routing.

Frequently Asked Questions

Why can't SNS message filtering be used to send only a subset of data?

SNS filtering selects which subscribers receive the message based on attributes, but it forwards the complete, unmodified message body to every matching subscriber.

Is EventBridge better than SQS for this scenario?

Yes, because EventBridge provides native input transformation capabilities out-of-the-box, whereas SQS requires a separate Lambda function to parse and transform messages before forwarding them.

More SAA-C03 FAQ →

Community Votes

C
100%

100% of anonymous learners picked answer C. Votes are pick records left by other test-takers — they are not the verified answer.

Discussion 10 contributions

Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.

From public community threads 10

  1. TwinSpark 👍 4 Answered C
    not B because SNS cannot make messages manipulation, the option "message body filtering" will make discard or forward the FULL message if there is a matching field: https://docs.aws.amazon.com/sns/latest/dg/sns-message-filtering.html C - eventbus instead can manipulate event: https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-bus.html D - Works, but too much operation IMO
  2. MatAlves 👍 3
    SNS and Message Filtering - With SNS, message filtering allows you to control which subscribers receive messages based on attributes. However, the entire message is sent to each subscribed Lambda function; only those that match the filter criteria are processed. EventBridge and Input Transformation - EventBridge enables you to define rules that transform or modify events before they reach their targets. This allows you to customize the event payload, ensuring each validation step receives only the relevant information. "The company wants to ensure that each validation step Lambda function has access to only the information from the order event that the function requires." Therefore, C is the answer.
  3. Scheldon 👍 3 Answered C
    Answer C I wasn't sure but looks like EB with Input Transformation will allow for sending data which were choosed per destination https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes-input-transformation.html
  4. Kaula 👍 3 Answered C
    https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-bus.html
  5. waldirlsantos 👍 2 Answered C
    IMO, C "An event bus is a router that receives events and delivers them to zero or more destinations, or targets. Event buses are well-suited for routing events from many sources to many targets, with optional transformation of events prior to delivery to a target."
Show 5 more comments
  1. Johnoppong101 👍 2 Answered C
    Event-driven Architecture + Each validation step needs ONLY a subset of the order EVENT created. Best way to transform this order even is EB Transformer.
  2. LeonSauveterre 👍 1 Answered C
    A - Requires a separate Lambda function to preprocess and publish transformed data to multiple queues. Unnecessary. B - SNS filtering operates at the subscription level, not the event transformation level, making it harder to customize data subsets for specific Lambda functions. C - Amazon EventBridge: event-driven systems. Input Transformer: ensures each receives only the required subset of data. D - Synchronous invocation adds tighter coupling between Lambda functions and the validation steps.
  3. BBR01 👍 1 Answered D
    It is D. It is one order event, not "events from many sources" The main lambda parse the info to pieces, then makes synchronous invocations of the validation step Lambda functions on separate threads, and wait them to complete.
  4. 88f8032 👍 3
    Why can't it be B?
  5. TruthWS 👍 2
    Option C

Reader comments & corrections

No reader corrections yet — spotted an error or have a note? Share it below.

Log in to comment, report an error, or add a note about this question.

Submitted for moderation before publishing. Keep it helpful and respectful.

Practice All SAA-C03 Questions

Access 120 questions with complete answers and detailed explanations.

View Full SAA-C03 Practice Test →

← Back to SAA-C03 Study Guide