Configuración básica para trabajar con Servicios de AWS - AWS SDK for Java 1.x

Anunciamos la próxima versión end-of-support para AWS SDK for Java (v1). Se recomienda que migre a AWS SDK for Java versión 2. Para ver las fechas, los detalles adicionales y la información sobre cómo realizar la migración, consulte el anuncio enlazado.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configuración básica para trabajar con Servicios de AWS

Información general

Para desarrollar con éxito aplicaciones que accedan a Servicios de AWS utilizando el AWS SDK for Java, se requieren las siguientes condiciones:

importante

En las instrucciones de esta sección de configuración se supone que usted o su organización utilizan el Centro de identidad de IAM. Si su organización utiliza un proveedor de identidad externo que funciona de forma independiente del Centro de identidades de IAM, averigüe cómo puede obtener credenciales temporales para que las utilice el SDK para Java. Siga estas instrucciones para añadir credenciales temporales al archivo ~/.aws/credentials.

Si su proveedor de identidad agrega credenciales temporales automáticamente al archivo ~/.aws/credentials, asegúrese de que el nombre del perfil sea [default] para que no necesite proporcionarlo al SDK o AWS CLI.

Inicie sesión en el portal de acceso a AWS

El portal de acceso a AWS es la ubicación web en la que se inicia sesión manualmente en el Centro de identidades de IAM. El formato de la URL es d-xxxxxxxxxx.awsapps.com/start o your_subdomain.awsapps.com/start.

Si no está familiarizado con el portal de acceso a AWS, siga las orientaciones para el acceso a cuentas en el tema de Paso 1 de la autenticación del Centro de identidades IAM de la Guía de referencia de SDK y herramientas de AWS. No siga el paso 2 porque el AWS SDK for Java 1.x no admite la actualización automática de los tokens ni la recuperación automática de las credenciales temporales para el SDK que se describen en el paso 2.

Configurar los archivos de configuración compartidos

Los archivos de configuración compartidos residen en la estación de trabajo de desarrollo y contienen los ajustes básicos que utilizan todos los AWS SDK y la AWS Command Line Interface (CLI). Los archivos de configuración compartidos pueden contener varios ajustes, pero estas instrucciones configuran los elementos básicos necesarios para funcionar con el SDK.

Configuración del archivo compartido config

El ejemplo siguiente muestra el contenido de un archivo config compartido.

[default] region=us-east-1 output=json

Para fines de desarrollo, use la Región de AWS más cercana al lugar donde planea ejecutar el código. Para obtener una lista de los códigos de región que se van a usar en el archivo config, consulte la guía Referencia general de Amazon Web Services. El ajuste json del formato de salida es uno de varios valores posibles.

Siga las instrucciones de esta sección para crear el archivo config.

Configure credenciales temporales para el SDK.

Después de tener acceso a un rol Cuenta de AWS y de IAM a través del portal de acceso a AWS, configure su entorno de desarrollo con credenciales temporales para que el SDK tenga acceso.

Pasos para configurar un archivo credentials local con credenciales temporales
  1. Crear un archivo de credentials compartido.

  2. En el archivo credentials, pegue el siguiente texto de marcador de posición hasta que pegue las credenciales temporales que funcionen.

    [default] aws_access_key_id=<value from AWS access portal> aws_secret_access_key=<value from AWS access portal> aws_session_token=<value from AWS access portal>
  3. Guarde el archivo. El archivo ~/.aws/credentials debería existir ahora en su sistema de desarrollo local. Este archivo contiene el perfil [predeterminado] que el SDK para Java utiliza si no se especifica un perfil con nombre específico.

  4. Inicie sesión en el portal de acceso de AWS.

  5. Siga las instrucciones de Actualizar manualmente las credenciales para copiar el rol de IAM desde el portal de acceso de AWS.

    1. Para el paso 4 de las instrucciones vinculadas, elija el nombre del rol de IAM que le concede acceso para sus necesidades de desarrollo. Este rol suele tener un nombre como PowerUserAccess o Developer.

    2. Para el paso 7, seleccione la opción Agregar manualmente un perfil a su archivo de credenciales de AWS y copie el contenido.

  6. Pegue las credenciales copiadas en su archivo credentials local y elimine cualquier nombre de perfil que se haya pegado. Su archivo debería parecerse a lo siguiente:

    [default] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY aws_session_token=IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
  7. Guarde el archivo credentials.

El SDK para Java accederá a estas credenciales temporales cuando cree un cliente de servicio y las utilizará para cada solicitud. La configuración del rol de IAM elegido en el paso 5a determina el tiempo de validez de las credenciales temporales. La duración máxima es de doce horas.

Cuando las credenciales temporales caduquen, repita los pasos del 4 al 7.

Instalar un entorno de desarrollo de Java.

AWS SDK for Java requiere J2SE Development Kit 6.0 o una versión posterior. Puede descargar el software de Java más reciente en http://www.oracle.com/technetwork/java/javase/downloads/.

importante

La versión de Java 1.6 (JS2E 6.0) no admite certificados SSL firmados con SHA256, que son necesarios para todas las conexiones HTTPS con AWS después del 30 de septiembre de 2015.

Las versiones de Java 1.7 o más recientes incluyen certificados actualizados y no les afecta este problema.

Selección de una JVM

Para conseguir el mejor rendimiento de sus aplicaciones basadas en servidor con AWS SDK for Java, le recomendamos que utilice la versión de 64 bits de la máquina virtual de Java (JVM). Esta JVM se ejecuta únicamente en modo servidor, aunque especifique la opción -Client en tiempo de ejecución.

El uso de la versión de 32 bits de la JVM con la opción -Server en tiempo de ejecución debería proporcionar un desempeño similar al de la JVM de 64 bits.