Amazon S3와 작업 - AWS SDK for Java 2.x

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

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 액세스 포인트 또는 다중 리전 액세스 포인트를 설정한 후에는 putObjectgetObject와 같은 객체 메서드를 호출하고 버킷 이름 대신 액세스 포인트 식별자를 제공할 수 있습니다.

예를 들어 액세스 포인트 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>