La AWS SDK for Java versione 1.x è entrata in modalità manutenzione il 31 luglio 2024 e sarà disponibile il 31 end-of-support
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à.
Regione AWS Selezione
Le regioni consentono di accedere ai AWS servizi che risiedono fisicamente in un'area geografica specifica. Ciò può essere utile per la ridondanza e per mantenere i dati e le applicazioni in esecuzione vicino ai punti di accesso ai servizi stessi.
Verifica della disponibilità del servizio in una regione
Per verificare se un determinato prodotto Servizio AWS è disponibile in una regione, utilizza il isServiceSupported
metodo relativo alla regione che desideri utilizzare.
Region.getRegion(Regions.US_WEST_2) .isServiceSupported(AmazonDynamoDB.ENDPOINT_PREFIX);
Consultate la documentazione della classe Regions per le regioni che potete specificare e utilizzate il prefisso endpoint del servizio per eseguire le query. Il prefisso dell'endpoint di ogni servizio è definito nell'interfaccia del servizio. Ad esempio, il prefisso dell' DynamoDB endpoint è definito nel DB. AmazonDynamo
Scelta di una Regione
A partire dalla versione 1.4 di AWS SDK for Java, puoi specificare il nome di una regione e SDK sceglierà automaticamente un endpoint appropriato per te. Per scegliere tu stesso l'endpoint, vedi Scelta di un endpoint specifico.
Per impostare in modo esplicito una regione, ti consigliamo di utilizzare l'enumerazione Regioni. Si tratta di un'enumerazione di tutte le regioni disponibili pubblicamente. Per creare un client con una regione dall'enum, usa il codice seguente.
AmazonEC2 ec2 = AmazonEC2ClientBuilder.standard() .withRegion(Regions.US_WEST_2) .build();
Se la regione che stai tentando di utilizzare non è nell'Regions
enum, puoi impostare la regione usando una stringa che rappresenta il nome della regione.
AmazonEC2 ec2 = AmazonEC2ClientBuilder.standard() .withRegion("{region_api_default}") .build();
Nota
Dopo che è stato creato con il generatore, il client è immutabile e la regione non può essere modificata. Se state lavorando con più client Regioni AWS per lo stesso servizio, dovreste creare più client, uno per regione.
Scelta di un endpoint specifico
Ogni AWS client può essere configurato per utilizzare un endpoint specifico all'interno di una regione chiamando il withEndpointConfiguration
metodo durante la creazione del client.
Ad esempio, per configurare il Amazon S3 client in modo che utilizzi la regione Europa (Irlanda), utilizza il codice seguente.
AmazonS3 s3 = AmazonS3ClientBuilder.standard() .withEndpointConfiguration(new EndpointConfiguration( "https://s3.eu-west-1.amazonaws.com", "eu-west-1")) .withCredentials(CREDENTIALS_PROVIDER) .build();
Vedi Regioni ed endpoint per l'elenco corrente delle regioni e gli endpoint corrispondenti per tutti i AWS servizi.
Determina automaticamente la regione dall'ambiente
Importante
Questa sezione si applica solo quando si utilizza un client builder per accedere ai AWS servizi. AWS i client creati utilizzando il costruttore del client non determineranno automaticamente la regione dall'ambiente e utilizzeranno invece la SDK regione predefinita ()USEast1.
Quando è in esecuzione su Amazon EC2 o Lambda, potresti voler configurare i client in modo che utilizzino la stessa regione su cui è in esecuzione il codice. Questo consente di separare il codice dall'ambiente in cui è in esecuzione e facilita la distribuzione dell'applicazione in più regioni per minore latenza o ridondanza.
È necessario utilizzare client builder per far sì che rilevi SDK automaticamente la regione in cui è in esecuzione il codice.
Per utilizzare la catena di provider delle credenziali/regioni predefinita per determinare la regione dell'ambiente, utilizzare il metodo defaultClient
del generatore client.
AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient();
È lo stesso che si usa standard
seguito dabuild
.
AmazonEC2 ec2 = AmazonEC2ClientBuilder.standard() .build();
Se non impostate esplicitamente una regione utilizzando i withRegion
metodi, SDK consulta la catena di fornitori di regioni predefinita per cercare di determinare la regione da utilizzare.
Catena di provider delle regioni predefinita
Di seguito è riportato il processo di ricerca della regione:
-
Qualsiasi regione esplicita impostata utilizzando
withRegion
osetRegion
sul builder stesso ha la precedenza su qualsiasi altra cosa. -
La variabile di ambiente
AWS_REGION
è selezionata. Se è impostata, questa regione viene utilizzata per configurare il client.Nota
Questa variabile di ambiente è impostata dal contenitore. Lambda
-
SDKControlla il file di configurazione AWS condiviso (che di solito si trova in
~/.aws/config
). Se la proprietà region è presente, la SDK utilizza.-
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à diaws.profile
sistema possono essere utilizzate per personalizzare il profilo caricato daSDK.
-
-
I SDK tentativi di utilizzare il servizio di metadati dell' Amazon EC2 istanza per determinare la regione dell' Amazon EC2 istanza attualmente in esecuzione.
-
Se non ha SDK 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 in Utilizzo della catena di provider di credenziali predefinita) per impostare la regione per lo sviluppo locale e fare affidamento sulla catena di provider di regioni predefinita per determinare la regione durante l'esecuzione sull' AWS infrastruttura. Questo semplifica notevolmente la creazione del client e mantiene l'applicazione portatile.