Uso del objeto de configuración global - AWS SDK for JavaScript

LaAWS SDK for JavaScript versión 3 (v3) es una reescritura de la versión 2 con algunas funciones nuevas y excelentes, incluida la arquitectura modular. Para obtener más información, consulte la Guía para desarrolladores de la versiónAWS SDK for JavaScript 3.

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.

Uso del objeto de configuración global

Hay dos formas de configurar el SDK:

  • Establecer la configuración global con AWS.Config.

  • Transferir información de configuración adicional a un objeto de servicio.

Normalmente es más fácil comenzar con la configuración global de valores mediante AWS.Config, pero la configuración de nivel de servicio puede aportar más control sobre los servicios individuales. La configuración global que AWS.Config especifica proporciona la configuración predeterminada para objetos de servicio que crea posteriormente, lo que simplifica su configuración. Sin embargo, tiene la posibilidad de actualizar la configuración de objetos de servicio individuales cuando sus necesidades varían de la configuración global.

Ajuste de la configuración global

Después de cargar el paquete aws-sdk en el código, puede utilizar la variable global AWS para acceder a las clases del SDK e interactuar con servicios individuales. El SDK incluye un objeto de configuración global, AWS.Config, que se utiliza para especificar los ajustes de configuración del SDK que la aplicación necesita.

Configure el SDK definiendo las propiedades AWS.Config de acuerdo con las necesidades de la aplicación. En la tabla siguiente se resumen las propiedades AWS.Config que se suelen usar para establecer la configuración del SDK.

Opciones de configuración Descripción
credentials Obligatorio. Especifica las credenciales que se usan para determinar el acceso a los servicios y los recursos.
region Obligatorio. Especifica la región en la que se realizan las solicitudes de servicios.
maxRetries Opcional. Especifica el número máximo de veces que una solicitud determinada se reintenta.
logger Opcional. Especifica un objeto registrador en el que se escribe información de depuración.
update Opcional. Actualiza la configuración actual con nuevos valores.

Para obtener más información acerca del objeto de configuración, consulte Class: AWS.Configen la Referencia de las API de.

Ejemplos de configuración global

Tiene que establecer la región y las credenciales en AWS.Config. Puede configurar estas propiedades como parte del constructor AWS.Config, tal y como se muestra en el siguiente ejemplo de script de navegador:

var myCredentials = new AWS.CognitoIdentityCredentials({IdentityPoolId:'IDENTITY_POOL_ID'}); var myConfig = new AWS.Config({ credentials: myCredentials, region: 'us-west-2' });

También puede definir estas propiedades después de crear AWS.Config utilizando el método update, tal y como se muestra en el siguiente ejemplo que actualiza la región:

myConfig = new AWS.Config(); myConfig.update({region: 'us-east-1'});

Puede obtener sus credenciales predeterminadas llamando al método getCredentials estático de AWS.config:

var AWS = require("aws-sdk"); AWS.config.getCredentials(function(err) { if (err) console.log(err.stack); // credentials not loaded else { console.log("Access key:", AWS.config.credentials.accessKeyId); } });

Del mismo modo, si ha definido su región correctamente en el archivo config, obtendrá ese valor definiendo la variable de entorno AWS_SDK_LOAD_CONFIG en un valor verdadero y llamando a la propiedad region estática de AWS.config:

var AWS = require("aws-sdk"); console.log("Region: ", AWS.config.region);

Configuración según el servicio

Se accede a cada servicio que utilice en el SDK a través de un objeto de servicio que forma parte de la API de ese servicio. JavaScript Por ejemplo, para acceder al servicio Amazon S3, cree el objeto de servicio Amazon S3. Puede especificar los valores de configuración que son específicos de un servicio como parte del constructor para dicho objeto de servicio. Cuando establece valores de configuración en un objeto de servicio, el constructor toma todos los valores de configuración que AWS.Config utiliza, incluidas las credenciales.

Por ejemplo, si necesita acceder a objetos de Amazon EC2 en varias regiones, cree un objeto de servicio de Amazon EC2 para cada región y, a continuación, configure la configuración de región de cada objeto de servicio en consecuencia.

var ec2_regionA = new AWS.EC2({region: 'ap-southeast-2', maxRetries: 15, apiVersion: '2014-10-01'}); var ec2_regionB = new AWS.EC2({region: 'us-east-1', maxRetries: 15, apiVersion: '2014-10-01'});

También puede establecer valores de configuración específicos de un servicio al configurar el SDK con AWS.Config. El objeto de configuración global admite muchas opciones de configuración específicas de servicios. Para obtener más información sobre la configuración específica del servicio, consulte Class: AWS.Configla ReferenciaAWS SDK for JavaScript de API.

Datos de configuración inmutables

Los cambios de la configuración global se aplican a las solicitudes de todos los objetos de servicio que se acaban de crear. Los objetos de servicio recién creados se configuran primero con los datos de la configuración global actual y después con las opciones de configuración local. Las actualizaciones que se introducen en el objeto AWS.config global no se aplican a los objetos de servicio que se ha creado anteriormente.

Los objetos de servicio ya existentes deben actualizarse manualmente con datos de la nueva configuración o bien debe crear y utilizar un objeto de servicio nuevo que tenga los nuevos datos de configuración. En el siguiente ejemplo, se crea un nuevo objeto de servicio de Amazon S3 con nuevos datos de configuración:

s3 = new AWS.S3(s3.config);