Spring Cloud AWS 3.0 RC1 brings all the features that are planned for the 3.0 release.
📗 https://docs.awspring.io/spring-cloud-aws/docs/3.0.0-RC1/reference/html/index.html
The most notable features added in RC1 are:
SqsTemplate
SqsTemplate
is an higher level abstraction on the top of SqsAsyncClient
for sending and receiving messages imperatively:
SendResult<String> result = template.send(to -> to.queue("myQueue")
.payload("myPayload")
.header("myHeaderName", "myHeaderValue")
.headers(Map.of("myOtherHeaderName", "myOtherHeaderValue"))
.delaySeconds(10)
);
Go to reference documentation for more details.
S3 URL signing
S3Template
integrates now with S3Presigner
for creating signed URLs
URL signedGetUrl = s3Template.createSignedGetUrl("bucket_name", "file.txt", Duration.ofMinutes(5));
Go to reference documentation for more details.
Secrets Manager
Secrets Manager integration now supports binary secrets and allows setting properties prefix to avoid collision with other property sources.
spring.config.import=optional:aws-secretsmanager:/secrets/database-secrets?prefix=db.
Go to reference documentation for more details.
What's Changed
SQS
- Remove ReceiveMessageRequestId from Standard SQS (#529) by @tomazfernandes in #586
- Replace singletonList(null) in BatchAckProcessor (#584) by @tomazfernandes in #585
- Add Queue to SQS Container Task Executor (#580) by @tomazfernandes in #581
- Separate AckResult and Component TaskExecutors (#582) by @tomazfernandes in #583
- Abstract ContainerOptions (#598) by @tomazfernandes in #599
- Add option to resolve sqs queue by ARN in SqsListener by @techadri in #634
- Add SqsTemplate by @tomazfernandes in #597
- Add Acknowledgement Shutdown Timeout (#631) by @tomazfernandes in #632
- Add SQS Sample (#508) by @tomazfernandes in #587
- Fix SQS autoconfiguration when SQS module is not on the classpath. by @maciejwalkowiak in #635
S3
- Add getLocation method to S3Resource. by @maciejwalkowiak in #611
- feat: S3PathMatchingResourcePatternResolver 3.x.x by @klopfdreh in #558
- Basic s3 signed URL implementation by @Belair34 in #620
- Upgrade AWS SDK & Transfer Manager by @maciejwalkowiak in #612
DynamoDB
- Add documentation on how to use DynamoDB integration with Devtools. by @maciejwalkowiak in #615
Secrets Manager
- #576 Ensure that property source names are unique by @thorntonrp in #589
- Add option to set a property prefix on Secrets Manager property sources by @maciejwalkowiak in #622
- Introduce SecretBinary type for SecretsManager by @MatejNedic in #613
Core
Other
- Update link to 3.0.0-M3 by @rajadilipkolli in #549
- ci: add jdk 19 on build by @mcruzdev in #550
- Normalize Maven Variables by @AlekSimpson in #605
Feedback
We are aware that 3.0 release breaks existing code but this was the only sensible way we could evolve the framework and meet the demand in constrained time we have. We are very open for your feedback and appreciate any shoutout on social media and Github ⭐️.
This release would not happen without our wonderful community. Big thanks for your bug reports, ideas and pull requests!
New Contributors
- @akefirad made their first contribution in #555
- @thorntonrp made their first contribution in #589
- @kesslerj made their first contribution in #604
- @AlekSimpson made their first contribution in #605
- @klopfdreh made their first contribution in #558
- @Belair34 made their first contribution in #620
- @HarshCasper made their first contribution in #637
Full Changelog: v3.0.0-M3...v3.0.0-RC1