Der Support für AWS SDK für Java Version 1.x endete am 31. Dezember 2025. Wir empfehlen Ihnen, auf den zu migrieren, AWS SDK for Java 2.x um weiterhin neue Funktionen, Verfügbarkeitsverbesserungen und Sicherheitsupdates zu erhalten.
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.
Erstellen von Service-Clients
Um Anfragen an zu stellen Amazon Web Services, erstellen Sie zunächst ein Service-Client-Objekt. Die empfohlene Methode besteht darin, den Service-Client-Generator zu nutzen.
Jedes AWS-Service hat eine Dienstschnittstelle mit Methoden für jede Aktion in der Service-API. Beispielsweise wird die Serviceschnittstelle für DynamoDB benannt. AmazonDynamoDBClient Jede Service-Schnittstelle verfügt über einen entsprechenden Client-Generator, mit dem Sie eine Implementierung der Service-Schnittstelle erstellen können. Die Client-Builder-Klasse für DynamoDB ist benannt. AmazonDynamoDBClientBuilder
Abruf eines Client-Generators
Um eine Instance des Client-Generators abzurufen, verwenden Sie die statische Factory-Methode standard, wie im folgenden Beispiel gezeigt.
AmazonDynamoDBClientBuilder builder = AmazonDynamoDBClientBuilder.standard();
Sobald Sie einen Generator haben, können Sie die Eigenschaften des Clients anpassen, indem Sie die vielen praktischen Setter in der Generator-API nutzen. Beispielsweise können Sie wie folgt eine benutzerdefinierte Region und einen benutzerdefinierten Anmeldeinformationsanbieter festlegen.
AmazonDynamoDB ddb = AmazonDynamoDBClientBuilder.standard() .withRegion(Regions.US_WEST_2) .withCredentials(new ProfileCredentialsProvider("myProfile")) .build();
Anmerkung
Die praktischen withXXX-Methoden geben das builder-Objekt zurück. So können Sie die Methodenaufrufe in Reihe schalten, was nicht nur einfacher ist, sondern auch für besser lesbaren Code sorgt. Nachdem Sie die gewünschten Eigenschaften konfiguriert haben, rufen Sie die build-Methode auf, um den Client zu erstellen. Sobald ein Client erstellt wurde, ist er unveränderlich und alle Aufrufe an setRegion oder setEndpoint schlagen fehl.
Ein Generator kann mehrere Clients mit der gleichen Konfiguration erstellen. Wenn Sie Ihre Anwendung entwerfen, sollten Sie daran denken, dass der Generator veränderlich und nicht threadsicher ist.
Der folgende Code verwendet den Generator als Factory für Client-Instances.
public class DynamoDBClientFactory { private final AmazonDynamoDBClientBuilder builder = AmazonDynamoDBClientBuilder.standard() .withRegion(Regions.US_WEST_2) .withCredentials(new ProfileCredentialsProvider("myProfile")); public AmazonDynamoDB createClient() { return builder.build(); } }
Der Builder stellt außerdem fließende Setter für ClientConfiguration und und RequestMetricCollector eine benutzerdefinierte Liste von 2 zur Verfügung. RequestHandler
Im Folgenden finden Sie ein vollständiges Beispiel, in dem sämtliche konfigurierbaren Eigenschaften überschrieben werden.
AmazonDynamoDB ddb = AmazonDynamoDBClientBuilder.standard() .withRegion(Regions.US_WEST_2) .withCredentials(new ProfileCredentialsProvider("myProfile")) .withClientConfiguration(new ClientConfiguration().withRequestTimeout(5000)) .withMetricsCollector(new MyCustomMetricsCollector()) .withRequestHandlers(new MyCustomRequestHandler(), new MyOtherCustomRequestHandler) .build();
Erstellen von Async-Clients
Der AWS SDK für Java hat asynchrone (oder asynchrone) Clients für jeden Dienst (außer für Amazon S3) und einen entsprechenden asynchronen Client-Builder für jeden Dienst.
Um einen asynchronen DynamoDB-Client mit der Standardeinstellung zu erstellen ExecutorService
AmazonDynamoDBAsync ddbAsync = AmazonDynamoDBAsyncClientBuilder.standard() .withRegion(Regions.US_WEST_2) .withCredentials(new ProfileCredentialsProvider("myProfile")) .build();
Zusätzlich zu den Konfigurationsoptionen, die der synchrone (oder synchrone) Client Builder unterstützt, können Sie mit dem Async-Client eine benutzerdefinierte Einstellung festlegen, um ExecutorService die vom Async-Client verwendeten Optionen ExecutorFactory zu ändern. ExecutorFactoryist eine funktionale Schnittstelle und arbeitet daher mit Java 8-Lambda-Ausdrücken und Methodenreferenzen zusammen.
So erstellen Sie einen asynchronen Client mit einem benutzerdefinierten Executor
AmazonDynamoDBAsync ddbAsync = AmazonDynamoDBAsyncClientBuilder.standard() .withExecutorFactory(() -> Executors.newFixedThreadPool(10)) .build();
Verwenden DefaultClient
Sowohl der synchrone als auch der asynchrone Client-Generator haben eine weitere Factory-Methode mit dem Namen defaultClient. Diese Methode erstellt einen Service-Client mit der Standardkonfiguration und verwendet die Standardanbieterkette zum Laden der Anmeldeinformationen und der AWS-Region. Wenn die Anmeldeinformationen oder die Region nicht aus der Umgebung, in der die Anwendung ausgeführt wird, ermittelt werden können, schlägt der Aufruf von defaultClient fehl. Weitere Informationen darüber, wie AWS Anmeldeinformationen und Region bestimmt werden, finden Sie unter Arbeiten mit Anmeldeinformationen und AWS-Region Auswahl.
So erstellen Sie einen Standard-Service-Client
AmazonDynamoDB ddb = AmazonDynamoDBClientBuilder.defaultClient();
Client-Lebenszyklus
Service-Clients im SDK sind threadsicher. Um eine bestmögliche Leistung zu erzielen, sollten Sie sie als langlebige Objekte behandeln. Jeder Client verfügt über seine eigene Verbindungspool-Ressource. Explizit Clients herunterfahren, wenn sie nicht mehr benötigt werden, um Ressourcenverluste zu vermeiden.
Um einen Client explizit herunterzufahren, rufen Sie die shutdown-Methode auf. Nach dem Aufruf von shutdown werden alle Client-Ressourcen freigegeben und der Client kann nicht mehr verwendet werden.
So fahren Sie einen Client herunter
AmazonDynamoDB ddb = AmazonDynamoDBClientBuilder.defaultClient(); ddb.shutdown(); // Client is now unusable