一尘不染

AWS Lambda函数写入S3

node.js

我在AWS中有一个Node 4.3
Lambda函数。我希望能够将文本文件写入S3,并阅读了许多有关如何与S3集成的教程。但是,所有这些都涉及在写入S3之后如何调用Lambda函数。

如何使用节点从Lambda在S3中创建文本文件?这可能吗?亚马逊的文件似乎没有涵盖它。


阅读 517

收藏
2020-07-07

共1个答案

一尘不染

是的,绝对有可能!

var AWS = require('aws-sdk');
function putObjectToS3(bucket, key, data){
    var s3 = new AWS.S3();
        var params = {
            Bucket : bucket,
            Key : key,
            Body : data
        }
        s3.putObject(params, function(err, data) {
          if (err) console.log(err, err.stack); // an error occurred
          else     console.log(data);           // successful response
        });
}

通过选择或更新执行lambda的IAM角色,确保为Lambda函数提供对目标s3存储桶/密钥路径的必需写权限。

要添加的IAM声明:

{
    "Sid": "Stmt1468366974000",
    "Effect": "Allow",
    "Action": "s3:*",
    "Resource": [
        "arn:aws:s3:::my-bucket-name-goes-here/optional-path-before-allow/*"
    ]
}

进一步阅读:

2020-07-07