【发布时间】:2018-06-08 10:49:43
【问题描述】:
我正在尝试将 JSON 文件从 AWS Lambda 保存到 S3。
(更准确地说:我想创建一个新文件 'supertest.json',其中包含 S3 存储桶 'gpiocontroll-XYZ' 内的“数据”)
Lambda 函数如下所示:
'use strict'
const aws = require('aws-sdk');
const s3 = new aws.S3();
//const fs = require('fs');
function saveJSONtoS3(data){
console.log('SAVEJSON', data);
var params = {
Bucket: 'gpiocontroll-XYZ', // your bucket name,
Key: 'test.txt', // path to the object you're looking for
Body: data
}
s3.putObject(params, function(err, data) {
// Handle any error and exit
if (err)
console.log('ERROR', err);
else {
console.log('UPLOADED SUCCESS');
}
console.log('INSIDE FUNCTION');
});
console.log('END')
}
module.exports = {
saveJSONtoS3 : saveJSONtoS3
}
Lambda 上的日志如下所示:
2017-12-27T20:04:29.382Z 255d436d-eb41-11e7-b237-1190c4f33d2d SAVEJSON {"table":[{"pin":"1","state":"aus"}]}
2017-12-27T20:04:29.402Z 255d436d-eb41-11e7-b237-1190c4f33d2d END
END RequestId: 255d436d-eb41-11e7-b237-1190c4f33d2d
REPORT RequestId: 255d436d-eb41-11e7-b237-1190c4f33d2d Duration: 362.29 ms Billed Duration: 400 ms Memory Size: 128 MB Max Memory Used: 43 MB
所以看起来一切都很好,但是 s3.putObject 函数没有被触发。 Lambda 和 S3 都在同一个区域。 S3 对 IAM 用户是公共的。我是否需要以某种方式登录 Lambda 函数?
非常感谢!
【问题讨论】:
-
那里没有
s3.putObject的电话 -
对不起。刚刚更新了示例代码。
-
这不是 AWS Lambda 函数。
标签: javascript node.js amazon-web-services amazon-s3 aws-lambda