使用nodejs和knox如何查看S3 Bucket中的文件

我以许多不同的方式上传文件到我的S3存储桶。

在python中,我可以像这样使用boto:

from boto.s3.connection import S3Connection conn = S3Connection('access-key','secret-access-key') bucket = conn.get_bucket('bucket') for key in bucket.list(): print key.name 

在节点中,我已经使用knox连接到桶来获取urls,但是我怎样才能遍历节点中的键来查看我桶中的所有文件?

你可以用AwsSum来做。 它被积极维护,可以执行亚马逊提供的所有S3操作。

在node-awssum-scripts repo中有一个完整的示例。 它会得到前1000个密钥,然后使用'marker'参数继续执行新的请求,直到没有更多的密钥,所以你可能想看看:

如果您需要任何帮助,请在GitHub上留言。 免责声明:我是童谣,是Awssum的作者。 🙂

如果你的桶变大,最好的stream这些键! 看看knox-copy

 var knoxCopy = require('knox-copy'); var client = knoxCopy.createClient({ key: '<api-key-here>', secret: '<secret-here>', bucket: 'mrbucket' }); client.streamKeys({ // omit the prefix to list the whole bucket prefix: 'buckets/of/fun' }).on('data', function(key) { console.log(key); });