Jeff’s Note #
Unlike generic exam dumps, ADH analyzes this scenario through the lens of a Real-World Lead Developer.
For DVA-C02 candidates, the confusion often lies in where to store large, time-sensitive files generated asynchronously from Lambda and how to provide safe, time-limited access to end users. In production, this is about knowing exactly Lambda’s ephemeral storage limits, asynchronous invocation patterns, and leveraging AWS storage with presigned URLs effectively. Let’s drill down.
The Certification Drill (Simulated Question) #
Scenario #
CloudCanvas, a media startup, built a web application that allows users to request short promotional videos to be created dynamically. The backend uses an AWS Lambda function to generate these videos asynchronously. Because video processing can take up to 10 minutes per request, the system must handle asynchronous execution. Once a video is ready, users need a secure link to download the video, which should remain accessible for at least 3 hours after creation.
The Requirement: #
Determine the most reliable and scalable method to store generated videos and securely provide downloadable URLs that remain valid for a minimum of 3 hours.
The Options #
- A) Store the video temporarily in the Lambda function’s /tmp directory, then provide the user with the Lambda function URL to download the video.
- B) Attach an Amazon Elastic File System (EFS) to the Lambda function, store the video there, and generate a presigned URL from EFS to share with the user.
- C) Store the video in Amazon S3, generate a presigned URL for the S3 object, and provide that URL to the user.
- D) Store the video in an Amazon CloudFront distribution and generate a presigned URL for CloudFront to share with the user.
Google adsense #
leave a comment:
Correct Answer #
C
Quick Insight: The Developer Imperative #
- When handling large files asynchronously generated in Lambda, local /tmp storage is ephemeral and limited to 512 MB — unsuitable for long-term storage.
- EFS can extend Lambda storage but does not natively provide presigned URLs or HTTP access patterns like S3.
- S3 is the de facto durable object store, easy to integrate with Lambda, scalable, and supports presigned URLs that allow time-limited access, perfect for 3+ hour download windows.
- CloudFront presigned URLs require valid origin storage like S3, and adding CloudFront adds complexity and costs without direct storage capabilities.
Content Locked: The Expert Analysis #
You’ve identified the answer. But do you know the implementation details that separate a Junior from a Senior?
The Expert’s Analysis #
Correct Answer #
Option C
The Winning Logic #
- Durability & Scalability: Amazon S3 is designed for virtually unlimited storage with 99.999999999% durability, making it ideal for storing generated media files asynchronously.
- Lambda Integration: Lambda can easily upload video files to S3 once processing is complete without worrying about storage limits.
- Presigned URLs: S3 supports secure, time-limited access URLs generated by the AWS SDK or CLI, which can be set to expire after several hours (e.g., 3+ hours), perfectly matching user access requirements.
- Cost & Performance: Using S3 avoids the complexity and cost of EFS mounts and CloudFront distributions if caching or CDN isn’t required for this use case.
The Trap (Distractor Analysis): #
-
Why not A?
Lambda’s /tmp directory is ephemeral and limited to 512 MB. It’s wiped between invocations and cannot serve as persistent storage for files that must be accessible after the function completes asynchronously. -
Why not B?
While EFS can be mounted to Lambda for larger ephemeral storage, it doesn’t natively provide HTTP access or presigned URLs. You would need an additional layer (e.g., an EC2 server or custom API) to expose files securely, adding operational complexity. -
Why not D?
CloudFront is a CDN distribution service, not a storage backend. It requires an origin store (typically S3). Creating presigned URLs for CloudFront also involves additional setup and complexity and doesn’t replace the need for durable storage.
The Technical Blueprint #
# Example AWS CLI command to generate a presigned URL for an S3 object
aws s3 presign s3://cloudcanvas-videos/generated-video-123.mp4 --expires-in 10800
The Comparative Analysis #
| Option | API Complexity | Performance | Use Case Suitability |
|---|---|---|---|
| A | Low (local /tmp use) | Limited by 512 MB and ephemeral storage | Not suitable for persistence or async retrieval |
| B | Medium (EFS mount + management) | Good for large files but no native presigned URL support | Requires additional proxy/API for secure access |
| C | Low (standard S3 SDK calls) | Scalable, durable, cost-effective | Best for asynchronous file storage with secure URL delivery |
| D | High (CloudFront config + signing) | Adds CDN benefits but adds complexity and cost | Overkill unless caching/delivery optimization needed |
Real-World Application (Practitioner Insight) #
Exam Rule #
For the exam, always pick Amazon S3 when you see Asynchronous file generation + time-limited access.
Real World #
In production, if frequent downloads or global distribution is needed, pairing S3 with CloudFront could improve performance and costs at scale. For simple asynchronous output, S3 presigned URLs are the quickest, most straightforward solution.
(CTA) Stop Guessing, Start Mastering #
Disclaimer
This is a study note based on simulated scenarios for the DVA-C02 exam.