Q50 — AWS DVA-C02 Ch.3
Question 50 of 100 | ← Chapter 3
A company is building a web application on AWS. When a customer submits a request, the application generates a report and delivers it to the customer after a brief delay. Reports must remain available to customers for 8 hours. Some reports exceed 1 MB. Each report is unique and customer-specific. The application must delete reports older than 2 days. Which solution meets these requirements with the lowest operational overhead?
- A. Generate the report and store it as a DynamoDB item with a specified TTL. Generate a URL to retrieve the report from DynamoDB. Provide the URL to the customer via the web application.
- B. Generate the report and store it in an Amazon S3 bucket with server-side encryption. Attach the report to an Amazon Simple Notification Service (Amazon SNS) message. Subscribe customers to receive email notifications from Amazon SNS.
- C. Generate the report and store it in an Amazon S3 bucket with server-side encryption. Generate a presigned URL with an expiration time. Provide the URL to the customer via the web application. Add a lifecycle configuration rule to the S3 bucket to delete old reports. ✓
- D. Generate the report and store it in an Amazon RDS database with a timestamp. Generate a URL to retrieve the report. Provide the URL to the customer via the web application. Schedule an AWS Lambda function to run hourly and delete database records with expired timestamps.
Correct Answer: C. Generate the report and store it in an Amazon S3 bucket with server-side encryption. Generate a presigned URL with an expiration time. Provide the URL to the customer via the web application. Add a lifecycle configuration rule to the S3 bucket to delete old reports.
Explanation
Option C minimizes operational overhead: S3 lifecycle rules automatically delete objects older than 2 days without custom code or scheduling. Presigned URLs natively support 8-hour expiration, and S3 is cost-effective and highly available for object storage >1 MB. Option A misuses DynamoDB for large binary objects (inefficient, costly, size-limited). Option B fails because SNS does not support attaching large binary payloads (>256 KB). Option D requires ongoing Lambda scheduling, monitoring, and database maintenance — increasing complexity and cost versus S3’s built-in automation.