Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

아님말고

[AWS] AWS SDK For Java 버전1과 2의 차이 본문

Java

[AWS] AWS SDK For Java 버전1과 2의 차이

스타박씨 2023. 8. 2. 16:37

AWS의 S3, DynamoDB 등을 Java 어플리케이션에서 이용하려면 AWS SDK을 이용해야 하는데 AWS SDK의 V1과 V2의 차이점이 많다. 그리고 구글링을 하면 주로 sdk v1을 이용한 결과가 대부분이어서 v2와의 차이점을 알고 구글링을 하는 것이 좋을 것 같아 간단하게 정리를 해본다.

Java 1.x용 SDK에서 Java 2.x용 SDK로의 눈에 띄는 변화는 패키지 이름이다.

  v1 v2
package name com.amazonaws software.amazon.awssdk

그래서, dependency할때도 아래와 같다.

v1 implementation 'com.amazonaws:aws-java-sdk-dynamodb:1.12.239'
v2 implementation platform('software.amazon.awssdk:bom:2.20.85')
implementation 'software.amazon.awssdk:dynamodb-enhanced'

 

클라이언트 빌더

s3, dynamoDB 등에 접속하려면 jdbcConnect 처럼 client을 이용해야하는데 client를 만드는 방법이 v2에서는 생성자 방식을 더 이상 사용하지 않는다.

예 버전 1.x에서 클라이언트 생성
 
AmazonDynamoDB ddbClient = AmazonDynamoDBClientBuilder.defaultClient();
AmazonDynamoDBClient ddbClient = new AmazonDynamoDBClient();
예 버전 2.x에서 클라이언트 생성하기
 
DynamoDbClient ddbClient = DynamoDbClient.create();
DynamoDbClient ddbClient = DynamoDbClient.builder().build();

 

세터 메서드

AWS SDK for Java2.x에서는 setter 메서드 이름에 set or with 접두사가 포함되지 않습니다. 

예 1.x의 설정 방법 사용
 
AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard()
        		.withRegion("us-east-1")
        		.build();
예 2.x의 설정 방법 사용
 
DynamoDbClient client = DynamoDbClient.builder()
        		.region(Region.US_EAST_1)
        		.build();

 

클래스 이름

예 1.x의 클래스 이름
 
AmazonDynamoDB
AWSACMPCAAsyncClient
예 2.x의 클래스 이름
 
DynamoDbClient
AcmAsyncClient

 

 

 

좀더 자세한 내용은 : AWS SDK for Java1.x와 2.x의 차이점은 무엇입니까? - AWS SDK for Java 2.x (amazon.com)

Comments