在节点中配置区域.js AWS 开发工具包

有人可以解释如何使用Node.js修复丢失的配置错误吗?我已经遵循了aws文档页面中的所有示例,但无论如何我仍然收到此错误。

{ [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 - -

这是我的代码:

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'});

(...)

答案 1

如何更改语句的顺序?在实例化 s3 和 dd 之前更新 AWS 配置

var AWS = require('aws-sdk');
AWS.config.update({region:'us-east-1'});

var dd = new AWS.DynamoDB();
var s3 = new AWS.S3();

答案 2

我遇到了同样的问题“配置中缺少区域”,在我的情况下,与CLI或Python SDK不同,Node SDK不会从文件中读取。~\.aws\config

要解决此问题,您有三种选择:

  1. 以编程方式(硬编码)对其进行配置:AWS.config.update({region:'your-region'});

  2. 使用环境变量。当 CLI 使用 时,Node SDK 使用 。AWS_DEFAULT_REGIONAWS_REGION

  3. 使用以下命令从 JSON 文件加载AWS.config.loadFromPath('./config.json');

JSON 格式:

{ 
    "accessKeyId": "akid", 
    "secretAccessKey": "secret", 
    "region": "us-east-1" 
}