admin管理员组文章数量:815041
无法从lambda的s3中读取文件并在主处理程序函数nodejs中使用它
我正在尝试使用node js在aws lambda中构建json模式验证器应用程序,此处数据以json的形式存储在s3中。Schema也存储在s3中。我无法从s3获取json数据并将其用于验证。这是处理程序函数的代码。
exports.handler =async (event) =>{
async function readfile(){ new AWS.S3().getObject(params, function(err, json_data)
{
if (!err) {
const json = JSON.parse(new Buffer(json_data.Body).toString("utf8"));
console.log(json);
return json;
}
});
}
readfile();
console.log(readfile());
console.log(readfile().json);
const validate = ajvpile(userSchema);
const valid = validate(readfile());
if (valid) {
console.log('User data is valid');
const response = {
statusCode: 200,
body: JSON.stringify('User Data is valid!'),
};
return response;
} else {
console.log('User data is INVALID!');
console.log(validate.errors);
const response = {
statusCode: 400,
body: JSON.stringify('User Data is Invalid!')+JSON.stringify(validate.errors),
};
}
回答如下:通过在try / catch块中包含S3客户端代码,使用等待来实现代码的更简洁的方法:
try{
const s3File = await new AWS.S3().getObject(params).promise();
//process your file here
}catch(e){
console.log(e)
}
本文标签: 无法从lambda的s3中读取文件并在主处理程序函数nodejs中使用它
版权声明:本文标题:无法从lambda的s3中读取文件并在主处理程序函数nodejs中使用它 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/biancheng/1715202033a822426.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论