

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Uso de las propiedades del sistema JVM para configurar AWS SDK para Java globalmente y AWS SDK para Kotlin
<a name="jvm-system-properties"></a>

[Las propiedades del sistema JVM](https://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html) proporcionan otra forma de especificar las opciones de configuración y las credenciales para SDKs que se ejecuten en la JVM, como la y la AWS SDK para Java . AWS SDK para Kotlin[Para obtener una lista de las propiedades del sistema JVM compatibles con SDKs, consulte la referencia de configuración.](settings-reference.md#JVMSettings)

**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
<a name="jvm-sys-props-set"></a>

Puede definir las propiedades del sistema JVM de varias maneras.

### En la línea de comando
<a name="jvm-sys-props-set-cl"></a>

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
<a name="jvm-sys-props-set-evar"></a>

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.

En el siguiente ejemplo, se configura 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](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/set_1)` 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 [https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/setx](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/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
<a name="jvm-sys-props-set-runtime"></a>

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.