

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 從第 1 版剖析 Amazon S3 URIs 到第 2 版的變更
<a name="migration-s3-uri-parser"></a>

本主題詳細說明剖析 Amazon S3 URIs 從第 1 版 (v1) 到第 2 版 (v2.) 的變更。

## 高階變更
<a name="migration-3-uri-parser-api-changes"></a>

若要開始剖析 v1 中的 S3 URI，您可以使用建構函數來執行個體化 `AmazonS3URI` 。在 v2 中，您在 執行個體`parseUri()`上呼叫 `S3Utilities`，以傳回 `S3URI`。


****  

| 變更 | v1 |   v2 | 
| --- | --- | --- | 
|    Maven 相依性  |  <pre><dependencyManagement><br />    <dependencies><br />        <dependency><br />            <groupId>com.amazonaws</groupId><br />            <artifactId>aws-java-sdk-bom</artifactId><br />            <version>1.12.5871</version><br />            <type>pom</type><br />            <scope>import</scope><br />        </dependency><br />    </dependencies><br /></dependencyManagement><br /><dependencies><br />    <dependency>  <br />        <groupId>com.amazonaws</groupId><br />        <artifactId>s3</artifactId><br />    </dependency><br /></dependencies></pre>  |  <pre><dependencyManagement><br />    <dependencies><br />        <dependency><br />            <groupId>software.amazon.awssdk</groupId><br />            <artifactId>bom</artifactId><br />            <version>2.27.212</version><br />            <type>pom</type><br />            <scope>import</scope><br />        </dependency><br />    </dependencies><br /></dependencyManagement><br /><dependencies><br />    <dependency><br />        <groupId>software.amazon.awssdk</groupId><br />        <artifactId>s3</artifactId><br />    </dependency><br /></dependencies></pre>  | 
| 套件名稱 | com.amazonaws.services.s3 | software.amazon.awssdk.services.s3 | 
| 類別名稱 | [AmazonS3URI](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/AmazonS3URI.html) | [S3URI](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/s3/S3Uri.html) | 

1 [最新版本](https://central.sonatype.com/artifact/com.amazonaws/aws-java-sdk-bom)。 2 [最新版本](https://central.sonatype.com/artifact/software.amazon.awssdk/bom)。

## API 變更
<a name="migration-3-uri-parser-api-changes"></a>


| Behavior (行為) | v1 |   v2 | 
| --- | --- | --- | 
| 剖析 S3 URI。 |  <pre>URI uri = URI.create( "https://s3.amazonaws.com");<br /><br />AmazonS3Uri s3Uri = <br />    new AmazonS3URI(uri, false);</pre>  |  <pre>S3Client s3Client = S3Client.create();<br />S3Utilities s3Utilities =<br />    s3Client.utilities();<br /><br />S3Uri s3Uri =<br />    s3Utilities.parseUri(uri);</pre>  | 
| 從 S3 URI 擷取儲存貯體名稱。 |  <pre>String bucket = s3Uri.getBucket();</pre>  |  <pre>Optional<String> bucket = s3Uri.bucket();</pre>  | 
| 擷取金鑰。 |  <pre>String key = s3Uri.getKey();</pre>  |  <pre>Optional<String> key = s3Uri.key();</pre>  | 
| 擷取區域。 |  <pre>String region = s3Uri.getRegion();</pre>  |  <pre>Optional<Region> region = s3Uri.region();<br /><br />String region;<br />if (s3Uri.region().isPresent()) {<br />    region = s3Uri.region().get().id();<br />}</pre>  | 
|  擷取 S3 URI 是否為路徑樣式。  |  <pre>boolean isPathStyle = s3Uri.isPathStyle();</pre>  |  <pre>boolean isPathStyle = s3Uri.isPathStyle();</pre>  | 
| 擷取版本 ID。 |  <pre>String versionId = s3Uri.getVersionId();</pre>  |  <pre>Optional<String> versionId = <br />    s3Uri.firstMatchingRawQueryParameter("versionId");</pre>  | 
| 擷取查詢參數。 | N/A |  <pre>Map<String, List<String>> queryParams =<br />    s3Uri.rawQueryParameters();</pre>  | 

### 行為變更
<a name="migration-s3-uri-parser-behavior-changes"></a>

#### URL 編碼
<a name="migration-s3-uri-parser-behavior-changes-URLencoding"></a>

v1 提供傳入旗標的選項，以指定 URI 是否應該以 URL 編碼。預設值為 `true`。

在 v2 中，不支援 URL 編碼。如果您使用具有預留或不安全字元的物件金鑰或查詢參數，則必須進行 URL 編碼。例如，您需要`" "`將空格取代為 `%20`。