AWS S3 API - 对象不包含元数据

时间:2017-04-04 08:28:11

标签: ajax api amazon-web-services amazon-s3 nested

尝试计算AWS S3 API并且悲惨地失败......

我现在有一个包含很多视频的存储桶。

我需要将所有视频作为对象请求,其中包含我上传后设置的视频元数据以及分享视频的链接。

问题是我没有上述任何一个对象......

到目前为止我得到了什么 -

AWS.config.update({accessKeyId: 'id', secretAccessKey: 'key', region: 'eu-
west-1'});
var s3 = new AWS.S3();

var params = { 
 Bucket: 'Bucket-name',
 Delimiter: '/',
 Prefix: 'resource/folder-with-videos/'

}

s3.listObjects(params, function (err, data) {
 if(err)throw err;
 console.log(data);
});

感谢阅读:)

UPDATE - 发现当使用getObject并将ExposeHeader添加到CORS设置时,我确实可以获得我设置的元数据。 问题是getObject只适用于特定的对象(在我的例子中是视频)。

任何想法如何获取像listObject这样的所有对象并拥有每个对象的值,就像我在getObject上做的那样?

我能想到的只有解决方案是使用listObject来获取所有对象的列表,然后通过这个结果为每个对象做一个getObject ajax?... rip UX 谢谢:)

1 个答案:

答案 0 :(得分:0)

首先要解决几件事。

根据文档,http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#listObjects-property listObjects API完全返回回调参数中提到的内容。使用分隔符会导致S3仅列出给定前缀下一级的对象。它不会递归遍历所有对象。

要获取网址,您可以使用http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#getSignedUrl-property。我不太确定你的元数据是什么意思。

相关问题