1 단계 : 최신 정보 얻기 aws-java-sdk
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk</artifactId>
<version>1.11.660</version>
</dependency>
2 단계 : 올바른 가져 오기
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.regions.Region;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3Client;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.ListObjectsRequest;
import com.amazonaws.services.s3.model.ObjectListing;
버킷이 존재한다고 확신하는 경우 버킷 이름의 철자가Specified key does not exists error
잘못되었음을 의미 합니다 (슬래시 또는 특수 문자 포함). 명명 규칙에 대한 설명서 를 참조하십시오 .
문서는 다음을 인용합니다.
요청 된 객체를 버킷에서 사용할 수 있고 사용자가 여전히 Amazon S3에서 404 NoSuchKey 오류를 수신하는 경우 다음을 확인하십시오.
요청이 개체 이름의 대문자를 포함하여 개체 이름과 정확히 일치하는지 확인합니다. S3 객체에 대한 요청은 대소 문자를 구분합니다. 예를 들어, 객체 이름이 myimage.jpg인데 Myimage.jpg가 요청 된 경우 요청자는 404 NoSuchKey 오류를 수신합니다. 요청 된 경로가 개체의 경로와 일치하는지 확인합니다. 예를 들어 객체 경로가 awsexamplebucket / Downloads / February / Images / image.jpg이지만 요청 된 경로가 awsexamplebucket / Downloads / February / image.jpg 인 경우 요청자는 404 NoSuchKey 오류를 수신합니다. 개체 경로에 공백이 포함 된 경우 요청에서 올바른 구문을 사용하여 경로를 인식하는지 확인하십시오. 예를 들어 AWS CLI를 사용하여 Windows 시스템에 객체를 다운로드하는 경우 다음과 같이 객체 경로를 따옴표로 묶어야합니다. aws s3 cp "s3 : // awsexamplebucket / Backup Copy Job 4 / 3T000000.vbk". 선택적으로 서버 액세스 로깅을 활성화하여 404 오류를 유발할 수있는 문제에 대해 더 자세히 요청 레코드를 검토 할 수 있습니다.
AWSCredentials credentials = new BasicAWSCredentials(AWS_ACCESS_KEY_ID, AWS_SECRET_KEY);
AmazonS3 s3Client = AmazonS3ClientBuilder.standard().withRegion(Regions.US_EAST_1).build();
ObjectListing objects = s3Client.listObjects("bigdataanalytics");
System.out.println(objects.getObjectSummaries());