[英]AWS Lambda Nodejs: Get all objects created in the last 24hours from a S3 bucket
[英]AWS S3 list all objects by object created/modified date descending order NodeJs
我正在使用 NodeJs 按创建/修改对象日期降序列出 S3 存储桶中的对象,但没有找到任何选项来传递降序选项
// Load the AWS SDK for Node.js
var AWS = require('aws-sdk');
// Set the region
AWS.config.update({region: 'REGION'});
// Create S3 service object
s3 = new AWS.S3({apiVersion: '2006-03-01'});
// Create the parameters for calling listObjects
var bucketParams = {
Bucket : 'BUCKET_NAME',
};
// Call S3 to obtain a list of the objects in the bucket
s3.listObjects(bucketParams, function(err, data) {
if (err) {
console.log("Error", err);
} else {
console.log("Success", data);
}
});
根据Amazon 文档,该列表将按字典顺序返回 UTF-8 字符编码的对象,并且无法要求以不同的排序返回结果。
您必须自己对结果进行排序:
s3.listObjects(bucketParams, function(err, data) {
if (err) {
console.log("Error", err);
} else {
console.log("Success", JSON.stringify(data.Contents.sort(o => o.Key)); // example
}
});
更新
listObjectsV2是推荐的方法,来自文档:
var params = {
Bucket: 'STRING_VALUE', /* required */
ContinuationToken: 'STRING_VALUE',
Delimiter: 'STRING_VALUE',
EncodingType: url,
ExpectedBucketOwner: 'STRING_VALUE',
FetchOwner: true || false,
MaxKeys: 'NUMBER_VALUE',
Prefix: 'STRING_VALUE',
RequestPayer: requester,
StartAfter: 'STRING_VALUE'
};
s3.listObjectsV2(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.