La versione AWS SDK per Java 1.x ha raggiunto la fine del supporto il 31 dicembre 2025. Ti consigliamo di eseguire la migrazione alla versione per continuare AWS SDK for Java 2.x a ricevere nuove funzionalità, miglioramenti della disponibilità e aggiornamenti di sicurezza.
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 Scelta
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 vedere se un particolare Servizio AWS è disponibile in una regione, utilizza il isServiceSupported metodo corrispondente alla regione che desideri utilizzare.
Region.getRegion(Regions.US_WEST_2) .isServiceSupported(AmazonDynamoDB.ENDPOINT_PREFIX);
Consulta la documentazione della classe Regions per le regioni che puoi specificare e utilizza 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 in DB. AmazonDynamo
Scelta di una Regione
A partire dalla versione 1.4 di AWS SDK per Java, puoi specificare il nome di una regione e l'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. https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/regions/Regions.html 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'Regionsenum, puoi impostare la regione utilizzando 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 stai lavorando con più clienti Regioni AWS per lo stesso servizio, dovresti 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 richiamando il withEndpointConfiguration metodo durante la creazione del client.
Ad esempio, per configurare il Amazon S3 client per l'utilizzo della 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 attuale 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 regione SDK predefinita (useAST1).
Quando si esegue on Amazon EC2 o Lambda, è possibile configurare i client in modo che utilizzino la stessa regione in 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 i client builder per fare in modo che l'SDK rilevi automaticamente la regione in cui è in esecuzione il codice.
Per utilizzare la catena di credential/region provider predefinita per determinare la regione dall'ambiente, utilizza il defaultClient metodo del client builder.
AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient();
È lo stesso che usare standard follow bybuild.
AmazonEC2 ec2 = AmazonEC2ClientBuilder.standard() .build();
Se non imposti esplicitamente una regione utilizzando withRegion i metodi, l'SDK consulta la catena di fornitori di regioni predefinita per provare a 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
withRegionosetRegionsul generatore 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 Lambda contenitore.
-
L'SDK controlla il file di configurazione AWS condiviso (di solito si trova in
~/.aws/config). Se la proprietà region è presente, viene utilizzata dall'SDK.-
La variabile di ambiente
AWS_CONFIG_FILEpuò essere utilizzata per personalizzare il percorso del file di configurazione condiviso. -
La variabile di
AWS_PROFILEambiente o la proprietà diaws.profilesistema possono essere utilizzate per personalizzare il profilo caricato dall'SDK.
-
-
L'SDK tenta di utilizzare il servizio di metadati dell' Amazon EC2 istanza per determinare la regione dell'istanza attualmente in esecuzione. Amazon EC2
-
Se a questo punto l'SDK non ha ancora trovato una regione, la creazione del client non riesce con un'eccezione.
Quando si sviluppano 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 affidarsi alla catena di provider della regione predefinita per determinare la regione quando viene eseguita sull'infrastruttura. AWS Questo semplifica notevolmente la creazione del client e mantiene l'applicazione portatile.