Uso de las propiedades del sistema JVM para configurar AWS SDK para Java y AWS SDK para Kotlin globalmente - SDK y herramientas de AWS

Uso de las propiedades del sistema JVM para configurar AWS SDK para Java y AWS SDK para Kotlin globalmente

Las propiedades del sistema JVM constituyen otro mecanismo para especificar opciones de configuración y credenciales para los SDK que se ejecutan en JVM, como AWS SDK para Java y AWS SDK para Kotlin. Para obtener una lista de las propiedades del sistema JVM compatibles con los SDK, consulte la referencia de configuración.

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 config y credentials de AWS compartidos.

  • Si especifica una configuración mediante su variable de entorno, esta anulará cualquier valor cargado desde un perfil en los archivos config y credentials de 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.

Linux, macOS, or Unix
$ export JAVA_TOOL_OPTIONS="-Daws.region=us-east-1"

La configuración de la variable de entorno cambia el valor usado hasta el final de su sesión del intérprete de comandos o hasta que otorgue a la variable un valor diferente. Puede hacer que las variables persistan en sesiones futuras configurándolas en el script de startup del intérprete de comandos.

Windows Command Prompt
C:\> setx JAVA_TOOL_OPTIONS -Daws.region=us-east-1

El uso de set para configurar una variable de entorno cambia el valor usado hasta que finalice la sesión de símbolo del sistema actual o hasta que otorgue a la variable un valor diferente. El uso de setx para establecer una variable de entorno cambia el valor usado en la sesión de símbolo del sistema actual y en todas las sesiones de símbolo del sistema que cree después de ejecutar el comando. La operación no afecta a otros comandos del shell que ya se están ejecutando en el momento de ejecutar el comando.

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.