Cambios en el análisis de los URI de Amazon S3 de la versión 1 a la versión 2 - AWS SDK for Java 2.x

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Cambios en el análisis de los URI de Amazon S3 de la versión 1 a la versión 2

En este tema se detallan los cambios en el análisis de los URI de Amazon S3 de la versión 1 (v1) a la versión 2 (v2.).

Cambios de alto nivel

Para empezar a analizar un URI de S3 en la versión 1, debe crear una instancia mediante un AmazonS3URI constructor. En la versión 2, se parseUri() invoca una instancia deS3Utilities, para devolver un. S3URI

Cambio v1 v2

dependencias 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>
Package name com.amazonaws.services.s3 software.amazon.awssdk.services.s3
Nombres de clase AmazonS3URI S3URI

1 Última versión. 2 Última versión.

Cambios en la API

Comportamiento v1 v2
Analiza un URI de 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);
Recupera el nombre del bucket de un URI de S3.
String bucket = s3Uri.getBucket();
Optional<String> bucket = s3Uri.bucket();
Recupera la clave.
String key = s3Uri.getKey();
Optional<String> key = s3Uri.key();
Recupera la región.
String region = s3Uri.getRegion();
Optional<Region> region = s3Uri.region(); String region; if (s3Uri.region().isPresent()) { region = s3Uri.region().get().id(); }

Recupera si el URI de S3 es de estilo de ruta.

boolean isPathStyle = s3Uri.isPathStyle();
boolean isPathStyle = s3Uri.isPathStyle();
Recupera el ID de la versión.
String versionId = s3Uri.getVersionId();
Optional<String> versionId = s3Uri.firstMatchingRawQueryParameter("versionId");
Recupera los parámetros de la consulta. N/A
Map<String, List<String>> queryParams = s3Uri.rawQueryParameters();

Cambios de comportamiento

Codificación de URL

La versión 1 ofrece la opción de pasar una marca para especificar si el URI debe estar codificado como URL. El valor predeterminado es true.

En la versión 2, no se admite la codificación de URL. Si trabaja con claves de objeto o parámetros de consulta que contienen caracteres reservados o no seguros, debe codificarlos mediante una URL. Por ejemplo, debe reemplazar un espacio en blanco " " por. %20