O AWS SDK for Java 1.x entrou no modo de manutenção em 31 de julho de 2024 e chegará end-of-support
As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Criar clientes de serviço
Para fazer solicitações Amazon Web Services, primeiro você cria um objeto de cliente de serviço. A maneira recomendada é usar o compilador de cliente do serviço.
Cada um AWS service (Serviço da AWS) tem uma interface de serviço com métodos para cada ação no serviçoAPI. Por exemplo, a interface de serviço do DynamoDB é chamada. AmazonDynamoDBClient Cada interface de serviço tem um compilador de cliente correspondente que você pode usar para construir uma implementação da interface de serviço. A classe do construtor de clientes para DynamoDB é nomeada AmazonDynamoDBClientBuilder.
Obter um compilador de cliente
Para obter uma instância do compilador de cliente, use o método de fábrica estático standard
, conforme mostrado no exemplo a seguir.
AmazonDynamoDBClientBuilder builder = AmazonDynamoDBClientBuilder.standard();
Depois de ter um construtor, você pode personalizar as propriedades do cliente usando muitos configuradores fluentes no construtor. API Por exemplo, você pode definir uma região e um provedor de credenciais personalizados da maneira a seguir.
AmazonDynamoDB ddb = AmazonDynamoDBClientBuilder.standard() .withRegion(Regions.US_WEST_2) .withCredentials(new ProfileCredentialsProvider("myProfile")) .build();
nota
Os métodos withXXX
fluentes retornam o objeto builder
, de maneira que você possa vincular as chamadas ao método por comodidade e um código mais legível. Depois de configurar as propriedades desejadas, você poderá chamar o método build
para criar o cliente. Assim que for criado, um cliente será imutável, e todas as chamadas para setRegion
ou setEndpoint
falharão.
Um compilador pode criar vários clientes com a mesma configuração. Quando você estiver escrevendo o aplicativo, lembre-se de que o compilador será mutável e não será thread-safe.
O código a seguir usa o compilador como uma fábrica para instâncias de cliente.
public class DynamoDBClientFactory { private final AmazonDynamoDBClientBuilder builder = AmazonDynamoDBClientBuilder.standard() .withRegion(Regions.US_WEST_2) .withCredentials(new ProfileCredentialsProvider("myProfile")); public AmazonDynamoDB createClient() { return builder.build(); } }
O construtor também expõe configuradores fluentes para ClientConfiguratione RequestMetricCollector, e uma lista personalizada de 2. RequestHandler
Este é um exemplo completo que substitui todas as propriedades configuráveis.
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();
Criar clientes async
AWS SDK for Java Tem clientes assíncronos (ou assíncronos) para cada serviço (exceto para Amazon S3) e um construtor de clientes assíncronos correspondente para cada serviço.
Para criar um cliente assíncrono do DynamoDB com o padrão ExecutorService
AmazonDynamoDBAsync ddbAsync = AmazonDynamoDBAsyncClientBuilder.standard() .withRegion(Regions.US_WEST_2) .withCredentials(new ProfileCredentialsProvider("myProfile")) .build();
Além das opções de configuração suportadas pelo construtor de clientes síncronos (ou sincronizados), o cliente assíncrono permite que você defina um personalizado ExecutorFactorypara alterar o ExecutorService
que o cliente assíncrono usa. ExecutorFactory
é uma interface funcional, portanto, interopera com expressões lambda e referências de métodos do Java 8.
Para criar um cliente async com um executor personalizado
AmazonDynamoDBAsync ddbAsync = AmazonDynamoDBAsyncClientBuilder.standard() .withExecutorFactory(() -> Executors.newFixedThreadPool(10)) .build();
Usando DefaultClient
Os compiladores de cliente sync e async têm outro método de fábrica chamado defaultClient
. Esse método cria um cliente de serviço com a configuração padrão usando a cadeia de fornecedores padrão para carregar credenciais e a Região da AWS. Se as credenciais ou a região não puderem ser determinadas pelo ambiente no qual o aplicativo estiver em execução, a chamada a defaultClient
falhará. Consulte Trabalhando com AWS credenciais e Região da AWS seleção para obter mais informações sobre como as credenciais e a região são determinadas.
Para criar um cliente de serviço padrão
AmazonDynamoDB ddb = AmazonDynamoDBClientBuilder.defaultClient();
Ciclo de vida do cliente
Os clientes de serviço no SDK são seguros e, para obter o melhor desempenho, você deve tratá-los como objetos de longa duração. Cada cliente tem o próprio recurso do grupo de conexões. Desligue explicitamente clientes quando eles não são mais necessários para evitar vazamentos de recursos.
Para desligar explicitamente um cliente, chame o método shutdown
. Depois da chamada de shutdown
, todos os recursos de cliente serão lançados, e o cliente será inutilizável.
Para desligar um cliente
AmazonDynamoDB ddb = AmazonDynamoDBClientBuilder.defaultClient(); ddb.shutdown(); // Client is now unusable