【发布时间】:2019-03-20 09:16:27
【问题描述】:
我遇到了一个问题,我无法从 S3 读取我的文件...甚至无法进入 S3 回调。我正在为我的 lambda 使用节点 8.10,并且我已经验证了一切都在运行,直到我尝试进入 getObject —— 下面的 console.log 甚至不会运行。这里有什么看起来歪斜的吗?我已授予对 lambda 和 S3 的完全访问权限,所以我认为这不是问题。
const AWS = require('aws-sdk')
exports.handler = async (event, context, callback) => {
const s3options = {
accessKeyId: process.env.AWS_KEY,
secretAccessKey: process.env.AWS_SECRET,
apiVersion: '2006-03-01',
}
const params = {
Bucket: event.Records[0].s3.bucket.name,
Key: event.Records[0].s3.object.key,
}
const s3 = new AWS.S3(s3options)
s3.getObject(params, (err, data) => {
// callback(null, data.Body.toString('utf-8'))
console.log('I am here!')
})
}
【问题讨论】:
-
异步函数需要返回一个承诺,不是吗? Lambda 不知道你还没有完成。
-
嗯,我觉得自己像个工具。删除了“async”关键字,一切都很好。谢谢!
标签: node.js amazon-s3 aws-lambda aws-sdk