nerdexam
Amazon

DVA-C02 · Question #293

A photo sharing application uses Amazon S3 to store image files. All user images are manually audited for inappropriate content by a third-party company. The audits are completed 1-24 hours after user

The correct answer is B. Create an AWS Lambda function to run in response to the s3:ObjectCreated event type. Integrate. Option B is correct because it uses an event-driven architecture with DynamoDB Streams: when the third-party system writes an audit result to DynamoDB, the stream triggers a Lambda function that reads the result and applies the corresponding tag to the S3 object using the object

Submitted by lukas.cz· Mar 5, 2026Development with AWS Services

Question

A photo sharing application uses Amazon S3 to store image files. All user images are manually audited for inappropriate content by a third-party company. The audits are completed 1-24 hours after user upload and the results are written to an Amazon DynamoDB table, which uses the S3 object key as a primary key. The database items can be queried by using a REST API created by the third-party company. An application developer needs to implement an automated process to tag all S3 objects with the results of the content audit. What should the developer do to meet these requirements in the MOST operationally efficient way?

Options

  • ACreate an AWS Lambda function to run in response to the s3:ObjectCreated event type. Write the
  • BCreate an AWS Lambda function to run in response to the s3:ObjectCreated event type. Integrate
  • CCreate an AWS Lambda function to load all untagged S3 objects. Retrieve the results for each
  • DLaunch an Amazon EC2 instance. Deploy a script to the EC2 instance to use the external

How the community answered

(27 responses)
  • A
    4% (1)
  • B
    78% (21)
  • C
    11% (3)
  • D
    7% (2)

Explanation

Option B is correct because it uses an event-driven architecture with DynamoDB Streams: when the third-party system writes an audit result to DynamoDB, the stream triggers a Lambda function that reads the result and applies the corresponding tag to the S3 object using the object key. This approach is reactive, serverless, and requires no polling - it fires precisely when audit data is available, regardless of whether that's 1 hour or 24 hours after upload.

Option A is wrong because triggering Lambda on s3:ObjectCreated runs the function immediately at upload time, before the audit has completed. The result won't exist in DynamoDB yet, so no tag can be applied.

Option C is wrong because scanning all untagged S3 objects and querying DynamoDB for each one is a polling approach - wasteful, slower, and harder to operate than reacting to DynamoDB change events.

Option D is wrong because EC2 requires you to manage infrastructure (patching, scaling, availability), making it the least operationally efficient option compared to serverless alternatives.

Memory tip: When a process has a variable delay before data is ready, think "react to the data store, not the upload." DynamoDB Streams → Lambda is the canonical AWS pattern for "do something when a record appears," keeping the architecture event-driven end-to-end.

Topics

#S3 Event Notifications#AWS Lambda#Asynchronous Processing#Operational Efficiency

Community Discussion

No community discussion yet for this question.

Full DVA-C02 Practice