AWS.config.loadFromPath('./AwsConfig.json');
var params = {
Bucket: 'test-dev-2',
Key: file,
Body: data
};
s3.putObject(params, function(err) {
if(err) {
console.log(err);
}
else {
console.log("Success");
}
我已经在我的Aws Config.json文件中设置了凭据,而控制台正在返回此错误:
{ [TimeoutError: Missing credentials in config]
message: 'Missing credentials in config',
code: 'CredentialsError',
time: Wed Oct 08 2014 16:05:18 GMT-0300 (BRT),
originalError:
{ message: 'Could not load credentials from any providers',
code: 'CredentialsError',
time: Wed Oct 08 2014 16:05:18 GMT-0300 (BRT),
originalError:
{ message: 'Connection timed out after 1000ms',
code: 'TimeoutError',
time: Wed Oct 08 2014 16:05:18 GMT-0300 (BRT) } } }
凭据没错。任何人都知道错误原因?
答案 0 :(得分:1)
你的json文件看起来应该是这样的(我在那里添加了几个“asdf”)。
{
"accessKeyId": "ACIAIasdfasdfBEF",
"secretAccessKey": "1+eOuyasdfasdasdfEn1",
"region": "us-west-2",
"apiVersions": {
"s3": "2006-03-01",
"ses": "2010-12-01"
}
}
此外,在您的AWS控制台中,请确保用户密钥可以访问S3。创建新用户组,向该组添加“S3 Full”权限,并创建属于该安全组的新用户(不是您的管理员组!)
还有一个。我没看到你是如何创建s3
变量的。我像这个服务器开始创建我的:
AWS.config.loadFromPath( './aws-config.json' );
AWS.s3 = new AWS.S3();
然后在代码中我访问它类似于你:AWS.s3.putObject(...)
答案 1 :(得分:1)
尝试所有选项后,这对我有用
<body onload="initialize()">
但硬编码安全密钥并不是一个好习惯。因此,将根据aws
的建议使用安全选项尽快更新此帖子答案 2 :(得分:0)
在获取s3对象之前实例化配置非常重要。
AWS.config.loadFromPath('./awsCredentials.json');
var s3 = new AWS.S3();