JVM 시스템 속성을 사용하여 AWS SDK for Java 및 AWS SDK for Kotlin를 글로벌로 구성
JVM 시스템 속성
옵션의 우선 순위
-
JVM 시스템 속성을 사용해 설정 값을 지정하면, 환경 변수나 공유 AWS
config및·credentials파일의 프로파일에서 불러온 어떤 값보다도 우선하여 적용됩니다. -
환경 변수를 사용하여 설정을 지정할 경우, 공유 AWS
config및credentials파일의 프로파일에서 로드된 값을 재정의합니다.
JVM 시스템 속성 설정 방법
여러 가지 방법으로 JVM 시스템 속성을 설정할 수 있습니다.
명령줄에서
-D 스위치를 사용해 명령을 호출할 때, java 명령줄에서 JVM 시스템 속성을 설정합니다. 다음 명령은 코드에서 값을 명시적으로 재정의하지 않는 한, 모든 서비스 클라이언트에 대해 AWS 리전을 글로벌로 구성합니다.
java -Daws.region=us-east-1 -jar <your_application.jar> <other_arguments>
여러 JVM 시스템 속성을 설정해야 하는 경우, -D 스위치를 여러 번 지정하면 됩니다.
환경 변수 사용
애플리케이션을 실행하기 위해 JVM을 간접적으로 호출하는 명령줄에 접근할 수 없다면, JAVA_TOOL_OPTIONS 환경 변수를 사용해 명령줄 옵션을 구성할 수 있습니다. 이 방식은 Java 런타임에서 AWS Lambda 함수를 실행하거나, 임베디드 JVM에서 코드를 실행하는 경우 등에 유용합니다.
다음 예제는 코드에서 값을 명시적으로 재정의하지 않는 한, 모든 서비스 클라이언트에 대해 AWS 리전을 글로벌로 구성합니다.
런타임 시
다음 예제와 같이 System.setProperty 방법을 사용하면, 코드 내에서 런타임 시 JVM 시스템 속성을 설정할 수도 있습니다.
System.setProperty("aws.region", "us-east-1");
중요
SDK 서비스 클라이언트를 초기화하기 전에 JVM 시스템 속성을 모두 설정해야 합니다. 그러지 않으면 서비스 클라이언트가 다른 값을 사용할 수 있습니다.