보뇨 다이어리

AmazonS3Client 생성자 대신해서 쓰기 본문

컴퓨터 관련/환경 정보

AmazonS3Client 생성자 대신해서 쓰기

보뇨 2019. 5. 3. 10:01
반응형

갑자기 aws s3 를 쓰게되서 부랴부랴 세팅하고 있는데 마침 딱 원하는게 아래 링크작성자분이 작성한거라 참고함
근데 AmazonS3Client 의 생성자가 deprecated 가 되어있는거 :(
뭐시기뭐시기 builder 로 쓰라고하는데 영 불편해서 포스팅하기로 맘먹음 (별것도 아니지만...헤헤)
문제의 코딩은 이부분이다 AmazonS3Client(credentials, clientConfig)

아놔 코드내부에서는 가운데줄안되네

private String accessKey = "xxxxxx"; // 엑세스 키
    private String secretKey = "yyyyyyy"; // 보안 엑세스 키

    private AmazonS3 conn;

    public S3Util() {
        AWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey);
        ClientConfiguration clientConfig = new ClientConfiguration();
        clientConfig.setProtocol(Protocol.HTTP);
        this.conn = new AmazonS3Client(credentials, clientConfig);
        conn.setEndpoint("s3.ap-northeast-2.amazonaws.com"); // 엔드포인트 설정 [ 아시아 태평양 서울 ]
    }

그리고 이제부터 작성해야할 부분은 다음과 같다 끝!
여기서 withRegion 을 쓰지않을경우 Unable to find a region via the region provider chain 이라는 에러가 발생함

    private String accessKey = "xxxxxx"; // 엑세스 키
    private String secretKey = "yyyyyyy"; // 보안 엑세스 키

    private AmazonS3 conn;

    public S3Util() {
        AWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey);
        conn = AmazonS3ClientBuilder.standard()
                .withCredentials(new AWSStaticCredentialsProvider(credentials))
                .withRegion(Regions.AP_NORTHEAST_2)
                .build();
    }

출처

https://stackoverflow.com/questions/41951978/amazons3clientcredentials-is-deprecated
https://shj7242.github.io/2017/12/28/Spring34/

반응형