티스토리 뷰
이 페이지는 S3 버킷을 지정하고 그 안의 객체를 가져오는 내용을 설명하고 있다.
AWSConfig.java는 이전에 작성했던 'Reading S3 text file as a string'에서 작성했던 코드를 그대로 이용한다. (저는 하나의 파일을 만들어두고 필요한 경우 불러오는 형태로 작업하고 있습니다)
# AWSConfig.java
S3 파일에 접근하기 위해서는 aws 설정이 필요합니다.
우선 보안상 / 코드의 효율성을 위해 다른 곳에 설정되어 있는 AWS ACCESS KEY, SECRET KEY, region 을 가져오는 코드를 포함하고 있습니다.
@Value(“${AWS_ACCESS_KEY_ID}”)private String accessKey;@Value(“${AWS_SECRET_KEY}”)private String secretKey;@Value(“${spring.aws.region}”)private String region;@Beanpublic BasicAWSCredentials basicAWSCredentials() {return new BasicAWSCredentials(accessKey, secretKey);}@Beanpublic AWSCredentialsProvider awsCredentialsProvider(AWSCredentials awsCredentials) {return new AWSCredentialsProvider() {@Overridepublic AWSCredentials getCredentials() { return awsCredentials; }@Overridepublic void refresh() {}};}@Beanpublic AmazonS3 amazonS3Client(AWSCredentialsProvider awsCredentialsProvider) {return AmazonS3ClientBuilder.standard().withCredentials(awsCredentialsProvider).withRegion(Regions./fromName/(region)).build();}
# Get list object in AWS S3 bucket
AmazonS3 s3Client = awsConfig.amazonS3Client(awsConfig.awsCredentialsProvider(awsConfig.basicAWSCredentials()));ObjectListing objectListing = s3Client.listObjects(BucketName, prefix); //prefix가 필요하지 않은 경우 다음과 같이 사용할 수도 있다. => ObjectListing objectListing = s3Client.listObjects(BucketName);for(S3ObjectSummary s : objectListing.getObjectSummaries()) {System.out.println(s.getKey());}
위의 코드를 실행하면 s3 버킷에 들어있는 파일리스트를 출력할 수 있고, 사용에 따라 출력이 아닌 다른 작업으로 수정하면 된다.
'Programming > Java' 카테고리의 다른 글
[Spring] Get data from excel file (0) | 2019.01.20 |
---|---|
[Spring] How to get AWS S3 bucket list (0) | 2019.01.14 |
[Java] Collections.sort()를 이용한 List 정렬 (0) | 2018.12.30 |
[Spring] Reading S3 text file as a string (0) | 2018.12.19 |
[Spring] Uploading String to Amazon S3 (1) | 2018.12.12 |
댓글