3

在我的 nodejs 项目中,我使用 aws-sdk 从我的 s3 存储桶中下载所有图像,但是我收到了这个错误 - NoSuchKey: The specified key does not exist。但是密钥是正确的,我可以使用这些密钥上传图像。

我的代码是:

var AWS = require('aws-sdk');
  s3 = new AWS.S3();
  var params = {
        Bucket:  config.get("aws.s3.bucket"),
        Key: config.get("aws.credentials.secretAccessKey")
    };
    s3.getObject(params, function (err, data) {
        console.log("data");
        if (err) console.log(err, err.stack); // an error occurred
        else console.log(data);
    });
}

谁能告诉我我做错了什么?

4

2 回答 2

3

关于如何使用 aws-sdk 存在一些问题,应该如下例所示:

var aws = require('aws-sdk');
aws.config.update({
  accessKeyId: {{AWS_ACCESS_KEY}},
  secretAccessKey: {{AWS_SECRET_KEY}}
});
var s3 = new aws.S3();
var s3Params = {
    Bucket:  {{bucket name}},
    Key: {{path to dedicated S3 Object (folder name + file/object 
    name)}}
};
s3.getObject(s3Params, function (err, data) {
  //Continue handling the returned results.
});

用正确的数据替换 {{}} 中的字符串,它应该可以正常工作。

于 2017-06-18T14:31:16.633 回答
-3

您可能需要 sudo 才能读取密钥。

于 2017-06-18T03:26:03.817 回答