从亚马逊s3获取文件

时间:2015-05-20 21:19:38

标签: javascript meteor amazon-s3

有没有办法从亚马逊s3的水桶中获取文件列表?

我正在使用Lepozepo/S3套餐

我看到这个SO,建议使用boto,但我想知道是否有另一种获取文件的方法。

2 个答案:

答案 0 :(得分:1)

我是这样做的:

使用非常流行的AWS SDK包:https://atmospherejs.com/peerlibrary/aws-sdk

然后代码片段(在服务器上)将如下所示:

AWS.config.update({
    accessKeyId: '<accessKey>',
    secretAccessKey: '<secretKey>'
});

s3 = new AWS.S3({
    region: 'us-west-2'
});

var params = {
    Bucket: 'bucketName'
};

s3.listObjects(params, Meteor.bindEnvironment(function (err, data) {

  //DO STUFF HERE

}));

希望有用,如果你有任何问题,请大声喊叫!

答案 1 :(得分:0)

您可以从Amazon S3中的存储桶中获取文件列表的方法之一是使用aws-sdk for java。下面就是一个例子。要获取凭证,现在有高级方法,如下所示是不安全的。

AWSCredentials credentials = new BasicAWSCredentials(accessKeyId,secretAccessKey);
 AmazonS3 s3Client = new AmazonS3Client(credentials);
String bucket = prop.getProperty("bucket");
String directory = prop.getProperty("directory");
ListObjectsRequest lor = new ListObjectsRequest().withBucketName(bucket).withPrefix(directory);

ObjectListing objects = s3Client.listObjects(lor);

然后使用S3ObjectSummary类迭代对象并列出文件。

希望它有所帮助!