尝试计算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 谢谢:)
答案 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。我不太确定你的元数据是什么意思。