当我运行此功能时,它表示它成功,但该文件不在s3存储桶中。
var AWS = require('aws-sdk');
exports.handler = (event, context, callback) => {
AWS.config.update({
region: 'us-west-2',
accessKeyId: 'xxx',
secretAccessKey: 'xxx'
});
var s3 = new AWS.S3();
s3.putObject({
Bucket: 'mybucket',
Key: 'test.json',
Body: [{test: 'test'}, {test: 'test'}],
ContentType: "application/json"
}, function(){});
context.succeed('SUCCESS');
};
答案 0 :(得分:2)
NodeJs是一种有趣的语言。
大多数语言会像这样处理您的代码
节点js将按此顺序处理。
var AWS = require('aws-sdk'); exports.handler = (event, context, callback) => { AWS.config.update({ region: 'us-west-2', accessKeyId: 'xxx', secretAccessKey: 'xxx' }); var s3 = new AWS.S3(); s3.putObject( { Bucket: 'mybucket', Key: 'test.json', Body: [{test: 'test'}, {test: 'test'}], ContentType: "application/json" }, function(err, res){ if(err){ console.log(err); } callback(err, "processed"); }); };
^回调将告诉lambda它是脚本的结尾。 它现在将按此处理。
答案 1 :(得分:0)
您可以使用Q https://www.npmjs.com/package/q或NodeJs承诺按要求的顺序处理任务。