En AWS SDK for Java 2, configure la implementación HTTP que usa el cliente SQS síncrono. Se puede construir un transporte UrlConnection con un intermediario explícito:

import java.net.URI;
import software.amazon.awssdk.http.urlconnection.ProxyConfiguration;
import software.amazon.awssdk.http.urlconnection.UrlConnectionHttpClient;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.sqs.SqsClient;

var httpBuilder = UrlConnectionHttpClient.builder()
    .proxyConfiguration(ProxyConfiguration.builder()
        .endpoint(URI.create("http://proxy.example.net:8080"))
        .build());

var sqs = SqsClient.builder()
    .region(Region.US_EAST_1)
    .httpClientBuilder(httpBuilder)
    .build();

Use la configuración de región y credenciales de la aplicación. El transporte url-connection-client debe estar disponible en el proyecto junto con el módulo SQS.

El URI del proxy identifica al intermediario; la lista de proxies HTTP ofrece candidatos públicos, mientras que SqsClient sigue eligiendo su punto de enlace SQS con normalidad. Añada nombre de usuario y contraseña en el builder de ProxyConfiguration cuando el intermediario los exija.

Entregar un builder de cliente HTTP al builder del servicio permite que el SDK gestione el ciclo de vida del cliente HTTP resultante. Cierre sqs cuando termine su carga de trabajo. Una aplicación que, en cambio, proporciona un cliente HTTP ya construido es responsable del ciclo de vida de ese cliente compartido.

Los ejemplos de AmazonSQSClientBuilder y ClientConfiguration pertenecen a SDK Java 1. Haga coincidir las importaciones y el builder de transporte con la versión principal del SDK que usa la aplicación.

Artículos relacionados