Version AWS SDK for Java 1.x wurde am 31. Juli 2024 in den Wartungsmodus versetzt und wird end-of-support
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
AWS-Region Auswahl
Regionen ermöglichen Ihnen den Zugriff auf AWS Dienste, die sich physisch in einem bestimmten geografischen Gebiet befinden. Dies ist nicht nur für die Redundanz nützlich, sondern sorgt auch dafür, dass Ihre Daten und Anwendungen in der Nähe Ihres Standorts sowie des Standorts Ihrer Benutzer ausgeführt werden.
Überprüfung der Serviceverfügbarkeit in einer Region
Um zu sehen, ob ein bestimmtes Produkt in einer Region verfügbar AWS-Service ist, wenden Sie die isServiceSupported
Methode für die Region an, die Sie verwenden möchten.
Region.getRegion(Regions.US_WEST_2) .isServiceSupported(AmazonDynamoDB.ENDPOINT_PREFIX);
Weitere Informationen über die Regionen, die Sie angeben können, und über die Nutzung des Endpunkt-Präfixes für den abzufragenden Service finden Sie in der Dokumentation der Regions-Klasse. Jedes Service-Endpunkt-Präfix wird in der Service-Schnittstelle definiert. Das DynamoDB Endpunktpräfix ist beispielsweise in AmazonDynamoDB definiert.
Auswählen einer Region
Ab Version 1.4 von können Sie einen Regionsnamen angeben AWS SDK for Java, der SDK automatisch einen geeigneten Endpunkt für Sie auswählt. Informationen darüber, wie Sie den Endpunkt selbst auswählen können, finden Sie unter Auswahl eines bestimmten Endpunkts.
Um explizit eine Region festzulegen, empfehlen wir, dass Sie die Regions-Aufzählung nutzen. Dabei handelt es sich um eine Aufzählung aller öffentlich verfügbaren Regionen. Mit dem folgenden Code können Sie einen Client mit einer Region aus der Aufzählung erstellen:
AmazonEC2 ec2 = AmazonEC2ClientBuilder.standard() .withRegion(Regions.US_WEST_2) .build();
Wenn die Region, die Sie verwenden möchten, nicht in der Regions
-Aufzählung enthalten ist, können Sie die Region mit einem String festlegen, der den Namen der Region enthält.
AmazonEC2 ec2 = AmazonEC2ClientBuilder.standard() .withRegion("{region_api_default}") .build();
Anmerkung
Nachdem Sie einen Client mit dem Generator erstellt haben, ist er unveränderlich und die Region kann nicht mehr geändert werden. Wenn Sie mit mehreren AWS-Regionen für denselben Service arbeiten, sollten Sie mehrere Clients erstellen — einen pro Region.
Auswahl eines bestimmten Endpunkts
Jeder AWS Client kann so konfiguriert werden, dass er einen bestimmten Endpunkt innerhalb einer Region verwendet, indem die withEndpointConfiguration
Methode bei der Erstellung des Clients aufgerufen wird.
Verwenden Sie beispielsweise den folgenden Code, um den Amazon S3 Client für die Verwendung der Region Europa (Irland) zu konfigurieren.
AmazonS3 s3 = AmazonS3ClientBuilder.standard() .withEndpointConfiguration(new EndpointConfiguration( "https://s3.eu-west-1.amazonaws.com", "eu-west-1")) .withCredentials(CREDENTIALS_PROVIDER) .build();
Die aktuelle Liste der Regionen und der entsprechenden Endpunkte für alle AWS Dienste finden Sie unter Regionen und Endpunkte.
Ermitteln Sie die Region automatisch anhand der Umgebung
Wichtig
Dieser Abschnitt gilt nur, wenn Sie einen Client Builder für den Zugriff auf AWS Dienste verwenden. AWS Clients, die mit dem Client-Konstruktor erstellt wurden, ermitteln die Region nicht automatisch anhand der Umgebung, sondern verwenden stattdessen die SDKStandardregion (USEast1).
Wenn Sie auf Amazon EC2 oder Lambda ausgeführt werden, möchten Sie möglicherweise Clients so konfigurieren, dass sie dieselbe Region verwenden, in der Ihr Code ausgeführt wird. So wird der Code von der Umgebung abgekoppelt, in der er läuft, wodurch die Bereitstellung Ihrer Anwendung in mehreren Regionen einfacher wird. Dies wiederum sorgt für weniger Latenz und mehr Redundanz.
Sie müssen Client-Builder verwenden, damit sie SDK automatisch die Region erkennen, in der Ihr Code ausgeführt wird.
Rufen Sie die defaultClient
-Methode des Client-Generators auf, um die Region aus der Umgebung mithilfe der Standard-Anbieterkette für Anmeldeinformationen/Regionen zu bestimmen.
AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient();
Dies entspricht der Verwendung von standard
, gefolgt von build
.
AmazonEC2 ec2 = AmazonEC2ClientBuilder.standard() .build();
Wenn Sie mithilfe der withRegion
Methoden nicht explizit eine Region festlegen, wird anhand der SDK Standardregion-Anbieterkette versucht, die zu verwendende Region zu ermitteln.
Standard-Anbieterkette für Regionen
Folgende Regeln gelten für das Nachschlagen der Region:
-
Etwaige explizite, mit
withRegion
odersetRegion
festgelegte Regionen direkt im Generator haben Vorrang vor allen anderen. -
Die Umgebungsvariable
AWS_REGION
wird geprüft. Wenn sie festgelegt ist, wird die zugehörige Region zur Konfiguration des Clients verwendet.Anmerkung
Diese Umgebungsvariable wird vom Lambda Container festgelegt.
-
Das SDK überprüft die AWS gemeinsam genutzte Konfigurationsdatei (normalerweise unter
~/.aws/config
). Wenn die Regionseigenschaft vorhanden ist, wird sie SDK verwendet.-
Die Umgebungsvariable
AWS_CONFIG_FILE
kann verwendet werden, um den Speicherort der gemeinsam genutzten Konfigurationsdatei anzupassen. -
Die
AWS_PROFILE
Umgebungsvariable oder dieaws.profile
Systemeigenschaft können verwendet werden, um das Profil anzupassen, das von der geladen wirdSDK.
-
-
Die SDK Versuche, den Amazon EC2 Instanz-Metadatendienst zu verwenden, um die Region der aktuell laufenden Amazon EC2 Instanz zu ermitteln.
-
Wenn bis zu diesem Zeitpunkt SDK immer noch keine Region gefunden wurde, schlägt die Client-Erstellung mit einer Ausnahme fehl.
Bei der Entwicklung von AWS Anwendungen besteht ein gängiger Ansatz darin, die gemeinsam genutzte Konfigurationsdatei zu verwenden (beschrieben unter Verwenden der standardmäßigen Anmeldeinformationsanbieterkette), um die Region für die lokale Entwicklung festzulegen, und sich bei der Ausführung auf der AWS Infrastruktur auf die Standardregions-Anbieterkette zu verlassen, um die Region zu bestimmen. Dies vereinfacht die Client-Erstellung stark und sorgt dafür, dass Ihre Anwendung portabel bleibt.