无法从lambda的s3中读取文件并在主处理程序函数nodejs中使用它

编程入门 行业动态 更新时间:2024-10-07 15:28:59

无法从lambda的s3中读取文件<a href=https://www.elefans.com/category/jswz/34/1771370.html style=并在主处理程序函数nodejs中使用它"/>

无法从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中使用它

本文发布于:2024-05-07 13:33:37,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1756477.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:并在   函数   文件   程序   使用它

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!