节点js中的代码lambda:从事件数据中获取s3密钥的最后修改date

我正在使用lambda中的节点js代码。 一个函数
当创build一个S3对象时传递事件数据

var record = event.Records[0]; var bucket = record.s3.bucket.name; var key = record.s3.object.key; 

我怎样才能得到s3键的最后修改date来创build一个文件夹并粘贴在其​​中的密钥。

如果最后修改date是: Mon Feb 22 14:46:23 GMT+530 2016

那么文件夹名称必须是: Bucketname/2016/02/22/

事件结构实际上不包含对象的最后修改的值。

您可以发送对象的http HEAD请求,或者 – 可能 – 使用Records[0].eventTime的值。 这个文档并不完全清楚,它总是相同的,只是说“当S3完成处理请求时”。

你必须发送一个HTTP头部请求

 var AWS = require('aws-sdk'); var s3 = new AWS.S3({apiVersion: '2006-03-01'}) var params = { Bucket: record.s3.bucket.name, Key : record.s3.object.key }; s3.headObject(params, function (error, response) { if(error) { context.fail(); } else { var date = response.LastModified; //Last modified date context.done(null,date); } });