곧 출시될 end-of-support AWS SDK for Java (v1) 버전을 발표했습니다
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
서비스 클라이언트 생성
에 Amazon Web Services요청하려면 먼저 서비스 클라이언트 객체를 만들어야 합니다. 권장 방법은 서비스 클라이언트 빌더를 사용하는 것입니다.
각 AWS 서비스 인터페이스에는 서비스 API의 각 작업에 대한 메서드가 포함된 서비스 인터페이스가 있습니다. 예를 들어, DynamoDB용 서비스 인터페이스의 이름은 DbClient입니다. AmazonDynamo 각 서비스 인터페이스마다 서비스 인터페이스의 구현을 생성하는 데 사용할 수 있는 해당하는 클라이언트 빌더가 있습니다. 의 클라이언트 빌더 클래스의 이름은 DynamoDB DB입니다. AmazonDynamo ClientBuilder
클라이언트 빌더 가져오기
클라이언트 빌더의 인스턴스를 가져오려면 다음 예에서처럼 정적 팩토리 메서드인 standard
를 사용합니다.
AmazonDynamoDBClientBuilder builder = AmazonDynamoDBClientBuilder.standard();
빌더가 있으면 빌더 API에서 여러 유용한 setter를 사용하여 클라이언트의 속성을 사용자 지정할 수 있습니다. 예를 들면 다음과 같이 사용자 지정 리전 및 사용자 지정 자격 증명 공급자를 설정할 수 있습니다.
AmazonDynamoDB ddb = AmazonDynamoDBClientBuilder.standard() .withRegion(Regions.US_WEST_2) .withCredentials(new ProfileCredentialsProvider("myProfile")) .build();
참고
유용한 withXXX
메서드는 builder
객체를 반환하므로 보다 읽기 쉽고 편리하도록 메서드 호출을 묶을 수 있습니다. 원하는 속성을 구성한 후에는 build
메서드를 호출하여 클라이언트를 생성할 수 있습니다. 클라이언트는 한 번 생성되고 나면 변경할 수 없으며 setRegion
또는 setEndpoint
호출이 실패합니다.
빌더는 동일한 구성을 사용하여 여러 클라이언트를 생성할 수 있습니다. 애플리케이션을 작성할 때는 빌더가 변경 가능하며 스레드 세이프가 아님에 주의해야 합니다.
다음 코드에서는 빌더가 클라이언트 인스턴스의 팩토리로 사용됩니다.
public class DynamoDBClientFactory { private final AmazonDynamoDBClientBuilder builder = AmazonDynamoDBClientBuilder.standard() .withRegion(Regions.US_WEST_2) .withCredentials(new ProfileCredentialsProvider("myProfile")); public AmazonDynamoDB createClient() { return builder.build(); } }
빌더는 또한 ClientConfiguration및 RequestMetricCollector에 대한 유창한 설정자와 2개의 사용자 지정 목록을 제공합니다. RequestHandler
다음은 모든 구성 가능한 속성을 재정의하는 전체 예제입니다.
AmazonDynamoDB ddb = AmazonDynamoDBClientBuilder.standard() .withRegion(Regions.US_WEST_2) .withCredentials(new ProfileCredentialsProvider("myProfile")) .withClientConfiguration(new ClientConfiguration().withRequestTimeout(5000)) .withMetricsCollector(new MyCustomMetricsCollector()) .withRequestHandlers(new MyCustomRequestHandler(), new MyOtherCustomRequestHandler) .build();
비동기 클라이언트 생성
AWS SDK for Java 에는 모든 서비스 (제외) 에 대한 비동기 (또는 비동기) 클라이언트와 모든 서비스에 해당하는 비동기 클라이언트 Amazon S3빌더가 있습니다.
기본값을 사용하여 비동기 DynamoDB 클라이언트를 만들려면 ExecutorService
AmazonDynamoDBAsync ddbAsync = AmazonDynamoDBAsyncClientBuilder.standard() .withRegion(Regions.US_WEST_2) .withCredentials(new ProfileCredentialsProvider("myProfile")) .build();
동기 (또는 동기화) 클라이언트 빌더가 지원하는 구성 옵션 외에도 비동기 클라이언트를 사용하면 사용자 ExecutorFactory지정을 설정하여 비동기 클라이언트가 사용하는 옵션을 변경할 수 있습니다. ExecutorService
ExecutorFactory
는 함수형 인터페이스이므로 Java 8 Lambda 표현식 및 메서드 참조와 상호 운용됩니다.
사용자 지정 executor를 사용하여 비동기 클라이언트를 생성하려면
AmazonDynamoDBAsync ddbAsync = AmazonDynamoDBAsyncClientBuilder.standard() .withExecutorFactory(() -> Executors.newFixedThreadPool(10)) .build();
사용: DefaultClient
동기 및 비동기 클라이언트 빌더에는 모두 defaultClient
라는 또 다른 팩토리 메서드가 있습니다. 이 메서드는 기본 구성을 사용하여 서비스 클라이언트를 생성하며, 기본 공급자 체인을 사용하여 자격 증명 및 AWS 리전을 로드합니다. 자격 증명 또는 리전을 애플리케이션이 실행 중인 환경에서 확인할 수 없으면 defaultClient
호출이 실패합니다. AWS 자격 증명 및 지역 결정 방법에 대한 자세한 내용은 자격 증명 및 AWS 리전 선택 작업을 참조하십시오.
기본 서비스 클라이언트를 생성하려면
AmazonDynamoDB ddb = AmazonDynamoDBClientBuilder.defaultClient();
클라이언트 수명 주기
SDK의 서비스 클라이언트는 스레드 세이프이며, 성능을 최대화하려면 서비스 클라이언트를 수명이 긴 객체로 다루어야 합니다. 각 클라이언트마다 고유한 연결 풀 리소스가 있습니다. 더 이상 필요하지 않은 경우 리소스 누수를 방지하기 위해 클라이언트를 명시적으로 종료하십시오.
클라이언트를 명시적으로 종료하려면 shutdown
메서드를 호출합니다. shutdown
을 호출한 후에는 모든 클라이언트 리소스가 해제되고 클라이언트를 사용할 수 없습니다.
클라이언트를 종료하려면
AmazonDynamoDB ddb = AmazonDynamoDBClientBuilder.defaultClient(); ddb.shutdown(); // Client is now unusable