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á.
Configurando clientes de serviço para o exterior AWS SDK for Java 2.x
Muitas configurações podem ser manipuladas fora do seu código. Quando você manipula a configuração externamente, ela pode ser aplicada a todos os seus aplicativos no mesmo processo Java. A maioria das configurações pode ser definida como variáveis de ambiente, propriedades do sistema JVM ou em um arquivo compartilhado AWS config
separado. O config
arquivo compartilhado pode manter conjuntos separados de configurações, chamados de perfis, para fornecer configurações diferentes para diferentes ambientes ou testes.
A maioria das variáveis de ambiente e configurações de config
arquivos compartilhados são padronizadas e compartilhadas entre AWS SDKs ferramentas para oferecer suporte à funcionalidade consistente em diferentes linguagens de programação e aplicativos. Na maioria dos casos, as propriedades do sistema JVM que o SDK for Java pode usar espelham as variáveis de ambiente.
Consulte o Guia de referência de ferramentas AWS SDKs e ferramentas para saber como configurar seu aplicativo por meio desses métodos, além de detalhes sobre cada configuração de SDK cruzado. Para ver todas as configurações que o SDK pode resolver a partir das variáveis de ambiente, propriedades do sistema JVM ou arquivos de configuração, consulte a referência de configurações no AWS SDKs Guia de referência de ferramentas.
Cadeia de provedores de configuração para configuração do cliente
O SDK verifica vários locais (ou fontes) para encontrar valores de configuração.
-
Qualquer configuração explícita definida no código ou no próprio cliente de serviço tem precedência sobre qualquer outra coisa.
-
Propriedades do sistema JVM
-
Para obter detalhes sobre a configuração das propriedades do sistema JVM, consulte Como definir as propriedades do sistema JVM no Guia de referência de ferramentas AWS SDKs .
-
-
Variáveis de ambiente
-
Para obter detalhes sobre a configuração de variáveis de ambiente, consulte variáveis de ambiente no Guia de referência de ferramentas AWS SDKs e ferramentas.
-
Observe que você pode configurar variáveis de ambiente para um shell em diferentes níveis de escopo: em todo o sistema, em todo o usuário e para uma sessão de terminal específica.
-
-
Arquivos
config
ecredentials
compartilhados-
Para obter detalhes sobre a configuração desses arquivos, consulte Compartilhados
config
ecredentials
arquivos no Guia de referência de ferramentas AWS SDKs e ferramentas.
-
-
Qualquer valor padrão fornecido pelo próprio código-fonte do SDK é usado por último.
-
Algumas propriedades, como Região, não têm um padrão. Você deve especificá-los explicitamente no código, em uma configuração de ambiente ou no
config
arquivo compartilhado. Se o SDK não conseguir resolver a configuração necessária, as solicitações de API podem falhar em tempo de execução.
-
Além dessa cadeia de configuração geral, o SDK for Java 2.x também usa cadeias de fornecedores especializadas, incluindo a cadeia de fornecedores de credenciais e Região da AWS a cadeia de fornecedores. Essas cadeias especializadas adicionam provedores adicionais que levam em conta o ambiente em que o SDK está sendo executado. Por exemplo, em um contêiner ou EC2 instância.
Crie um cliente de serviço configurado usando configurações externas
Você precisa criar um cliente de serviço em seu aplicativo para falar com um AWS service (Serviço da AWS). Os clientes de serviço são sua conexão essencial Serviços da AWS, lidando com todos os detalhes complexos da comunicação para que você não precise se preocupar com eles. Eles cuidam de tarefas importantes, como segurança, tratamento de erros e novas tentativas automáticas, permitindo que você se concentre na criação de seu aplicativo em vez de lidar com complicações técnicas.
Use o create()
método
Se todas as configurações necessárias vierem de fontes externas, você poderá criar um cliente de serviço com um método simples:
S3Client s3Client = S3Client.create();
O trecho de código anterior cria uma S3Client
instância. Durante a criação, o SDK examina as configurações na cadeia de provedores de configuração. Depois que o SDK encontrar um valor de configuração, o valor será usado mesmo que exista uma configuração posterior na cadeia.
Por exemplo, suponha que um usuário defina a configuração da JVM para o Região da AWS definindo a propriedade do sistema. -Daws.region=us-west-2
Se a variável de AWS_REGION
ambiente também for definida, seu valor será ignorado.
A cadeia de provedores da região padrão e a cadeia de provedores de credenciais padrão também serão usadas no processo de criação. Em algum lugar da cadeia, o SDK deve Região da AWS resolver as configurações de uso e localização que permitam recuperar credenciais para solicitações de assinatura. Se os SDKs arquivos encontrarem esses valores, a criação do cliente falhará.
Embora você possa criar um cliente usando esse padrão de construtor vazio, geralmente usa esse padrão quando deseja adicionar configuração no código.
Variáveis de ambiente do SDK for Java 2.x e propriedades do sistema JVM
Além das configurações cross-sdk suportadas pela maioria AWS SDKs, o SDK for Java 2.x fornece as seguintes configurações.
nota
Essas variáveis de ambiente e propriedades do sistema JVM são destinadas principalmente a casos de uso avançados, testes ou cenários de implantação específicos. Na maioria dos códigos de aplicativos, é preferível usar as opções de configuração programática fornecidas pelos criadores de clientes do SDK para melhor segurança de tipos e suporte ao IDE.
Variáveis de ambiente do provedor de credenciais de contêiner
Além das variáveis de ambiente de credenciais de contêiner padrão documentadas no guia de referência, o SDK também oferece suporte a:
AWS_CONTAINER_SERVICE_ENDPOINT
—Essa variável de ambiente especifica o endpoint do serviço de metadados do contêiner ao usar o provedor de credenciais do contêiner.
Propriedade do sistema Java: aws.containerServiceEndpoint
Valor padrão: http://169.254.170.2
Variáveis de ambiente de implementação do cliente HTTP
SYNC_HTTP_SERVICE_IMPL
—Identifica explicitamente a implementação padrão de HTTP síncrono que o SDK usará. Isso é útil quando há várias implementações no caminho de classe ou como uma otimização de desempenho, pois a descoberta da implementação exige a verificação do caminho de classe.
Propriedade do sistema Java: software.amazon.awssdk.http.service.impl
ASYNC_HTTP_SERVICE_IMPL
—Identifica explicitamente a implementação HTTP assíncrona padrão que o SDK usará. Isso é útil quando há várias implementações no caminho de classe ou como uma otimização de desempenho, pois a descoberta da implementação exige a verificação do caminho de classe.
Propriedade do sistema Java: software.amazon.awssdk.http.async.service.impl