AWS SDK for Java 2 では、同期 SQS クライアントが使用する HTTP 実装を設定します。UrlConnection トランスポートは、明示的な中間プロキシを指定して構築できます:

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();

アプリケーションのリージョンと認証情報の設定を使用してください。url-connection-client トランスポートは、SQS モジュールとともにプロジェクトで利用可能である必要があります。

プロキシ URI は中間プロキシを識別します。HTTP プロキシ一覧は公開候補を提供し、SqsClient は通常どおり SQS エンドポイントを選択します。中間プロキシが認証を要求する場合は、ProxyConfiguration ビルダーにユーザー名とパスワードを追加します。

サービスビルダーに HTTP クライアントビルダーを渡すと、SDK が生成される HTTP クライアントのライフサイクルを管理します。処理が終わったら sqs を閉じてください。代わりに構築済みの HTTP クライアントを渡すアプリケーションは、その共有クライアントのライフサイクルを所有します。

AmazonSQSClientBuilder と ClientConfiguration の例は SDK Java 1 のものです。インポートとトランスポートビルダーを、アプリケーションが使用する SDK のメジャーバージョンに合わせてください。

関連記事