Configuración de cliente
En la versión 1.x, la configuración del cliente del SDK se modificaba estableciendo una instancia ClientConfiguration en el cliente o en el compilador de clientes. En la versión 2.x, la configuración del cliente se divide en clases de configuración independientes. Con las clases de configuración separadas, puede configurar diferentes clientes HTTP para clientes asíncronos frente a síncronos, pero seguir utilizando la misma clase ClientOverrideConfiguration.
ejemplo de configuración del cliente en la versión 1.x
AmazonDynamoDBClientBuilder.standard() .withClientConfiguration(clientConfiguration) .build()
ejemplo de configuración de clientes síncronos en la versión 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();
ejemplo de configuración de clientes asíncronos en la versión 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 de HTTP
Cambios destacados
-
En la versión 2.x, puede cambiar qué cliente de HTTP desea usar en tiempo de ejecución especificando una implementación mediante
clientBuilder.httpClientBuilder. -
Al pasar un cliente de HTTP mediante
clientBuilder.httpClienta un compilador de clientes de servicio, el cliente de HTTP no se cierra de forma predeterminada si el cliente de servicio se cierra. Esto le permite compartir clientes de HTTP entre clientes de servicio. -
Los clientes de HTTP asincrónicos ahora usan una E/S no bloqueante.
-
Algunas operaciones utilizan ahora HTTP/2 para mejorar el rendimiento.
Cambios de configuración
| Ajuste | 1.x | 2.x Sync, Apache | 2.x Async, Netty |
|---|---|---|---|
|
|
|
|
| Máximo de conexiones |
|
|
|
| Tiempo de espera de conexión |
|
|
|
| Tiempo de espera de sockets |
|
|
|
| TTL de conexión |
|
|
|
| Inactividad máx. de conexión |
|
|
|
| Validación después de inactividad |
|
No se admite (característica de solicitud |
No se admite (característica de solicitud |
| Dirección local |
|
|
No admitido |
| Expect-continue habilitada |
|
|
No se admite (característica de solicitud |
| Connection reaper |
|
|
|
|
|
|
Proxies de cliente de HTTP
| Configuración | 1.x | 2.x Sync, Apache | 2.x Async, Netty |
|---|---|---|---|
|
|
|
|
| Host del proxy. |
|
|
|
| Puerto del proxy. |
|
El puerto proxy está incrustado en |
|
| Nombre de usuario del proxy |
|
|
|
| Contraseña del proxy. |
|
|
|
| Dominio de proxy |
|
|
No se admite (característica de solicitud |
| Estación de trabajo proxy |
|
|
No se admite (característica de solicitud |
| Métodos de autenticación de proxy |
|
No se admite (característica de solicitud |
|
| Autenticación proxy básica prioritaria |
|
|
No se admite (característica de solicitud |
| Host sin proxy |
|
|
|
| Deshabilitación del proxy de sockets |
|
No se admite (característica de solicitud |
No se admite (característica de solicitud |
|
|
|
Anulaciones de clientes
| Ajuste | 1.x | 2.x |
|---|---|---|
|
|
|
| Prefijo de agente de usuario |
|
|
| Sufijo de agente de usuario |
|
|
| Signer |
|
|
| Encabezados adicionales |
|
|
| Tiempo de espera de la solicitud |
|
|
| Tiempo de espera de ejecución de clientes |
|
|
| Uso de Gzip |
|
No se admite (característica de solicitud |
| Sugerencia del tamaño del búfer de socket |
|
No se admite (característica de solicitud |
| Metadatos de respuesta en caché |
|
No se admite (característica de solicitud |
| Tamaño de caché de metadatos de respuesta |
|
No se admite (característica de solicitud |
| servicio de resolución de nombres DNS |
|
No se admite (característica de solicitud |
| keepalive de TCP |
|
Esta opción se encuentra ahora en la configuración del cliente de HTTP
|
| Protección aleatoria |
|
No se admite (característica de solicitud |
|
|
El cliente anula los reintentos
| Ajuste | 1.x | 2.x |
|---|---|---|
|
|
|
| Error máx. de reintento |
|
|
| Uso de reintentos limitados |
|
No admitido |
| Máx. de reintentos consecutivos antes de limitación |
|
No admitido |
|
|
Clientes asíncronos
| Ajuste | 1.x | 2.x |
|---|---|---|
|
||
| Ejecutor |
|
|
|
Otros cambios de cliente
La siguiente opción ClientConfiguration de la versión 1.x ha cambiado en 2.x del SDK y no tiene un equivalente directo.
| Ajuste | 1.x | Equivalente en 2.x |
|---|---|---|
| Protocolo |
|
El ajuste del protocolo es HTTPS de forma predeterminada. Para modificar el ajuste, especifique el protocolo estableciendo un punto de conexión HTTP en el compilador de clientes:
|