Usar propriedades de sistema em JVM para configurar AWS SDK para Java e AWS SDK para Kotlin - AWS SDKs e ferramentas

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á.

Usar propriedades de sistema em JVM para configurar AWS SDK para Java e AWS SDK para Kotlin

Propriedades de sistema em JVM fornecem outra maneira de especificar opções de configuração e credenciais para SDKs executados na JVM, como o AWS SDK para Java e o AWS SDK para Kotlin. Para obter uma lista das propriedades de sistema em JVM compatíveis com SDKs, consulte Referência de configurações.

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

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

Na linha de comando

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 globalmente 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

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 a 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 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 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

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.