我成功获取了存储桶的内容,但我无法弄清楚如何向S3询问特定文件是否存在于存储桶中(因为文件太多,我不想下载整个文件列表并在客户端进行检查)。
参考:AWS2JS S3.GET文档。
var s3 = require('aws2js').load('s3', appConfig.awsAccessKeyId, appConfig.awsSecretAccessKey);
s3.setBucket(appConfig.awsBucketName);
var folder = encodeURI('reports');
var url = '?prefix=' + folder;
s3.get(url,{Contents: null, Key: 'reports/emot_cat_r1180341142.png'},'xml', function (error, data) {
console.log("Error",error);
console.log("Data",data);
true.should.be.true;
done();
});
输出结果如下:
输出
{名称:'umusergen',前缀:'reports',标记:{},MaxKeys: '1000',IsTruncated:'false',内容:[ {键:'reports /', LastModified:'2013-06-16T17:44:25.000Z', ETag:'“d41d8cd98f00b204e9800998ecf8427e”', 尺寸:'0', 所有者:[Object], 存储类:'STANDARD'}, {键:'reports / emot_cat_r1180341142.png', LastModified:'2013-06-16T23:18:59.000Z', ETag:'“0b04aa9146d36a447019b1aa94be7eb3”', 尺寸:'26374', 所有者:[Object], 存储类:'STANDARD'}, {键:'reports / polarity_r1180341142.png', LastModified:'2013-06-16T23:19:00.000Z', ETag:'“22fd521e0a5e858040082d0d47078532”', 尺寸:'23091', 所有者:[Object], 存储类:'STANDARD'}, {键:'reports / wordcloud_r1180341142.png', LastModified:'2013-06-16T23:19:07.000Z', ETag:'“9f7ee9d2fdce5f460b2c42444edd6efc”', 尺寸:'167164', 所有者:[Object], 存储类:'STANDARD'}],'@':{xmlns:{xmlns:http://s3.amazonaws.com/doc/2006-03-01/ '}}}
"{Contents:null,Key:'[file path/name]'}"是我尝试解释上面引用的API说明。
如您所见,它只列举了存储桶的内容,但我需要API调用来检查特定文件是否存在。
有人能帮忙吗? 我对所有这些都还很陌生。