O AWS SDK for Java 1.x entrou no modo de manutenção em 31 de julho de 2024 e chegará end-of-support
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á.
Configurar as credenciais temporárias da AWS e a Região da AWS para desenvolvimento
Para se conectar a qualquer um dos serviços compatíveis com o AWS SDK for Java, você deve fornecer as credenciais temporárias da AWS. Os SDKs e as CLIs da AWS usam cadeias de fornecedores para procurar credenciais temporárias da AWS em vários lugares diferentes, inclusive variáveis de sistema/ambiente do usuário e arquivos de configuração da AWS locais.
Este tópico fornece informações básicas sobre como configurar as credenciais temporárias da AWS para desenvolvimento de aplicativos locais usando o AWS SDK for Java. Se for necessário configurar credenciais a serem usadas dentro de uma instância do EC2 ou se estiver usando o IDE do Eclipse para desenvolvimento, consulte os seguintes tópicos:
-
Ao usar uma instância do EC2, crie um perfil do IAM e dê à instância do EC2 acesso a essa função conforme mostrado em Usar perfis do IAM para conceder acesso a recursos da AWS no Amazon EC2.
-
Configure as credenciais da AWS no Eclipse usando o AWS Toolkit for Eclipse
. Consulte Configurar credenciais da AWS no Guia do usuário do AWS Toolkit for Eclipse para obter mais informações.
Configurar credenciais temporárias
É possível configurar credenciais temporárias para o AWS SDK for Java de várias maneiras, mas aqui estão as abordagens recomendadas:
-
Defina credenciais temporárias no arquivo de perfil de credenciais da AWS no sistema local, localizado em:
-
~/.aws/credentials
no Linux, macOS ou Unix -
C:\Users\USERNAME\.aws\credentials
no Windows
Consulte Configure credenciais temporárias para o SDK neste guia para obter instruções sobre como obter suas credenciais temporárias.
-
-
Defina as variáveis de ambiente
AWS_ACCESS_KEY_ID
,AWS_SECRET_ACCESS_KEY
eAWS_SESSION_TOKEN
.Para definir essas variáveis no Linux, macOS ou Unix, use :
export AWS_ACCESS_KEY_ID=your_access_key_id export AWS_SECRET_ACCESS_KEY=your_secret_access_key export AWS_SESSION_TOKEN=your_session_token
Para definir essas variáveis no Windows, use :
set AWS_ACCESS_KEY_ID=your_access_key_id set AWS_SECRET_ACCESS_KEY=your_secret_access_key set AWS_SESSION_TOKEN=your_session_token
-
Para uma instância do EC2, especifique um perfil do IAM e dê à instância do EC2 acesso a essa função. Consulte Perfis do IAM para Amazon EC2 no Guia do usuário do Amazon EC2 para instâncias do Linux para uma discussão detalhada sobre como isso funciona.
Depois que você tiver definido as credenciais temporárias da AWS usando um desses métodos, elas serão carregadas automaticamente pelo AWS SDK for Java usando-se a cadeia de fornecedores de credencial padrão. Para obter mais informações sobre como trabalhar com credenciais da AWSnos aplicativos Java, consulte Trabalhar com credenciais da AWS.
Atualizar credenciais do IMDS
O AWS SDK for Java permite atualizar credenciais do IMDS em segundo plano a cada minuto, independentemente do tempo de expiração da credencial. Isso permite que você atualize as credenciais com mais frequência e reduz a chance de que não atingir o IMDS afete a disponibilidade percebida da AWS.
1. // Refresh credentials using a background thread, automatically every minute. This will log an error if IMDS is down during 2. // a refresh, but your service calls will continue using the cached credentials until the credentials are refreshed 3. // again one minute later. 4. 5. InstanceProfileCredentialsProvider credentials = 6. InstanceProfileCredentialsProvider.createAsyncRefreshingProvider(true); 7. 8. AmazonS3Client.builder() 9. .withCredentials(credentials) 10. .build(); 11. 12. // This is new: When you are done with the credentials provider, you must close it to release the background thread. 13. credentials.close();
Defina a Região da AWS
Você deve definir uma Região da AWS padrão que será usada para acessar serviços da AWS com o AWS SDK for Java. Tendo em vista o melhor desempenho da rede, você deve escolher uma região geograficamente próxima de você (ou dos clientes). Para obter uma lista de regiões para cada serviço, consulte Regiões e endpoints na Referência geral da Amazon Web Services.
nota
Se você não selecionar uma região, us-east-1 será usada por padrão.
Você pode usar técnicas semelhantes para à definição de credenciais para configurar a região da AWS padrão:
-
Defina a Região da AWS no arquivo de configuração da AWS no sistema local, localizado em:
-
~/.aws/config no Linux, macOS ou Unix
-
C:\Users\USERNAME\.aws\config no Windows
Esse arquivo deve conter linhas no seguinte formato:
+
[default] region = your_aws_region
+
Substitua a Região da AWS desejada (por exemplo, “us-west-1”) para your_aws_region.
-
-
Defina a variável de ambiente
AWS_REGION
.No Linux, macOS ou Unix, use
:
export AWS_REGION=your_aws_region
No Windows, use
:
set AWS_REGION=your_aws_region
Em que your_aws_region é o nome da Região da AWS desejado.