¿Alguien puede explicar cómo corregir un error de configuración faltante con Node.js? He seguido todos los ejemplos de la página de documentos de aws, pero sigo recibiendo este error, pase lo que pase.
{ [ConfigError: Missing region in config] message: 'Missing region in config', code: 'ConfigError', time: Wed Jun 24 2015 21:39:58 GMT-0400 (EDT) }>{ thumbnail: { fieldname: 'thumbnail', originalname: 'testDoc.pdf', name: 'testDoc.pdf', encoding: '7bit', mimetype: 'application/pdf', path: 'uploads/testDoc.pdf', extension: 'pdf', size: 24, truncated: false, buffer: null } } POST / 200 81.530 ms - -Aquí está mi código:
var express = require('express'); var router = express.Router(); var AWS = require('aws-sdk'); var dd = new AWS.DynamoDB(); var s3 = new AWS.S3(); var bucketName = 'my-bucket'; AWS.config.update({region:'us-east-1'}); (...)¿Qué hay de cambiar el orden de las declaraciones? Actualice la configuración de AWS antes de instanciar s3 y dd
var AWS = require('aws-sdk'); AWS.config.update({region:'us-east-1'}); var dd = new AWS.DynamoDB(); var s3 = new AWS.S3();Tuve el mismo problema "Falta región en la configuración" y en mi caso fue que, a diferencia de la CLI o el SDK de Python, el SDK de Node no lee el archivo ~\.aws\config .
Para solucionar esto, tienes tres opciones:
Configúrelo mediante programación (codificado de forma rígida): AWS.config.update({region:'your-region'});
Utilice una variable de entorno. Mientras que la CLI usa AWS_DEFAULT_REGION , el SDK de nodo usa AWS_REGION .
Cargue desde un archivo JSON usando AWS.config.loadFromPath('./config.json');
Formato JSON:
{ "accessKeyId": "akid", "secretAccessKey": "secret", "region": "us-east-1" }Si trabaja con AWS CLI, probablemente tenga una región predeterminada definida en ~/.aws/config. Lamentablemente, AWS SDK for JavaScript no lo carga de forma predeterminada. Para cargarlo define env var
AWS_SDK_LOAD_CONFIG=1