我在AWS中有一个Node 4.3 Lambda函数。我希望能够将文本文件写入S3,并阅读了许多有关如何与S3集成的教程。但是,所有这些都涉及在写入S3之后如何调用Lambda函数。
如何使用节点从Lambda在S3中创建文本文件?这可能吗?亚马逊的文件似乎没有涵盖它。
是的,绝对有可能!
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/*" ] }
进一步阅读: