aws / aws/amazon-s3-encryption-client-java

S3EncryptionClient builder requires region input even when endpointOverride is provided

Abierto
#486 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Java
Estrellas
34
Forks
21
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

### Problem:

`S3EncryptionClient.builder()` requires `region` as a mandatory input, even when `endpointOverride` is provided. This is a difference in behaviour from earlier version, where it was allowed to create the builder with only `endpointConfiguration` and without `region`.
Due to this, we have to pass a default region value always, resulting in ResourceNotFoundException for S3 Compatible vendors using a bucket in a different region. If no region is provided, and only endpoint is given, it works fine when using `com.amazonaws.aws`.

### Solution:

Allow `region` to be empty when `endpointOverride` is defined.

### Additional information

We are using these SDKs in Scala code
Java Version: Azul Zulu: 11.80.21
Scala Version: 2.12.19

## SDK versions
com.amazonaws.aws: 1.12.768
amazon-s3-encryption-client-java: 3.3.5
software.amazon.awssdk.s3: 2.31.67

### Sample Code
```
Using com.amazonaws.aws
AmazonS3EncryptionClientV2Builder
.standard()
.withEndpointConfiguration(
new EndpointConfiguration(endpoint, region)
)

Using software.amazon.awssdk.s3
S3EncryptionClient
.builder()
.endpointOverride(s3UriEndpoint)
.region(Region.of(s3Region)) --> Fails without passing this
```

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza en S3EncryptionClient.builder() y sigue cómo se gestionan endpointOverride y la validación de region. Compara el comportamiento actual con el ejemplo anterior de endpointConfiguration; se considera terminado cuando se acepta un builder que solo especifica un endpoint sin exigir una region y los usuarios de S3 compatible ya no necesitan proporcionar una región predeterminada potencialmente incorrecta.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
aws, java
Área
cloud, security
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bien especificado
Aptitud para principiantes
48/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.