

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 사용 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)
+ [문제 해결 FAQ](troubleshooting.md)
  + [‘`java.net.SocketException`: 연결 재설정’ 또는 ‘서버가 응답을 완료하지 못함’ 오류 해결 방법](troubleshooting.md#faq-socketexception)
  + [‘연결 제한 시간’을 수정하는 방법](troubleshooting.md#faq-connection-timeout)
  + [‘`java.net.SocketTimeoutException`: 읽기 제한 시간’을 수정하는 방법](troubleshooting.md#faq-socket-timeout)
  + [‘HTTP 요청을 실행할 수 없음: 풀에서 연결을 기다리는 제한 시간’ 오류를 해결하는 방법](troubleshooting.md#faq-pool-timeout)
  + [`NoClassDefFoundError`, `NoSuchMethodError` 또는 `NoSuchFieldError`를 수정하는 방법](troubleshooting.md#faq-classpath-errors)
  + [‘`SignatureDoesNotMatch`’ 오류 또는 ‘계산한 요청 서명이 제공한 서명과 일치하지 않음’ 오류를 해결하는 방법](troubleshooting.md#faq-signature-does-not-match-error)
  + [‘`java.lang.IllegalStateException`: 연결 풀 종료’ 오류를 해결하는 방법](troubleshooting.md#faq-connection-pool-shutdown-exception)
  + [‘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)
  + [AWS CRT 기반 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)
  + [Java용 Lambda SnapStart를 고려](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)