Commit 52c070a
authored
feat: Add presigned URL download support to S3AsyncClient and S3 Transfer Manager (#7115)
* Adding pre-signed URL operation core API and Get Object Request Pojo (#6216)
* Add presigned URL request models and tests
* Pre-signed URL API and Get Object Request definitions
* JavaDoc changes, String to URL change
* Delete services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/presignedurl/DefaultPresignedUrlManager.java
* Delete services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/presignedurl/PresignedUrlGetObjectRequestMarshaller.java
* Delete services/s3/src/test/java/software/amazon/awssdk/services/s3/presignedurl/model/PresignedUrlTest.java
* Format PresignedUrlGetObjectRequestWrapper.java
* Format PresignedUrlManager.java
* Format PresignedUrlGetObjectRequest.java
* Format PresignedUrlGetObjectRequestWrapperTest.java
* Format PresignedUrlGetObjectRequestTest.java
* sonarcube issues fixed
* Delete .idea/codeStyles/Project.xml
* added consumer builder, javadoc for builder, assert range value test
* removing codestle from gitignore
* Add custom marshaller for pre-signed URL GET operations (#6231)
* presigned url get object request custom marshaller
* used protocolFactory and fixed sonar cube issues
* removed unused test method, removed overriden method
* Add DefaultPresignedUrlManager getObject implementation for S3 pre-signed URL (#6241)
* getobject implementation and tests
* corrected the getObject params in test:
* fixed build failure-dependency issue with Retrystrategy in test
* fixed sonarcube issues
* addressed sonarcube issue
* edited javadocs, added invalidurl test
* Add AsyncPresignedUrlManager for S3 GetObject operations with presigned URLs (#6255)
* async presignedurlmanager api and implementation
* Refactor DefaultAsyncPresignedUrlManager: move config to constructor, declare variables inline
* change operation name
* Removed presignedurl api and implementation for sync client (#6270)
* Add PresignedUrlManager support to code generated S3AsyncClient (#6269)
* async s3 client codegen changes
* minimised service-2.json
* Modify Operation Name for Presigned URL, add Null Check for ResolvedEndpoint, enhance AsyncPresignedUrlManager API (#6275)
* modify operation name, null check for resolvedendpoint, add getObject APIs
* added null check for resolvedendpointHeader, doc updates, test additions
* fixed checkstyle issue
* Rename PresignedUrlManager to PresignedUrlExtension following API review (#6286)
* surface api name changes
* rename files, remove consumer builder from downloadrequest
* some nitpicks
* renamed variables
* Add AsyncPresignedUrlManager integration tests (#6290)
* Amazon DataZone Update: This release adds support for 1) highlighting relevant text in returned results for Search and SearchListings APIs and 2) returning aggregated counts of values for specified attributes for SearchListings API.
* Amazon Omics Update: Add Git integration and README support for HealthOmics workflows
* Updated endpoints.json and partitions.json.
* Release 2.32.8. Updated CHANGELOG.md, README.md and all pom.xml.
* Update to next snapshot version: 2.32.9-SNAPSHOT
* Amazon AppIntegrations Service Update: Amazon AppIntegrations introduces new configuration capabilities to enable customers to manage iframe permissions, control application refresh behavior (per contact or per browser/cross-contact), and run background applications (service).
* AWS Key Management Service Update: Doc only update: fixed grammatical errors.
* AWS Config Update: Documentation improvements have been made to the EvaluationModel and DescribeConfigurationRecorders APIs.
* AWS End User Messaging Social Update: This release introduces new WhatsApp template management APIs that enable customers to programmatically create and submit templates for approval, monitor approval status, and manage the complete template lifecycle
* AWS Budgets Update: Adds IPv6 and PrivateLink support for AWS Budgets in IAD.
* Amazon Simple Queue Service Update: Documentation updates for Amazon SQS fair queues feature.
* AWS Elemental MediaPackage v2 Update: This release adds support for specifying a preferred input for channels using CMAF ingest.
* Amazon Elastic Compute Cloud Update: Transit Gateway native integration with AWS Network Firewall. Adding new enum value for the new Transit Gateway Attachment type.
* Release 2.32.9. Updated CHANGELOG.md, README.md and all pom.xml.
* Update to next snapshot version: 2.32.10-SNAPSHOT
* AWS IoT SiteWise Update: Add support for native anomaly detection in IoT SiteWise using new Computation Model APIs
* Amazon OpenSearch Ingestion Update: Add Pipeline Role Arn as an optional parameter to the create / update pipeline APIs as an alternative to passing in the pipeline configuration body
* AWS Direct Connect Update: Enable MACSec support and features on Interconnects.
* Updated endpoints.json and partitions.json.
* Release 2.32.10. Updated CHANGELOG.md, README.md and all pom.xml.
* Update to next snapshot version: 2.32.11-SNAPSHOT
* Rebase #6269: Update PresignedUrlManager to PresignedUrlExtension naming
* Integ tests
* Refactor AsyncPresignedUrlManager integration tests to extend S3IntegrationTestBase
* updated test method names to follow testing guidelines
* simplified tests
* added checksum test for largeobjects
* rename in test files, address nit comment, fix rebase issues
---------
Co-authored-by: AWS <>
* Add multipart presigned URL download support to MultipartS3AsyncClient (#6318)
* Add multipart presigned URL download support with range-based routing
* Renamed AsyncPresignedUrlExtension variable
* Commented the failing test with TODO
* Add S3 Transfer Manager presigned URL download request models (#6356)
* Transfer Manager presigned URL download request models
* Fixed checkstyle issues
* Add Range-based Multipart download Subscriber for Pre-signed URLs (#6331)
* Range based multipart download subscriber
* Refactor code and add tests
* Fixed sonarcube issue
* Address PR comments: use Long type, inline variables, allow empty files
* Refactored subscriber and tests
* delete testutil
* Added validation tests
* Fixed failing tests for IfMatch header
* Refactor: split validatePartAndRequestMore into separate methods
* Fixed validation tests
* Remove onComplete after subscription cancel
* Make validatePart boolean function
* Fix multipart presigned URL download: parallel support and error propagation
* Fix CodeBuild failure: update codegen file for EndpointResolverInterceptorSpec null check
* Address PR Comments
* Fix check-then-act race condition in parallel subscriber (#6956)
* Fix check-then-act race condition in parallel subscriber
* address comments
* Add presigned URL download support to S3 Transfer Manager (#6951)
* Add presigned URL download support to S3 Transfer Manager
* Add presigned URL download methods to DelegatingS3TransferManager
* Address PR Comments
* Fix presigned url multipart download for empty objects (#6952)
* Add retry tests and onError cancel fix for presigned URL multipart downloads (#6985)
* Fix presigned URL download progress tracking for range requests and add listener tests (#6977)
* fix progress tracking for ranged requests
* Add WireMock listener tests
* Add PresignedFileDownload return type for presigned URL downloads (#7004)
* Add PresignedFileDownload return type for presigned URL downloads
* Address PR Comments
* Fix first part response validation in parallel presigned URL multipart subscriber (#7013)
* Fix first part validation and refactor
* Use String.format for exceptions
* Fix issues in parts calculation (#7026)
* Enable checksum validation for presigned URL downloads (#7035)
* Enable checksum validation for presigned URL downloads
* Add public method to return all checksum algorithms
* assert checksum validation status
* Deprecate IS_DISCOVERED_ENDPOINT, add SKIP_ENDPOINT_RESOLUTION attribute (#7061)
* Fix multipart download response metadata for presigned URL and normal paths (#7077)
* Add response rewrite infrastructure for multipart download metadata
* Fix presigned URL multipart download response metadata and 416 fallback
* Fix normal multipart download response metadata
* Consolidate normal path integration tests with parameterized tests
* Address review: Builder ctor, split(config,mapper) interface method, parameterized tests
* Fix transfer manager presigned serial wrapper to use correct progress wrapper
* Move responseMapper to SplittingTransformerConfiguration and simplify split wiring
* Revert normal object path changes and add presigned custom transformer metadata test
* Use single splitWithResponseRewrite
* Clarify responseMapper Javadoc on SplittingTransformerConfiguration
* Merge branch 'master' into feature/master/pre-signed-url-getobject
* Add changelog entry for presigned URL download feature
* Remove contributor name
* Merge branch 'master' into feature/master/pre-signed-url-getobject1 parent dda8d0e commit 52c070a
83 files changed
Lines changed: 8928 additions & 31 deletions
File tree
- .changes/next-release
- codegen/src
- main/java/software/amazon/awssdk/codegen
- internal
- model
- config/customization
- intermediate
- naming
- poet
- client
- test
- java/software/amazon/awssdk/codegen/poet
- client
- resources/software/amazon/awssdk/codegen/poet
- client
- c2j/presignedurl
- rules
- core
- aws-core/src
- main/java/software/amazon/awssdk/awscore/endpoints
- test/java/software/amazon/awssdk/awscore/endpoints
- checksums/src/main/java/software/amazon/awssdk/checksums
- sdk-core/src/main/java/software/amazon/awssdk/core
- async
- interceptor
- internal
- async
- handler
- http/pipeline/stages
- services-custom/s3-transfer-manager/src
- it/java/software/amazon/awssdk/transfer/s3
- main/java/software/amazon/awssdk/transfer/s3
- internal
- model
- model
- test/java/software/amazon/awssdk/transfer/s3
- internal
- model
- services/s3/src
- it/java/software/amazon/awssdk/services/s3/presignedurl
- main
- java/software/amazon/awssdk/services/s3
- internal
- crt
- handlers
- multipart
- presignedurl
- model
- presignedurl
- model
- presigner
- resources/codegen-resources
- test/java/software/amazon/awssdk/services/s3
- internal
- multipart
- presignedurl
- model
- presignedurl
- model
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
62 | 62 | | |
63 | 63 | | |
64 | 64 | | |
| 65 | + | |
65 | 66 | | |
66 | 67 | | |
67 | 68 | | |
| |||
Lines changed: 2 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
78 | 78 | | |
79 | 79 | | |
80 | 80 | | |
| 81 | + | |
| 82 | + | |
81 | 83 | | |
82 | 84 | | |
83 | 85 | | |
| |||
Lines changed: 13 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
351 | 351 | | |
352 | 352 | | |
353 | 353 | | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
354 | 359 | | |
355 | 360 | | |
356 | 361 | | |
| |||
951 | 956 | | |
952 | 957 | | |
953 | 958 | | |
| 959 | + | |
| 960 | + | |
| 961 | + | |
| 962 | + | |
| 963 | + | |
| 964 | + | |
| 965 | + | |
| 966 | + | |
954 | 967 | | |
955 | 968 | | |
956 | 969 | | |
| |||
Lines changed: 18 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
| 76 | + | |
| 77 | + | |
76 | 78 | | |
77 | 79 | | |
78 | 80 | | |
| |||
815 | 817 | | |
816 | 818 | | |
817 | 819 | | |
| 820 | + | |
| 821 | + | |
| 822 | + | |
| 823 | + | |
| 824 | + | |
| 825 | + | |
| 826 | + | |
| 827 | + | |
| 828 | + | |
| 829 | + | |
| 830 | + | |
| 831 | + | |
| 832 | + | |
| 833 | + | |
| 834 | + | |
| 835 | + | |
818 | 836 | | |
Lines changed: 5 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
220 | 220 | | |
221 | 221 | | |
222 | 222 | | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
223 | 228 | | |
224 | 229 | | |
225 | 230 | | |
| |||
Lines changed: 5 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
93 | 93 | | |
94 | 94 | | |
95 | 95 | | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
96 | 101 | | |
97 | 102 | | |
98 | 103 | | |
| |||
Lines changed: 4 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
209 | 209 | | |
210 | 210 | | |
211 | 211 | | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
212 | 216 | | |
Lines changed: 20 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
548 | 548 | | |
549 | 549 | | |
550 | 550 | | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
551 | 571 | | |
552 | 572 | | |
553 | 573 | | |
| |||
Lines changed: 18 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
99 | 99 | | |
100 | 100 | | |
101 | 101 | | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
102 | 105 | | |
103 | 106 | | |
104 | 107 | | |
| |||
174 | 177 | | |
175 | 178 | | |
176 | 179 | | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
177 | 190 | | |
178 | 191 | | |
179 | 192 | | |
| |||
550 | 563 | | |
551 | 564 | | |
552 | 565 | | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
553 | 571 | | |
554 | 572 | | |
0 commit comments