Anunciamos
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.Config
en la referencia de la API.
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 la región correctamente en el archivo config
, obtendrá ese valor definiendo la variable de entorno AWS_SDK_LOAD_CONFIG
en cualquier valor 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
El acceso a cada servicio que se utiliza en el SDK de JavaScript se realiza a través de un objeto de servicio que forma parte de la API de dicho servicio. Por ejemplo, para acceder al servicio de Amazon S3, tiene que crear el objeto de servicio de 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 obtener acceso a objetos de Amazon EC2 en varias regiones, cree un objeto de servicio de Amazon EC2 para cada región y, a continuación, defina 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 acerca de la configuración específica de servicios, consulte Class: AWS.Config
en la referencia de la API de AWS SDK for JavaScript.
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 objeto de servicio de Amazon S3 con datos de configuración nuevos:
s3 = new AWS.S3(s3.config);