기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon S3와 작업
이 단원에서는 AWS SDK for Java 2.x를 사용한 Amazon Simple Storage Service(S3) 프로그래밍의 예제를 제공합니다.
다음 예제에는 각 기술을 보여주는 데 필요한 코드만 포함되어 있습니다. 전체 예제 코드는 에서 사용할 수 GitHub
참고
버전 2.18.x 이상부터는 엔드포인트 재정의를 포함할 때 가상 호스트 스타일 주소 지정을 AWS SDK for Java 2.x 사용합니다. 이는 버킷 이름이 유효한 DNS 레이블인 한 적용됩니다.
true
에서 forcePathStyle
다음 예제는 엔드포인트 재정의 및 경로 스타일 주소 지정을 사용하여 구성된 서비스 클라이언트를 보여줍니다.
S3Client client = S3Client.builder() .region(Region.US_WEST_2) .endpointOverride(URI.create("https://s3.us-west-2.amazonaws.com")) .forcePathStyle(true) .build();
액세스 포인트 또는 다중 리전 액세스 포인트 사용
Amazon S3 액세스 포인트 또는 다중 리전 액세스 포인트를 설정한 후에는 putObject
및 getObject
와 같은 객체 메서드를 호출하고 버킷 이름 대신 액세스 포인트 식별자를 제공할 수 있습니다.
예를 들어 액세스 포인트 ARN 식별자가 arn:aws:s3:us-west-2:123456789012:accesspoint/test
인 경우 다음 코드 조각을 사용하여 putObject
메서드를 호출할 수 있습니다.
Path path = Paths.get(URI.create("file:///temp/file.txt")); s3Client.putObject(builder -> builder .key("myKey") .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint/test") , path);
ARN 문자열 대신 액세스 포인트의 버킷 스타일 별칭을 bucket
파라미터로 사용할 수도 있습니다.
다중 리전 액세스 포인트를 사용하려면 bucket
매개변수를 다음 형식의 다중 리전 액세스 ARN으로 대체하세요.
arn:aws:s3::account-id:accesspoint/MultiRegionAccessPoint_alias
Java용 SDK를 사용하여 다중 리전 액세스 포인트를 사용하려면 다음 Maven 종속성을 추가하세요. Maven Central에서 최신 버전
<dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>auth-crt</artifactId> <version>
VERSION
</version> </dependency>