Accesso interregionale per Amazon S3 - AWS SDK for Java 2.x

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Accesso interregionale per Amazon S3

Quando lavori con i bucket Amazon Simple Storage Service (Amazon S3) Simple Storage Service (Amazon S3), di solito sai qual Regione AWS è il bucket giusto. La regione con cui lavori viene determinata al momento della creazione del client S3.

Tuttavia, a volte potresti dover lavorare con un bucket specifico, ma non sai se si trova nella stessa regione impostata per il client S3.

Invece di effettuare più chiamate per determinare la regione del bucket, puoi utilizzare l'SDK per abilitare l'accesso ai bucket S3 in diverse regioni.

Installazione

Il supporto per l'accesso interregionale è diventato disponibile con la versione 2.20.111 dell'SDK. Usa questa versione o una successiva nel tuo file di build di Maven per la s3 dipendenza, come mostrato nel seguente frammento.

<dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>s3</artifactId> <version>2.20.111</version> </dependency>

Successivamente, quando crei il tuo client S3, abilita l'accesso interregionale come mostrato nello snippet. Per impostazione predefinita, l'accesso non è abilitato.

S3AsyncClient client = S3AsyncClient.builder() .crossRegionAccessEnabled(true) .build();

In che modo l'SDK fornisce l'accesso a più regioni

Quando si fa riferimento a un bucket esistente in una richiesta, ad esempio quando si utilizza il putObject metodo, l'SDK avvia una richiesta alla regione configurata per il client.

Se il bucket non esiste in quella regione specifica, la risposta all'errore include la regione effettiva in cui risiede il bucket. L'SDK utilizza quindi la regione corretta in una seconda richiesta.

Per ottimizzare le richieste future allo stesso bucket, l'SDK memorizza nella cache questa mappatura della regione nel client.

Considerazioni

Quando abiliti l'accesso ai bucket tra regioni, tieni presente che la prima chiamata API potrebbe comportare un aumento della latenza se il bucket non si trova nella regione configurata dal client. Tuttavia, le chiamate successive traggono vantaggio dalle informazioni sulla regione memorizzate nella cache, con conseguente miglioramento delle prestazioni.

Quando si abilita l'accesso tra regioni, l'accesso al bucket non viene influenzato. L'utente deve essere autorizzato ad accedere al bucket in qualsiasi regione in cui risieda.