代码之家  ›  专栏  ›  技术社区  ›  Dhaval Chheda

errorMessage:lambda函数nodejs中的“未定义事件”

  •  0
  • Dhaval Chheda  · 技术社区  · 7 年前

    const AWS = require('aws-sdk');
    const s3 = new AWS.S3();
    
    const bucketName = "dhaval-upload";
    
    let params = {
            Bucket: bucketName, 
            Key: event.fileName
    };
    
    exports.handler = async (event, context, callback) => {
        return await s3.getObject(params).promise()
        .then((res) => {
            return "abcd";
            // return res.Body.toString('utf-8');
        })
        .catch((err) => {
            return err;
        });
    };
    

    但是我得到了下面的错误

    errorMessage: "event is not defined"
    errorType: "ReferenceError"
    

    但我不明白为什么会这样,因为我有另一个POST请求运行得非常完美。。

    任何帮助都将不胜感激

    1 回复  |  直到 7 年前
        1
  •  2
  •   Carlos Jafet Neto    7 年前

    您需要在处理程序中放置参数,如下所示:

    exports.handler = async (event, context, callback) => {
    
        let params = {
            Bucket: bucketName, 
            Key: event.fileName
        };
    
        return await s3.getObject(params).promise()
        .then((res) => {
            return "abcd";
            // return res.Body.toString('utf-8');
        })
        .catch((err) => {
            return err;
        });
    };
    
    推荐文章