티스토리 뷰

지난 포스팅에서는 string을 S3에 저장하는 방법을 작성하였고, 이번 포스팅에서는 저장된 S3 텍스트파일을 가져오는 방법에 대해 작성해보도록 하겠습니다.

참고_ http://kkumalog.tistory.com/38



#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;

@Bean
public BasicAWSCredentials basicAWSCredentials() {
return new BasicAWSCredentials(accessKey, secretKey);
}

@Bean
public AWSCredentialsProvider awsCredentialsProvider(AWSCredentials awsCredentials) {


return new AWSCredentialsProvider() {
@Override
public AWSCredentials getCredentials() { return awsCredentials; }
@Override

public void refresh() {}
};

}

@Bean
public AmazonS3 amazonS3Client(AWSCredentialsProvider awsCredentialsProvider) {
return AmazonS3ClientBuilder
.standard()
.withCredentials(awsCredentialsProvider)
.withRegion(Regions./fromName/(region))
.build();
}



#Reading S3 text file


위에서 설정된 aws 정보를 호출하고, 이를 이용하여 bucket에 접근해 데이터를 가져오는 코드입니다.

AmazonS3 s3Client = awsConfig.amazonS3Client(awsConfig.awsCredentialsProvider(awsConfig.basicAWSCredentials()));
S3Object s3object = s3Client.getObject(new GetObjectRequest(buckets, key));
BufferedReader reader = new BufferedReader(new InputStreamReader((s3object.getObjectContent())));

String line = null;
try {
line = reader.readLine();
} catch (IOException e) {

e.printStackTrace();
}


댓글
최근에 올라온 글
«   2024/11   »
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
Total
Today
Yesterday