AWS SDK para Java 1.x ha entrado en modo de mantenimiento el 31 de julio de 2024 y llegará al final de soporte
Configurar credenciales temporales de AWS y Región de AWS para desarrollo
Para conectarse a cualquiera de los servicios compatibles con AWS SDK para Java, debe proporcionar las credenciales de AWS. Los SDK de AWS y las CLI de AWS usan cadenas de proveedores para buscar las credenciales de AWS en diversos lugares; por ejemplo, en las variables de entorno del sistema o del usuario y en los archivos de configuración de AWS.
En este tema se proporciona información básica acerca de cómo configurar las credenciales de AWS para el desarrollo de aplicaciones locales mediante AWS SDK para Java. Si necesita configurar las credenciales para utilizarlas en una instancia EC2 o si utiliza el IDE de Eclipse para desarrollo, consulte los siguientes temas:
-
Cuando utilice una instancia EC2, cree un rol de IAM y conceda acceso a la instancia EC2 a dicho rol como se indica en Uso de roles de IAM para conceder acceso a los recursos de AWS en Amazon EC2.
-
Configurar credenciales de AWS en Eclipse mediante AWS Toolkit for Eclipse
. Consulte Configuración de credenciales de AWS en la Guía del usuario de AWS Toolkit for Eclipse.
Configurar credenciales temporales
Puede configurar las credenciales temporales para el AWS SDK para Java de varias maneras, pero a continuación se indican los enfoques recomendados:
-
Configure las credenciales temporales en el archivo de perfil de credenciales de AWS del sistema local, situado en:
-
~/.aws/credentialsen Linux, macOS o Unix -
C:\Users\USERNAME\.aws\credentialsen Windows
Consulte las Configure credenciales temporales para el SDK. en esta guía para sabre cómo obtener sus credenciales temporales.
-
-
Establezca las variables de entorno
AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEYyAWS_SESSION_TOKEN.Para establecer estas variables en Linux, MacOS, o Unix, utilice :
export AWS_ACCESS_KEY_ID=your_access_key_id export AWS_SECRET_ACCESS_KEY=your_secret_access_key export AWS_SESSION_TOKEN=your_session_tokenPara establecer estas variables en Windows, utilice :
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 una instancia EC2, especifique un rol de IAM y conceda a la instancia EC2 acceso a dicho rol. Consulte los roles de IAM para Amazon EC2 en la Guía del usuario de Amazon EC2 para instancias de Linux para obtener información detallada sobre su funcionamiento.
Una vez que haya establecido sus credenciales de AWS utilizando alguno de estos métodos, AWS SDK para Java las cargará automáticamente mediante la cadena predeterminada de proveedores de credenciales. Para obtener más información sobre cómo trabajar con credenciales de AWS en sus aplicaciones Java, consulte Uso de credenciales de AWS.
Actualización de credenciales IMDS
El AWS SDK para Java admite seleccionar la actualización de credenciales IMDS en segundo plano cada 1 minuto, independientemente del plazo de vencimiento de la credencial. Esto le permite actualizar las credenciales con más frecuencia y reduce la posibilidad de que no alcanzar IMDS afecte a la disponibilidad de AWS percibida.
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();
Definir la Región de AWS
Debe definir la región de Región de AWS predeterminada que se usará para obtener acceso a los servicios de AWS con el AWS SDK para Java. Para disfrutar de un rendimiento de red óptimo, elija una región que esté geográficamente cerca de usted (o de sus clientes). Para ver una lista de las regiones, consulte Regiones y puntos de conexión en la Referencia general de Amazon Web Services.
nota
Si no selecciona una región, se usará us-east-1 de forma predeterminada.
Puede utilizar técnicas similares a las de la configuración de credenciales para definir la región de AWS predeterminada:
-
Defina la región de Región de AWS en el archivo de configuración de AWS en su sistema local, situado en:
-
~/.aws/config en Linux, macOS o Unix
-
C:\Users\USERNAME\.aws\config on Windows
Este archivo debe contener líneas con el siguiente formato:
+
[default] region = your_aws_region+
Sustituya su Región de AWS (por ejemplo, "us-east-1") por su_region_aws.
-
-
Establezca la variable de entorno
AWS_REGION.En Linux, macOS o Unix, utilice
:export AWS_REGION=your_aws_regionEn Windows, use
:set AWS_REGION=your_aws_regionDonde su_región_de_aws es el nombre de la región de Región de AWS que desee.