You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/design/core/presignedURL-Get/DecisionLog.md
+7Lines changed: 7 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -53,3 +53,10 @@ The team has decided to implement functionality only for S3 async client and def
53
53
2. Remove the consumer builder pattern from Get Request Model.
54
54
55
55
3. throw UnsupportedOperationException for Multipart S3 Client and S3 CRT Client for now.
56
+
57
+
## Design Review: 07/31/2025
58
+
**Source**: Design : Multipart Download Support for Pre-signed URLs
59
+
**Attendees**: John Viegas, Zoe Wang, Dongie Agnir, Bole Yi, Ran Vaknin, Saranya Somepalli, David Ho, Olivier Lepage Applin
60
+
61
+
### Decision Addressed
62
+
Initially considered separate discovery request (bytes=0-0) followed by download, but decided to follow AWS Transfer Manager SEP specification using Range: bytes=0-{partSizeInBytes-1} to download first part AND discover total object size simultaneously from Content-Range header response.
Copy file name to clipboardExpand all lines: docs/design/core/presignedURL-Get/Design.md
+27-1Lines changed: 27 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,7 @@ The Java SDK team has decided to implement a separate `AsyncPresignedUrlExtensio
16
16
17
17
The design introduces a new helper API `AsyncPresignedUrlExtension` which can be instantiated via the existing `S3AsyncClient`. This extension provides a clean abstraction layer that preserves SDK benefits while handling the unique requirements of pre-signed URL requests.
18
18
19
-
This design will implement only the GET/download function for presigned URLs for the S3AsyncClient. The synchronous S3Client implementation is deferred to future work.
19
+
This design implements GET/download functionality for presigned URLs for the S3AsyncClient, including multipart download support for large objects. The synchronous S3Client implementation is deferred to future work.
For objects with size greater than minimumPartSizeInBytes, the SDK automatically uses multipart downloads with HTTP Range headers when multipart is enabled:
The multipart implementation uses Range headers (e.g., `bytes=0-8388607`) instead of partNumber parameters to preserve presigned URL signatures. The first request downloads the initial part while discovering total object size from the Content-Range header.
0 commit comments