

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# の使用 AWS SDK for Java 2.x
<a name="using"></a>

この章では、 AWS SDK for Java 2.x を効果的に使用する方法について説明します。サービスクライアントの作成、リクエストの実行、レスポンスの処理、エラーの管理について説明します。この章では、同期プログラミングと非同期プログラミング、ページ分割された結果、リソースモニタリングのウェイター、パフォーマンスの最適化について説明します。

また、クライアントの再利用、トラブルシューティングガイダンス、Lambda 起動の最適化、HTTP/2 サポート、DNS 設定に関するベストプラクティスも記載しています。

**Contents**
+ [を使用した AWS のサービス リクエストの実行 AWS SDK for Java 2.x](work-witih-clients.md)
  + [サービスクライアントを使用したリクエストの実行](work-witih-clients.md#using-service-client)
    + [サービスクライアントを作成する](work-witih-clients.md#work-with-clients-create)
    + [デフォルトのクライアント設定](work-witih-clients.md#using-default-client)
    + [サービスクライアントを設定する](work-witih-clients.md#using-configure-service-clients)
    + [サービスクライアントを閉じる](work-witih-clients.md#using-closing-client)
  + [リクエストを発行する](work-witih-clients.md#using-making-requests)
    + [リクエストを使用してクライアント設定を上書きする](work-witih-clients.md#using-override-client-config-request)
  + [レスポンスを処理する](work-witih-clients.md#using-handling-responses)
+ [AWS SDK for Java 2.x を使用した非同期プログラミング](asynchronous.md)
  + [非同期クライアント API の使用](asynchronous.md#basics-async-non-streaming)
  + [非同期メソッドでのストリーミングの処理](asynchronous.md#basics-async-streaming)
  + [高度な非同期オプションを設定する](asynchronous.md#advanced-operations)
+ [を使用するためのベストプラクティス AWS SDK for Java 2.x](best-practices.md)
  + [API タイムアウトを設定してリクエストのハングを防止する](best-practices.md#bestpractice5)
  + [サービスクライアントを再利用してパフォーマンスを向上させる](best-practices.md#bestpractice1)
  + [未使用のサービスクライアントを閉じてリソースの漏洩を防ぐ](best-practices.md#bestpractice-close-client)
  + [入力ストリームを閉じて接続プールの枯渇を防ぐ](best-practices.md#bestpractice2)
  + [アプリケーションワークロードの HTTP パフォーマンスを最適化する](best-practices.md#bestpractice3)
  + [非同期クライアント用の OpenSSL で SSL パフォーマンスを向上させる](best-practices.md#bestpractice4)
  + [SDK メトリクスを使用してアプリケーションのパフォーマンスをモニタリングする](best-practices.md#bestpractice6)
+ [でのエラーの処理 AWS SDK for Java 2.x](handling-exceptions.md)
  + [非チェック例外を使用する理由](handling-exceptions.md#why-unchecked-exceptions)
  + [AwsServiceException (およびサブクラス)](handling-exceptions.md#sdkserviceexception-and-subclasses)
  + [SdkClientException](handling-exceptions.md#sdkclientexception)
  + [例外と再試行動作](handling-exceptions.md#retried-exceptions)
+ [AWS SDK for Java 2.x でページ分割された結果を使用する](pagination.md)
  + [同期ページ割り](pagination.md#synchronous-pagination)
    + [ページを反復処理する](pagination.md#iterate-pages)
    + [オブジェクトを反復処理する](pagination.md#iterate-objects)
      + [ストリーミングを使用する](pagination.md#use-a-stream)
      + [for-each ループを使用する](pagination.md#for-loop)
    + [手動のページ割り](pagination.md#manual-pagination)
  + [非同期ページ割り](pagination.md#asynchronous-pagination)
    + [テーブル名のページを反復処理する](pagination.md#iterate-pages-async)
      + [`Subscriber` を使用する](pagination.md#use-a-subscriber)
      + [`Consumer` を使用する](pagination.md#id1pagination)
    + [テーブル名を反復処理する](pagination.md#iterate-objects-async)
      + [`Subscriber` を使用する](pagination.md#id2)
      + [`Consumer` を使用する](pagination.md#for-loop-async)
    + [サードパーティーライブラリを使用する](pagination.md#use-third-party-library)
+ [でのウェーターの使用 AWS SDK for Java 2.x](waiters.md)
  + [前提条件](waiters.md#prerequisiteswaiters)
  + [ウェーターの使用](waiters.md#id1waiters)
    + [同期プログラミング](waiters.md#synchronous-programming)
    + [非同期プログラミング](waiters.md#asynchronous-programming)
  + [ウェイターを設定する](waiters.md#configuring-waiters)
    + [ウェーターを設定する](waiters.md#configure-a-waiter)
    + [特定のリクエストの設定をオーバーライドする](waiters.md#override-configuration-for-a-specific-request)
  + [コードの例](waiters.md#code-examples)
+ [トラブルシューティングに関するよくある質問](troubleshooting.md)
  + [「`java.net.SocketException`: Connection reset」または「server failed to complete the response」エラーを修正するにはどうすればよいですか?](troubleshooting.md#faq-socketexception)
  + [「connection timeout」を修正するにはどうすればよいですか?](troubleshooting.md#faq-connection-timeout)
  + [「`java.net.SocketTimeoutException`: Read timed out」を修正するにはどうすればよいですか?](troubleshooting.md#faq-socket-timeout)
  + [「Unable to execute HTTP request: Timeout waiting for connection from pool」エラーを修正するにはどうすればよいですか?](troubleshooting.md#faq-pool-timeout)
  + [`NoClassDefFoundError`、`NoSuchMethodError`、または `NoSuchFieldError` を修正するにはどうすればよいですか?](troubleshooting.md#faq-classpath-errors)
  + [「`SignatureDoesNotMatch`」エラーまたは「The request signature we calculated does not match the signature you provided」エラーを修正するにはどうすればよいですか?](troubleshooting.md#faq-signature-does-not-match-error)
  + [「`java.lang.IllegalStateException`: Connection pool shut down」エラーを修正するにはどうすればよいですか?](troubleshooting.md#faq-connection-pool-shutdown-exception)
  + [「Unable to load credentials from any of the providers in the chain AwsCredentialsProviderChain」を修正するにはどうすればよいですか?](troubleshooting.md#faq-credentials-provider-chain)
    + [一般的な原因と解決方法](troubleshooting.md#faq-cred-provider-chain-common-causes-and-solutions)
      + [認証情報設定を確認する](troubleshooting.md#faq-cred-provider-chain-check-config)
        + [Amazon EC2 インスタンスの場合](troubleshooting.md#faq-cred-check-ec2)
        + [コンテナ環境の場合](troubleshooting.md#faq-cred-check-container-env)
        + [ローカル開発の場合](troubleshooting.md#faq-cred-check-local-dev)
        + [ウェブ ID フェデレーションの場合](troubleshooting.md#faq-cred-check-web-id-federation)
      + [ネットワークまたはプロキシの接続の問題](troubleshooting.md#faq-credentials-provider-chain-network-issues)
+ [の SDK 起動時間を短縮する AWS Lambda](lambda-optimize-starttime.md)
  + [CRT ベースの AWS HTTP クライアントを使用する](lambda-optimize-starttime.md#lambda-quick-url)
  + [未使用の HTTP クライアント依存関係を削除する](lambda-optimize-starttime.md#lambda-quick-remove-deps)
  + [検索をショートカットするようにサービスクライアントを設定します。](lambda-optimize-starttime.md#lambda-quick-clients)
  + [Lambda 関数ハンドラーの外部で SDK クライアントを初期化する](lambda-optimize-starttime.md#lambda-quick-initialize)
  + [依存関係インジェクションを最小限に抑える](lambda-optimize-starttime.md#lambda-quick-di)
  + [Maven Archetype ターゲットを使用する AWS Lambda](lambda-optimize-starttime.md#lambda-quick-maven)
  + [Lambda SnapStart for Java を検討する](lambda-optimize-starttime.md#lambda-quick-snapstart)
  + [起動時間に影響するバージョン 2.x の変更点](lambda-optimize-starttime.md#example-client-configuration)
  + [その他のリソース](lambda-optimize-starttime.md#lambda-quick-resources)
+ [`ContentStreamProvider` で を実装する AWS SDK for Java 2.x](content-stream-provider.md)
  + [`mark()` および `reset()` を使用します。](content-stream-provider.md#csp-impl-mark-reset)
  + [`mark()` と `reset()` が利用できない場合にバッファリングを使用する](content-stream-provider.md#csp-impl-unsupported-streams)
  + [新しいストリームを作成する](content-stream-provider.md#csp-impl-new-stream)
+ [DNS 名参照用の JVM TTL を設定する](jvm-ttl-dns.md)
  + [JVM TTL を設定する方法](jvm-ttl-dns.md#how-to-set-the-jvm-ttl)
    + [オプション 1: アプリケーションでプログラムで設定する](jvm-ttl-dns.md#set-ttl-programmatically)
    + [オプション 2: java.security ファイルで設定する](jvm-ttl-dns.md#set-ttl-java-security-file)
    + [オプション 3: JDK システムプロパティのフォールバックを使用する (コマンドライン)](jvm-ttl-dns.md#set-ttl-system-property)
+ [AWS SDK for Java で HTTP/2 を使用する](http2.md)