无法将文本写入S3存储桶

时间:2019-10-27 12:44:01

标签: node.js amazon-s3

我试图在node.js中编写一个lambda函数,以将调用程序传递的数据写入s3存储桶。在以后的阶段中,我会将其连接到API网关,以便可以从外部应用程序调用它。

我已经编写了lambda,并且它没有任何错误,但是当我从控制台运行测试时,没有任何内容写入s3。

我尝试了不存在文件的情况,并尝试了存储桶的完整信息。

lambda具有执行任务所需的角色。

我尝试了多种选择,包括使用诺言。我检查了其他代码并复制了应该工作的内容,但没有任何输出,并且控制台中没有错误。如果我添加更多控制台消息,则一切正常,但成功或错误括号中什么也没有。

var AWS = require('aws-sdk');
exports.handler = async (event) => {
    // TODO implement
    const response = {
        statusCode: 200,
        body: JSON.stringify('Hello from Lambda!'),
    };
    var s3 = new AWS.S3({apiVersion: '2006-03-01', region: 'eu-west-1'});
    var params = {
        Bucket: 'bucket-write-logs-to',
        Key: 'example2.txt',
          Body: 'Uploaded text using the promise-based method!'
        };
    var putObjectPromise = s3.putObject(params).promise();
    putObjectPromise.then(function(data) {
      console.log('Success');
    }).catch(function(err) {
      console.log(err);
    });
    return response;
};

在控制台中,我从控制台消息中获得了所有期望的文本以及一些日志输出,但没有任何错误。

1 个答案:

答案 0 :(得分:1)

工作代码是

iloc