Uso de las propiedades del sistema JVM para configurar AWS SDK para Java y AWS SDK para Kotlin globalmente
Las propiedades del sistema JVM
Prioridad de las opciones
-
Si especifica una configuración mediante el uso de la propiedad de su sistema JVM, esto anula los valores que se encuentran en las variables del entorno o cualquier valor cargado desde un perfil en los archivos
configycredentialsde AWS compartidos. -
Si especifica una configuración mediante su variable de entorno, esta anulará cualquier valor cargado desde un perfil en los archivos
configycredentialsde AWS compartidos.
Cómo establecer propiedades del sistema JVM
Puede definir las propiedades del sistema JVM de varias maneras.
En la línea de comando
Establezca las propiedades del sistema JVM en la línea de comandos al invocar el comando java mediante el conmutador -D. El siguiente comando lo configura Región de AWS globalmente para todos los clientes del servicio, a menos que se anule explícitamente el valor del código.
java -Daws.region=us-east-1 -jar <your_application.jar> <other_arguments>
Si necesita establecer varias propiedades del sistema JVM, especifique el conmutador -D varias veces.
Con una variable de entorno
Si no puede acceder a la línea de comandos para invocar JVM para ejecutar la aplicación, puede usar la variable de entorno JAVA_TOOL_OPTIONS para configurar las opciones de la línea de comandos. Este enfoque resulta útil en situaciones como la ejecución de una función AWS Lambda en el tiempo de ejecución de Java o la ejecución de un código en una JVM incrustada.
El siguiente ejemplo configura la Región de AWS globalmente para todos los clientes del servicio, a menos que se anule explícitamente el valor del código.
En el tiempo de ejecución
También puede establecer las propiedades del sistema JVM en el tiempo de ejecución en el código mediante el método System.setProperty que se muestra en el ejemplo siguiente.
System.setProperty("aws.region", "us-east-1");
importante
Establezca las propiedades del sistema JVM antes de inicializar los clientes del servicio del SDK; de lo contrario, los clientes del servicio podrían utilizar otros valores.