DVA-C02 Development with AWS Services Practice Question
A developer wants to upload a large file (5 GB) to an Amazon S3 bucket using the AWS SDK. Which approach is MOST efficient and resilient?
⚠ Common exam trap
Many candidates assume the PutObject API (Option D) is sufficient for large files because it supports up to 5 GB, but they overlook the lack of parallel uploads and partial failure recovery, which the Multipart Upload API provides and is explicitly recommended by AWS for files over 100 MB.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Use the Multipart Upload API to upload the file in parts.
The Multipart Upload API is specifically designed for large objects (over 100 MB, recommended for 5 GB). It allows uploading a file in parallel parts, which improves throughput and resilience by enabling retries of individual failed parts without restarting the entire upload. This approach also supports pausing and resuming uploads, making it the most efficient and resilient method for a 5 GB file.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Generate a presigned URL and use a third-party tool to upload.
Why it's wrong here
A presigned URL enables direct S3 uploads without requiring AWS credentials, but it typically facilitates a single `PUT` operation. For a 5 GB file, a single `PUT` is highly inefficient and prone to failure over unreliable networks, as it lacks built-in resume capabilities for large transfers. While multipart upload can utilize presigned URLs for individual parts, the option implies a simple, single-part upload, which is unsuitable for objects of this size.
- ✗
Invoke an AWS Lambda function to upload the file.
Why it's wrong here
AWS Lambda functions are subject to strict runtime and payload limitations, making them unsuitable for large file uploads. The direct invocation payload limit is a mere 6 MB, rendering it impossible to pass a 5 GB file directly to the function. Furthermore, Lambda's maximum execution duration of 15 minutes and memory constraints would make processing or orchestrating such a large upload impractical and unreliable.
- ✓
Use the Multipart Upload API to upload the file in parts.
Why this is correct
The Amazon S3 Multipart Upload API is the recommended and most efficient method for uploading large objects, specifically designed for files up to 5 TB. It allows a 5 GB file to be broken into smaller, independently uploaded parts, significantly improving throughput and resilience. This approach enables parallel uploads, easy resumption of failed parts, and enhanced fault tolerance against network issues, making it ideal for this scenario.
- ✗
Use the PutObject API call with the entire file.
Why it's wrong here
The `PutObject` API call is designed for uploading objects up to 5 GB in a single, atomic operation. While a 5 GB file technically falls within this maximum size, using `PutObject` for such a large object is highly inefficient and unreliable. Any network interruption during the upload would necessitate restarting the entire process from the beginning, lacking the fault tolerance and performance benefits of multipart uploads.
Quick reference
AWS S3 Storage Class Comparison
| Storage Class | Min Duration | Retrieval | Use Case |
|---|---|---|---|
| S3 Standard | None | Immediate | Frequently accessed data |
| S3 Standard-IA | 30 days | Immediate | Infrequent access, rapid retrieval |
| S3 One Zone-IA | 30 days | Immediate | Non-critical infrequent data |
| S3 Intelligent-Tiering | None | Immediate–hours | Unknown or changing access patterns |
| S3 Glacier Instant | 90 days | Milliseconds | Archive with instant retrieval |
| S3 Glacier Flexible | 90 days | Minutes–hours | Archive, flexible retrieval |
| S3 Glacier Deep Archive | 180 days | Hours | Long-term compliance archive |
Go deeper
Related to this question
About these practice questions
This DVA-C02 question is part of Courseiva's 724-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
Same concept, more angles
1 more way this is tested on DVA-C02
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. A developer is writing code to upload an object to an Amazon S3 bucket. The object is 200 MB in size. Which AWS SDK method should the developer use to perform this upload?
easy- A.Enable S3 Transfer Acceleration and use the PutObject API.
- B.Use the PutObject API operation.
- ✓ C.Use the multipart upload API.
- D.Use a pre-signed URL and upload using HTTP PUT.
Why C: Objects larger than 100 MB should be uploaded using the multipart upload API to improve throughput and provide resilience against network failures. The multipart upload API allows the 200 MB object to be split into parts, uploaded in parallel, and then assembled, which is more efficient and reliable than a single PutObject operation for objects over 5 GB or for large objects in general.
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This DVA-C02 practice question is part of Courseiva's free Amazon Web Services certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the DVA-C02 exam.