因此,我想获取我的S3存储桶中所有对象的列表。我只是把它放在一个快速设置的快速路线应用程序中(这并不重要,它只是表达我所熟悉的)。从S3存储桶中获取物品
所以我做:
var allObjs = [];
s3.listObjects({Bucket: 'myBucket'}, function(err, data) {
var stringifiedObjs = JSON.stringify(allObjs);
fs.writeFile("test", stringifiedObjs, function(err) {})
}
这抓住了我的对象,stringifys并将其写入到一个名为test的文件。我遇到的问题是它只能获得1,000个结果。
我在某处阅读(我无法找到)AWS将您限制为每次调用1000个结果的位置。
我该如何重新运行并抓取下一个1000?但是确保下一个增量1,000不是第一个?
简而言之,我如何获得S3存储桶中的每个对象?我一直迷失在文档中。
谢谢!
编辑
这是我的目标,我回去:
{ Key: 'bucket_path/e11_19_9a31mv3ot51tm384grjd6rdj51boxx_q_q112.png',
LastModified: Sat Apr 23 2016 09:16:23 GMT+0100 (BST),
ETag: '"7d50fsdfsd4sda159b32cf85c683c5924"',
Size: 704222,
StorageClass: 'STANDARD',
Owner:
{ DisplayName: 'servers',
ID: '58af203151c51eddf2sdfs411e0b91d274a8fda23f58280f9b06371e436f7' } },
'{IsTruncated:真, 标记: '', 内容:[{myObjects}], 名称: 'myBucket', 前缀:'', MaxKeys:1000, CommonPrefixes:[]}' 这是我回来的回应..没有'NextMarker'我也从 – PourMeSomeCode
打电话忽略我以前的评论欢呼男人!这工作!你提到的'.eachPage'实际上会自动为你添加标记。甜心:D – PourMeSomeCode