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 il SDK per abilitare l'accesso ai bucket S3 in diverse regioni.
Installazione
Il supporto per l'accesso interregionale è diventato disponibile con la SDK versione 2.20.111
di. 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.27.21
</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 SDK fornisce l'accesso interregionale
Quando si fa riferimento a un bucket esistente in una richiesta, ad esempio quando si utilizza il putObject
metodo, 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. SDKQuindi utilizza la regione corretta in una seconda richiesta.
Per ottimizzare le richieste future allo stesso bucket, memorizza nella SDK cache la mappatura di questa regione nel client.
Considerazioni
Quando abiliti l'accesso ai bucket tra regioni, tieni presente che la prima API chiamata 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.