

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Usando propriedades do sistema JVM para configurar e AWS SDK para Java AWS SDK para Kotlin
<a name="jvm-system-properties"></a>

[As propriedades do sistema JVM](https://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html) fornecem outra maneira de especificar as opções de configuração e as credenciais para SDKs execução na JVM, como a e a. AWS SDK para Java AWS SDK para Kotlin Para obter uma lista das propriedades do sistema JVM suportadas pelo SDKs, consulte Referência de [configurações](settings-reference.md#JVMSettings).

**Precedência de opções**
+ Se você especificar uma configuração usando a propriedade do sistema de JVM, ela substituirá qualquer valor encontrado em variáveis de ambiente ou carregado de um perfil nos arquivos compartilhados `config` e `credentials` da AWS.
+ Se você especificar uma configuração usando sua variável de ambiente, ela substituirá qualquer valor carregado de um perfil nos arquivos compartilhados `config` e `credentials` da AWS.

## Como definir as propriedades do sistema em JVM
<a name="jvm-sys-props-set"></a>

Você pode definir propriedades de sistema em JV de várias maneiras.

### Na linha de comando
<a name="jvm-sys-props-set-cl"></a>

Defina as propriedades de sistema de JVM na linha de comando ao invocar o comando `java` usando a opção `-D`. O comando a seguir configura a Região da AWS de maneira global para todos os clientes de serviço, a menos que você substitua explicitamente o valor no código.

```
java -Daws.region=us-east-1 -jar <your_application.jar> <other_arguments>
```

Se você precisar definir várias propriedades de sistema de JVM, especifique a opção `-D` várias vezes.

### Com uma variável de ambiente
<a name="jvm-sys-props-set-evar"></a>

Se não conseguir acessar a linha de comando para invocar a JVM para executar a aplicação, você poderá usar a variável de ambiente `JAVA_TOOL_OPTIONS` para configurar as opções da linha de comando. Essa abordagem é útil em situações como a execução de uma função do AWS Lambda em runtime Java ou a execução de código em uma JVM incorporada.

O exemplo a seguir configura Região da AWS globalmente para todos os clientes de serviço, a menos que você substitua explicitamente o valor no código.

------
#### [ Linux, macOS, or Unix ]

```
$ export JAVA_TOOL_OPTIONS={{"-Daws.region=us-east-1"}}
```

Configurar a variável de ambiente altera o valor usado até o final da sua sessão de shell ou até que você defina a variável como um valor diferente. Você pode tornar as variáveis persistentes em sessões futuras definindo-as no script de inicialização do shell.

------
#### [ Windows Command Prompt ]

```
C:\> setx JAVA_TOOL_OPTIONS {{-Daws.region=us-east-1}}
```

O uso de `[set](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/set_1)` para definir uma variável de ambiente altera o valor usado até o final da atual sessão de prompt de comando ou até que você defina a variável como um valor diferente. O 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 definir uma variável de ambiente altera o valor usado na sessão atual de prompt de comando e todas as sessões de prompt de comando que você criar após a execução do comando. ***Não*** afeta outros shells de comando que já estejam em execução no momento em que você executar o comando.

------

### Em runtime
<a name="jvm-sys-props-set-runtime"></a>

Você também pode definir as propriedades de sistema de JVM em runtime no código usando o método `System.setProperty` conforme mostrado no exemplo a seguir.

```
System.setProperty("aws.region", "us-east-1");
```

**Importante**  
Defina todas as propriedades de sistema de JVM *antes * de inicializar os clientes de serviço do SDK; caso contrário, os clientes de serviço poderão usar outros valores.