以下是使用AWS Lambda和Node.js获取过去24小时内创建的所有S3对象的代码示例:
const AWS = require('aws-sdk');
const moment = require('moment');
exports.handler = async (event) => {
// 设置AWS S3配置
const s3 = new AWS.S3();
// 获取当前时间和24小时前的时间
const currentTime = moment();
const previousTime = moment().subtract(24, 'hours');
// 设置S3参数
const s3Params = {
Bucket: 'your-s3-bucket-name'
};
try {
// 获取S3桶中的所有对象
const s3Response = await s3.listObjects(s3Params).promise();
// 过滤出在过去24小时内创建的对象
const objectsCreatedInLast24Hours = s3Response.Contents.filter((obj) => {
const objectCreateTime = moment(obj.LastModified);
return objectCreateTime.isBetween(previousTime, currentTime);
});
// 打印过滤出的对象
console.log('Objects created in the last 24 hours:');
objectsCreatedInLast24Hours.forEach((obj) => {
console.log(obj.Key);
});
return {
statusCode: 200,
body: 'Success'
};
} catch (error) {
console.error('Error:', error);
return {
statusCode: 500,
body: 'Error'
};
}
};
请确保替换示例代码中的your-s3-bucket-name
为您的实际S3桶的名称。此代码将打印出过去24小时内在S3桶中创建的所有对象的键。您可以根据需要调整代码以满足您的要求。