2
关注
1387
浏览

使用node.js将AWS Lambda中的JSON保存到AWS S3

查看全部 1 个回答

网络小夏88 未验证用户 用户来自于: 广东省
2020-09-16 01:36

正如@dashmug说,你的例子是 lambda函数。

必须exports.handler在您的文件的某处,除非在功能配置中指定。

所有的Lambda函数首先调用exports.handler,(event, context, callback)参数。这些包括event或动作的数据,一些额外的context以及成功/失败callback

这里是你在找什么:

更新:改变S3.putObject无极包裹功能S3.putObject().promise()每@dashmug’s建议。

需要AWS SDK对JavaScript(V2.3.0 - 2016年3月31日或以后)

'use strict'; 

const 
    AWS = require('aws-sdk'), 
    S3 = new AWS.S3(); 

exports.handler = (event, context, callback) => { 
    console.log(`FUNCTION STARTED: ${new Date()}`); 

    S3.putObject({ 
     Bucket: 'gpiocontroll-XYZ', 
     Key: 'test.txt', 
     Body: 'stuff' 
    }) 
     .promise() 
     .then(() => console.log('UPLOAD SUCCESS')) 
     .then(() => callback(null, 'MISSION SUCCESS')) 
     .catch(e => { 
      console.error('ERROR', e); 
      callback(e); 
     }); 
}; 

注:必须给lambda函数IAM权限的S3存储你正试图访问。在上述情况下,您的IAM角色应该是这个样子:

{ 
    "Effect": "Allow", 
    "Action": [ "s3:PutObject" ], 
    "Resource": [ 
     "arn:aws:s3:::gpiocontroll-XYZ/*" 
    ] 
} 

关于作者

问题动态

发布时间
2020-09-15 15:51
更新时间
2022-09-15 15:51
关注人数
2 人关注

相关问题

如何使用XML解析childrenNodes javascript
如何在codeigniter中使用ajax上传文件
将函数赋值给使用“this”引用自身的数组对象
百旺金赋是否使用离线文件更新怎么解决
“小正方助手”小程序,怎么使用?
从下拉列表中获取值显示表nodejs
人工智能在未来能否广泛使用?
无法在vuejs上使用路由器链接和v-v动态绑定路径
打字稿,使用类没有构造
如何在Odoo 8中使用JavaScript?
个人工作笔记 Powered BY WeCenter V4.1.0 © 2024 粤ICP备2020123311号