我正在使用aws javascript sdk,由于某种原因,我可以访问整个存储桶内容,但是当我添加prefix
时,我得到的是null
而不是这些内容的子集。例如,以下代码返回所有存储桶内容:
AWS.config.accessKeyId = this.s3.config["accessKeyId"];
AWS.config.secretAccessKey = this.s3.config["secretAccessKey"];
AWS.config.region = 'us-east-2';
var aws = new AWS.S3();
var all_params = {Bucket: 'bucket-name'};
new Promise(resolve => {
aws.listObjectsV2(all_params, function (err, url) {
console.log(url)
resolve(url)
});
})
返回的对象包含1000条记录,其中大多数采用Key: "clients/after_fronts/000..."
格式。但是,当我运行以下命令时,会得到一个null
对象:
AWS.config.accessKeyId = this.s3.config["accessKeyId"];
AWS.config.secretAccessKey = this.s3.config["secretAccessKey"];
AWS.config.region = 'us-east-2';
var key = "clients"
var aws = new AWS.S3();
var params = {Bucket: 'bucket-name', prefix: key};
return new Promise(resolve => {
aws.listObjectsV2(params, function (err, url) {
console.log(url)
resolve(url)
});
})
我认为这可能是权限问题,但是我不确定为什么它返回不带前缀的数据,然后不返回带前缀的数据。还有什么可能发生?
答案 0 :(得分:1)
好吧,盯着看一个小时后,我意识到文档要求Prefix
而不是prefix
,并且大写字母改变了一切。