【问题标题】:errorMessage: "event is not defined" in lambda function nodejserrorMessage:lambda函数nodejs中的“事件未定义”
【发布时间】:2018-12-14 03:28:18
【问题描述】:

我正在尝试运行附加到 API 网关 GET 请求的 lambda 函数,下面是代码

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 请求运行良好..

我们将不胜感激任何帮助

【问题讨论】:

  • params的定义,上面没有定义事件。

标签: node.js aws-lambda aws-api-gateway


【解决方案1】:

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

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;
    });
};

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-08
    • 2017-08-19
    • 2019-04-26
    • 2019-02-26
    • 2022-01-11
    • 2020-11-28
    • 1970-01-01
    • 2016-07-05
    相关资源
    最近更新 更多