S3遍历桶/文件夹/文件

我正在使用s3.listObjects迭代S3存储桶,但我得到这个错误:{[UnexpectedParameter:在参数中find意想不到的关键'键']下面是我使用的代码:exports.handler = function(event,context){

var bucket = event.Records[0].s3.bucket.name; var key = event.Records[0].s3.object.key; var params = { Bucket: bucket, Key: key }; console.log('bucket name ', bucket); s3.getObject(params, function(err, data) { if (err) { console.log(err); } else { context.succeed(data.ContentType); } }); s3.listObjects(params, function(err, data) { if (err) return console.log(err); params = {Bucket: 'bucketName'}; }); }; 

任何人都可以请build议我在这里做错了什么? 谢谢

因为列表对象不需要把键作为参数,因为它想把桶中的所有键都列出来。 真的只是在找你,告诉它列出哪个桶的内容。 另外,它还需要一些其他参数来帮助过滤结果和最大数量的对象返回。

AWS.S3.listObjects文档

 // Acceptable Parameters as taken from the AWS.S3.listObjects Docs var params = { Bucket: 'STRING_VALUE', /* required */ Delimiter: 'STRING_VALUE', EncodingType: 'url', Marker: 'STRING_VALUE', MaxKeys: 0, Prefix: 'STRING_VALUE' }; 

本质上,API正在向您传达您正在传递不必要的参数。

 var params = { Bucket: bucket }; s3.listObjects(params, function(err, data) { if (err) return console.error(err); // data.Contents is the array of objects within the bucket console.log(data.Contents); return; });