我以不同的方式将文件上传到我的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连接到桶以获取URL,但是如何迭代节点中的键以查看我的桶中的所有文件?
答案 0 :(得分:3)
如果您的水桶变大,最好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);
});
答案 1 :(得分:2)
你可以用AwsSum来做。它得到了积极维护,可以执行亚马逊提供的所有S3操作。
在node-awssum-scripts repo中有一个完整的功能示例,正是您正在寻找的内容。它获得前1000个键,然后使用'marker'参数继续执行新请求,直到没有其他键为止,因此您可能需要查看:
如果您需要任何帮助,请给我一个关于GitHub的喊叫。免责声明:我是小孩,是Awssum的作者。 :)