Alterações na análise de URIs do Amazon S3 da versão 1 para a versão 2 - AWS SDK for Java 2.x

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Alterações na análise de URIs do Amazon S3 da versão 1 para a versão 2

Este tópico detalha as mudanças na análise de URIs do Amazon S3 da versão 1 (v1) para a versão 2 (v2.).

Alterações de alto nível

Para começar a analisar um URI do S3 na v1, você instancia um usando um AmazonS3URI construtor. Na v2, você chama parseUri() uma instância deS3Utilities, para retornar umS3URI.

Alteração v1 v2

Dependências do 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.21.212</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>s3</artifactId> </dependency> </dependencies>
Nome do pacote com.amazonaws.services.s3 software.amazon.awssdk.services.s3
Nomes da classe AmazonS3URI S3URI

1 Versão mais recente. 2 Versão mais recente.

Mudanças na API

Comportamento v1 v2
Analise um URI do S3.
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);
Recupere o nome do bucket de um URI do S3.
String bucket = s3Uri.getBucket();
Optional<String> bucket = s3Uri.bucket();
Recupere a chave.
String key = s3Uri.getKey();
Optional<String> key = s3Uri.key();
Recupere a região.
String region = s3Uri.getRegion();
Optional<Region> region = s3Uri.region(); String region; if (s3Uri.region().isPresent()) { region = s3Uri.region().get().id(); }

Recupere se o URI do S3 é do estilo de caminho.

boolean isPathStyle = s3Uri.isPathStyle();
boolean isPathStyle = s3Uri.isPathStyle();
Recupere o ID da versão.
String versionId = s3Uri.getVersionId();
Optional<String> versionId = s3Uri.firstMatchingRawQueryParameter("versionId");
Recupere os parâmetros da consulta. N/D
Map<String, List<String>> queryParams = s3Uri.rawQueryParameters();

Alteração de comportamento

Codificação de URL

v1 fornece a opção de passar um sinalizador para especificar se o URI deve ser codificado em URL. O valor padrão é true.

Na v2, a codificação de URL não é suportada. Se você trabalha com chaves de objeto ou parâmetros de consulta que tenham caracteres reservados ou não seguros, você deve codificá-los em URL. Por exemplo, você precisa substituir um espaço em branco " " por. %20