9

Ours is a Spring-Boot based application. For integration with AWS SNS and SQS, we have couple of options:

  1. Use Spring-Cloud-AWS
  2. Use AWS-SDK-Java 2

I wanted to know if there is any advantage in using one or the other.

When I ask AWS guys, they tell me that AWS SDK gets updated regularly and integration with SNS and SQS is not difficult. Hence, there is no need to integrate with Spring-Cloud-AWS.

I tried searching on gitter channel for Spring-Cloud and could not find any relevant information. Documentation does state that I can update the AWS-SDK version. Documentation does not state any compelling reason for not using AWS-SDK directly.

If anyone has some insights, please share.

AdrienW
  • 3,092
  • 6
  • 29
  • 59
Khurram Haroon
  • 126
  • 1
  • 5
  • 1
    Spring Cloud AWS uses the aws java sdk. It simplifies configuration for use in spring projects. See pull request https://github.com/spring-cloud/spring-cloud-aws/pull/524 for upgrading to the v2 api – spencergibb Aug 19 '20 at 20:05
  • One very notable feature of V2 API is the support for async operations. Spring Cloud AWS currently does not have it. – Luke 10X Sep 05 '22 at 11:19

2 Answers2

2

From the AWS Spring Team:

"From now on, our efforts focus on 3.0 - based on AWS SDK 2.0."

So, if you need AWS SDK 2.0, you probably want to go directly with the SDK.

https://spring.io/blog/2021/03/17/spring-cloud-aws-2-3-is-now-available

For more on what's new on AWS Java SDK 2.0: https://aws.amazon.com/blogs/developer/aws-sdk-for-java-2-0-developer-preview/

Adan Amarillas
  • 219
  • 3
  • 4
  • Just FYI. If you go to Spring's Cloud AWS website https://awspring.io/learn/introduction/ it confirms what you mentioned above. "3.0.0 (not released yet) - compatible with Spring Boot 2.6.x and 2.7.x, build on the top of AWS SDK v2" – gaoagong Aug 04 '22 at 23:40
0

The main advantage over the AWS Java SDK is the Spring style convenience and head start we get by using the Spring project. As per the project documentation (https://cloud.spring.io/spring-cloud-aws/reference/html/##using-amazon-web-services)

Using the SDK, application developers still have to integrate the SDK into their application with a considerable amount of infrastructure related code. Spring Cloud AWS provides application developers already integrated Spring-based modules to consume services and avoid infrastructure related code as much as possible.

Dharman
  • 30,962
  • 25
  • 85
  • 135
Vishal Maral
  • 1,279
  • 1
  • 10
  • 30