使用 JVM 系统属性进行 适用于 Java 的 AWS SDK 和 适用于 Kotlin 的 AWS SDK 全局配置
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");
重要
所有 JVM 系统属性都应在初始化 SDK 服务客户端之前设置,否则服务客户端可能会使用其他值。