javascript - 似乎无法使用 key 访问 S3 存储桶内容

标签 javascript amazon-s3

我正在使用 aws javascript sdk,由于某种原因,我可以访问整个存储桶内容,但是当我添加 前缀 时,我返回 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)
  });
})

我认为这可能是权限问题,但我不确定为什么它返回没有前缀的数据,然后没有带前缀的数据。还有什么可能发生吗?

最佳答案

好吧,在盯着这个一个小时后,我意识到文档要求 Prefix 而不是 prefix 并且大小写造成了所有的差异。

关于javascript - 似乎无法使用 key 访问 S3 存储桶内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60831094/

相关文章:

javascript - 浏览器中的squeeback是如何实现的?

javascript - 如何使用 JavaScript 更改轮播 (Bootstrap 4) 中的 class=”active”?

amazon-web-services - sso 用户的 s3 存储桶策略

javascript - 如何使用 aws-sdk-js 列出某个日期范围内的对象?

amazon-web-services - 文件未在目标 S3 存储桶中删除。为什么?

javascript - 小谜语: Why this isn't working on Chrome?

javascript - 对象数组的键值对交集

javascript - zeroclipboard - client.on 函数未调用

ios - 通过 CloudFront (Amazon) 下载图像

ruby - 当文件大小大于 X 时 Rmagick 压缩而不写入(上传到 S3)