Usa Regioni AWS - 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à.

Usa Regioni AWS

Regioni AWS consentire l'accesso ai client del servizio Servizi AWS che risiedono fisicamente in un'area geografica specifica.

configura esplicitamente un Regione AWS

Per impostare in modo esplicito una regione, si consiglia di utilizzare le costanti definite nella classe Region. Si tratta di un'enumerazione di tutte le regioni disponibili pubblicamente.

Per creare un client con una regione enumerata dalla classe, utilizzate il metodo del client builder. region

Ec2Client ec2 = Ec2Client.builder() .region(Region.US_WEST_2) .build();

Se la regione che desideri utilizzare non è una delle enumerazioni della Region classe, puoi creare una nuova regione utilizzando il metodo statico. of Questo metodo consente di accedere a nuove regioni senza aggiornare l'SDK.

Region newRegion = Region.of("us-east-42"); Ec2Client ec2 = Ec2Client.builder() .region(newRegion) .build();
Nota

Dopo aver creato un client con il builder, è immutabile e non può essere modificato. Regione AWS Se devi lavorare con più client Regioni AWS per lo stesso servizio, devi creare più client, uno per regione.

Consenti all'SDK di determinare automaticamente la regione dall'ambiente

Quando il codice viene eseguito su Amazon EC2 o AWS Lambda, potresti voler configurare i client in modo Regione AWS che utilizzino lo stesso su cui è in esecuzione il codice. Questo disaccoppia il codice dall'ambiente in cui è in esecuzione e semplifica la distribuzione dell'applicazione su più utenti Regioni AWS per ridurre la latenza o la ridondanza.

Per utilizzare la catena di provider di credenziali/regioni predefinita per determinare la regione dall'ambiente, utilizzate il metodo del client builder. create

Ec2Client ec2 = Ec2Client.create();

Se non impostate una regione in modo esplicito Regione AWS utilizzando il region metodo, l'SDK consulta la catena di provider di regioni predefinita per determinare la regione da utilizzare.

Comprendi la catena di fornitori regionali predefinita

L'SDK esegue le seguenti operazioni per cercare un Regione AWS :

  1. Qualsiasi regione esplicita impostata utilizzando il builder stesso ha la precedenza region su qualsiasi altra cosa.

  2. La variabile di ambiente AWS_REGION è selezionata. Se è impostata, quella regione viene utilizzata per configurare il client.

    Nota

    Il Lambda contenitore imposta questa variabile di ambiente.

  3. L'SDK controlla il file di configurazione AWS condiviso e il file di credenziali condivise (di solito si trova in ~/.aws/config and~/.aws/credentials). Se la region proprietà è presente, l'SDK la utilizza.

    • Se l'SDK trova la region proprietà in entrambi i file per lo stesso profilo (incluso il default profilo), l'SDK utilizza il valore nel file delle credenziali condivise.

    • La variabile di ambiente AWS_CONFIG_FILE può essere utilizzata per personalizzare il percorso del file di configurazione condiviso.

    • La variabile di AWS_PROFILE ambiente o la proprietà di aws.profile sistema possono essere utilizzate per specificare il profilo caricato dall'SDK.

  4. L'SDK tenta di utilizzare il servizio di metadati dell' Amazon EC2 istanza (IMDS) per determinare la regione dell'istanza attualmente in esecuzione. Amazon EC2

  5. Se l'SDK non ha ancora trovato una regione a questo punto, la creazione del client fallisce con un'eccezione.

Durante lo sviluppo di AWS applicazioni, un approccio comune consiste nell'utilizzare il file di configurazione condiviso (descritto nell'ordine di recupero delle credenziali) per impostare la regione per lo sviluppo locale e fare affidamento sulla catena di provider di regioni predefinita per determinare la regione in cui l'applicazione viene eseguita sull'infrastruttura. AWS Questo semplifica notevolmente la creazione del client e mantiene l'applicazione portatile.

Verifica la disponibilità del servizio in una regione

Per verificare se un determinato Servizio AWS prodotto è disponibile in una regione, utilizza il region metodo serviceMetadata and sul client del servizio.

DynamoDbClient.serviceMetadata().regions().forEach(System.out::println);

Consultate la documentazione della classe Region per quanto riguarda la possibilità di Regioni AWS specificare e utilizzate il prefisso endpoint del servizio per eseguire le query.

Scegli un endpoint specifico

In determinate situazioni, ad esempio per testare in anteprima le funzionalità di un servizio prima che queste diventino disponibili sul mercato, potrebbe essere necessario specificare un endpoint specifico in una regione. In queste situazioni, i client del servizio possono essere configurati chiamando il metodo. endpointOverride

Ad esempio, per configurare un Amazon EC2 client in modo che utilizzi la regione Europa (Irlanda) con un endpoint specifico, utilizza il codice seguente.

Ec2Client ec2 = Ec2Client.builder() .region(Region.EU_WEST_1) .endpointOverride(URI.create("https://ec2.eu-west-1.amazonaws.com")) .build();

Vedi Regioni ed endpoint per l'elenco corrente delle regioni e gli endpoint corrispondenti per tutti i servizi. AWS