버전 1에서 버전 2로 Amazon S3 URI 구문 분석에 관한 변경 사항 - AWS SDK for Java 2.x

버전 1에서 버전 2로 Amazon S3 URI 구문 분석에 관한 변경 사항

이 주제에서는 버전 1(v1)에서 버전 2(v2)로의 Amazon S3 URI 구문 분석의 변경 사항에 대해 자세히 설명합니다.

높은 수준의 변경 사항

v1에서 S3 URI 구문 분석을 시작하려면 생성자를 사용하여 AmazonS3URI를 인스턴스화합니다. v2에서는 S3Utilities의 인스턴스에서 parseUri()를 호출하여 S3URI를 반환합니다.

변경 사항 v1 v2

Maven 종속성

<dependencyManagement> <dependencies> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-bom</artifactId> <version>1.12.5871</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>com.amazonaws</groupId> <artifactId>s3</artifactId> </dependency> </dependencies>
<dependencyManagement> <dependencies> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>bom</artifactId> <version>2.27.212</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>s3</artifactId> </dependency> </dependencies>
패키지 이름 com.amazonaws.services.s3 software.amazon.awssdk.services.s3
클래스 이름 AmazonS3URI S3URI

1 최신 버전. 2 최신 버전.

API 변경 사항

동작 v1 v2
S3 URI를 구문 분석합니다.
URI uri = URI.create( "https://s3.amazonaws.com"); AmazonS3Uri s3Uri = new AmazonS3URI(uri, false);
S3Client s3Client = S3Client.create(); S3Utilities s3Utilities = s3Client.utilities(); S3Uri s3Uri = s3Utilities.parseUri(uri);
S3 버킷에서 버킷 이름을 검색합니다.
String bucket = s3Uri.getBucket();
Optional<String> bucket = s3Uri.bucket();
키를 검색합니다.
String key = s3Uri.getKey();
Optional<String> key = s3Uri.key();
리전을 검색합니다.
String region = s3Uri.getRegion();
Optional<Region> region = s3Uri.region(); String region; if (s3Uri.region().isPresent()) { region = s3Uri.region().get().id(); }

S3 URI가 경로형인지 검색합니다.

boolean isPathStyle = s3Uri.isPathStyle();
boolean isPathStyle = s3Uri.isPathStyle();
버전 ID를 검색합니다.
String versionId = s3Uri.getVersionId();
Optional<String> versionId = s3Uri.firstMatchingRawQueryParameter("versionId");
쿼리 파라미터를 검색합니다. N/A
Map<String, List<String>> queryParams = s3Uri.rawQueryParameters();

동작 변경 사항

URL 인코딩

v1은 플래그를 전달하여 URI를 URL로 인코딩할지 여부를 지정하는 옵션을 제공합니다. 기본값은 true입니다.

v2에서는 URL 인코딩이 지원되지 않습니다. 예약되었거나 안전하지 않은 문자가 있는 객체 키 또는 쿼리 파라미터로 작업하는 경우 URL 인코딩해야 합니다. 예를 들어 공백(" ")을 %20으로 바꿔야 합니다.