繁体   English   中英

使用nodejs和knox如何查看S3存储桶中的文件

[英]Using nodejs and knox how do I see the files in an 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连接到存储桶以获取url,但是如何遍历节点中的键以查看存储桶中的所有文件?

如果您的存储桶变大,则最好以流方式传输这些密钥! 查看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);
});

您可以使用AwsSum做到这一点。 它是积极维护的,可以执行Amazon提供的所有S3操作。

在node-awssum-scripts存储库中有一个功能齐全的示例,它正是您正在寻找的东西。 它获得前1000个键,然后继续使用操作的“标记”参数进行新请求,直到没有更多键为止,因此您可能需要看一下:

如果您需要任何帮助,请在GitHub上给我个呼喊。 免责声明:我很高兴,Awssum的作者。 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM