S3 Event Notifications to SQS FIFO Queue

SOA-C03 By islever Editorial Last updated

Short answer

B Creating an S3 event notification with the FIFO delivery option directly routes uploads to the SQS FIFO queue with minimal overhead.

Question

A company has an application that processes events sequentially by using an Amazon SQS FIFO queue. The company needs a solution that automatically sends notifications to the SQS queue when new objects are uploaded to an Amazon S3 bucket. The solution must maintain message ordering.
Which solution will meet these requirements with the LEAST operational overhead?
  1. Create an AWS Lambda function that polls the objects by using the ListObjectsV2 command and detects new objects when the objects are added. Configure the Lambda function to add a message to the SQS queue when new objects are detected.
  2. Create an event notification on the S3 bucket. Use the FIFO delivery option. Route the notifications to the existing SQS queue. Correct Answer
  3. Create an Amazon SNS FIFO topic. Create an event notification on the S3 bucket. Configure the event to send messages to the SNS topic. Subscribe the existing SQS queue to the SNS topic.
  4. Create an access point in Amazon S3 Access Points. Configure the access point to send new items to the existing SQS queue.

Key Takeaways

The question tests knowledge of recent AWS updates allowing S3 event notifications to directly target SQS FIFO queues, avoiding the need for SNS intermediaries.

This solution demonstrates how to use Amazon S3 event notifications with the FIFO delivery option to directly send ordered messages to an Amazon SQS FIFO queue, minimizing operational overhead.

Common mistake: Choosing Option C because of outdated knowledge assuming S3 cannot directly target SQS FIFO queues, which adds unnecessary operational overhead with an SNS topic.

Expert Analysis

Native S3 to SQS FIFO Integration

Historically, Amazon S3 event notifications could only target standard SQS queues, requiring an intermediary like Amazon SNS to reach an SQS FIFO queue. AWS has since updated S3 event notifications to natively support direct delivery to both Amazon SNS FIFO topics and Amazon SQS FIFO queues. Option B leverages this exact native feature. By configuring the event notification on the S3 bucket and enabling the "FIFO delivery" option, S3 automatically preserves the strict ordering of events as they are sequenced by the service.

Operational Overhead Comparison

Option C introduces an Amazon SNS FIFO topic as an intermediary between S3 and the SQS FIFO queue. While this architecture successfully maintains message ordering, it violates the requirement for the "LEAST operational overhead" by adding an extra managed service to configure, monitor, and maintain. Option B eliminates this intermediary, achieving the same result with a direct, simpler integration.

Flawed Alternative Approaches

Option A suggests using an AWS Lambda function to poll the S3 bucket using ListObjectsV2. This is an anti-pattern for event-driven architectures; polling introduces significant operational overhead, custom code maintenance, and latency, while making strict message ordering extremely difficult to guarantee. Option D suggests using an Amazon S3 Access Point to send items to the queue, but Access Points are simply network endpoints for access control and do not possess event routing capabilities to SQS. Therefore, Option B is the only solution that is both technically correct and operationally optimal.

Official Reference

https://docs.aws.amazon.com/AmazonS3/latest/userguide/NotificationHowTo.html

This link opens the official vendor documentation in a new tab.

Exam Strategy

When exam questions ask for the "LEAST operational overhead" in event routing, always prefer direct native integrations (e.g., S3 to SQS) over intermediary services (e.g., S3 to SNS to SQS) unless the intermediary provides a necessary feature not supported by the direct path. Keep up with recent AWS feature updates that eliminate the need for middle-tier services.

Community Votes

A
35%
B
65%

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

Discussion 2 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 2

  1. Bad_Mat 👍 1 Answered B
    The correct answer is B. Create an event notification on the S3 bucket. Use the FIFO delivery option. Route the notifications to the existing SQS queue.Why this option is correct:🟢 Option B leverages native Amazon S3 Event Notifications, which natively support direct delivery to Amazon SQS FIFO queues. By enabling the FIFO delivery option on the S3 event notification, AWS automatically preserves the exact ordering of object events (based on S3 sequencers) and routes them directly to your SQS FIFO queue. This requires zero custom code or infrastructure management, fulfilling the requirement with the least operational overhead.
  2. Atown 👍 1 Answered A
    A. POSSIBLE – Lambda polling could work, but requires custom code and does not inherently guarantee message ordering. B. INCORRECT – Amazon S3 event notifications cannot directly target Amazon SQS FIFO queues. C. INCORRECT – Amazon S3 event notifications cannot directly target Amazon SNS FIFO topics. D. INCORRECT – Amazon S3 Access Points do not support sending object-created notifications directly to SQS queues. This is a very bad Question without a good Answer

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.

Practice All SOA-C03 Questions

Access 100 questions with complete answers and detailed explanations.

View Full SOA-C03 Practice Test →

← Back to SOA-C03 Study Guide