Configuração do cliente
Na 1.x, a configuração do cliente do SDK foi modificada pela configuração de uma instância de ClientConfiguration no cliente ou no builder do cliente. Na versão 2.x, a configuração do cliente é dividida em classes de configuração separadas. As classes de configuração separadas permitem configurar diferentes clientes HTTP para clientes assíncronos versus síncronos, mas ainda usam a mesma classe ClientOverrideConfiguration.
exemplo da configuração do cliente na versão 1.x
AmazonDynamoDBClientBuilder.standard() .withClientConfiguration(clientConfiguration) .build()
exemplo da configuração do cliente síncrono na versão 2.x
ProxyConfiguration.Builder proxyConfig = ProxyConfiguration.builder(); ApacheHttpClient.Builder httpClientBuilder = ApacheHttpClient.builder() .proxyConfiguration(proxyConfig.build()); ClientOverrideConfiguration.Builder overrideConfig = ClientOverrideConfiguration.builder(); DynamoDbClient client = DynamoDbClient.builder() .httpClientBuilder(httpClientBuilder) .overrideConfiguration(overrideConfig.build()) .build();
exemplo da configuração do cliente assíncrono na versão 2.x
NettyNioAsyncHttpClient.Builder httpClientBuilder = NettyNioAsyncHttpClient.builder(); ClientOverrideConfiguration.Builder overrideConfig = ClientOverrideConfiguration.builder(); ClientAsyncConfiguration.Builder asyncConfig = ClientAsyncConfiguration.builder(); DynamoDbAsyncClient client = DynamoDbAsyncClient.builder() .httpClientBuilder(httpClientBuilder) .overrideConfiguration(overrideConfig.build()) .asyncConfiguration(asyncConfig.build()) .build();
Clientes HTTP
Alterações importantes
-
Na versão 2.x, é possível alterar qual cliente HTTP usar no runtime especificando uma implementação usando
clientBuilder.httpClientBuilder. -
Quando você passa um cliente HTTP usando
clientBuilder.httpClientpara um compilador de cliente de serviço, o cliente HTTP não é fechado por padrão se o cliente de serviço fecha. Isso permite compartilhar clientes HTTP entre clientes de serviço. -
Clientes HTTP assíncronos agora usam E/S sem bloqueio.
-
Algumas operações agora usam HTTP/2 para melhorar o desempenho.
Alterações de configurações
| Configuração | 1.x | 2.x síncrono, Apache | 2.x assíncrono, Netty |
|---|---|---|---|
|
|
|
|
| Máximo de conexões |
|
|
|
| Tempo limite da conexão |
|
|
|
| Tempo limite do soquete |
|
|
|
| Conexão TTL |
|
|
|
| Máximo de inatividade da conexão |
|
|
|
| Validar após inatividade |
|
Incompatível (recurso de solicitação |
Incompatível (recurso de solicitação |
| Endereço local |
|
|
Não compatível |
| Esperar-continuar ativado |
|
|
Incompatível (recurso de solicitação |
| Finalizador de conexões |
|
|
|
|
|
|
Proxies de cliente HTTP
| Configurações | 1.x | 2.x síncrono, Apache | 2.x assíncrono, Netty |
|---|---|---|---|
|
|
|
|
| Host do proxy |
|
|
|
| Porta do proxy |
|
A porta proxy está incorporada no |
|
| Nome de usuário do proxy |
|
|
|
| Senha do proxy |
|
|
|
| Domínio do proxy |
|
|
Incompatível (recurso de solicitação |
| Estação de trabalho do proxy |
|
|
Incompatível (recurso de solicitação |
| Métodos de autenticação de proxy |
|
Incompatível (recurso de solicitação |
|
| Autenticação preemptiva básica de proxy |
|
|
Incompatível (recurso de solicitação |
| Hosts sem proxy |
|
|
|
| Desativar proxy de soquete |
|
Incompatível (recurso de solicitação |
Incompatível (recurso de solicitação |
|
|
|
Substituições de clientes
| Configuração | 1.x | 2.x |
|---|---|---|
|
|
|
| Prefixo do agente do usuário |
|
|
| Sufixo do agente do usuário |
|
|
| Signer |
|
|
| Cabeçalhos adicionais |
|
|
| Tempo limite da solicitação |
|
|
| Tempo limite de execução de cliente |
|
|
| Usar Gzip |
|
Incompatível (recurso de solicitação |
| Dicas de tamanho do buffer de soquete |
|
Incompatível (recurso de solicitação |
| Metadados de resposta do cache |
|
Incompatível (recurso de solicitação |
| Metadado do cache de metadados da resposta |
|
Incompatível (recurso de solicitação |
| resolvedor de DNS |
|
Incompatível (recurso de solicitação |
| keepalive de TCP |
|
Essa opção agora está na configuração do cliente HTTP
|
| Aleatório seguro |
|
Incompatível (recurso de solicitação |
|
|
Novas tentativas de substituição de cliente
| Configuração | 1.x | 2.x |
|---|---|---|
|
|
|
| Máximo de novas tentativas em erros |
|
|
| Usar novas com controle de utilização |
|
Não compatível |
| Máximo de novas tentativas consecutivas antes do controle de utilização |
|
Não compatível |
|
|
Clientes assíncronos
| Configuração | 1.x | 2.x |
|---|---|---|
|
||
| Executor |
|
|
|
Outras alterações de cliente
A opção ClientConfiguration a seguir, da 1.x, foi alterada na versão 2.x do SDK e não tem um equivalente direto.
| Configuração | 1.x | Equivalente de 2.x |
|---|---|---|
| Protocolo |
|
A configuração de protocolo é HTTPS por padrão. Para modificar a configuração, especifique a configuração do protocolo de um endpoint HTTP no compilador de cliente:
|