AWS Lambda 测试环境之外的 HTTP API returns 未定义值

HTTP API returns undefined value outside AWS Lambda test environment

我正在尝试通过 HTTP API 向我的 Lambda 函数传递一个简单的 key1 参数。当我进行测试时,当我传递一个简单值 {"key1": "value1"} 时它会工作,但是,当我使用连接到 lambda 函数的 HTTP API 使用 Postman 进行相同的调用时,它 returns undefined 而不是像测试环境那样 value1

我的体温API:https://5fitm6ca95.execute-api.us-east-1.amazonaws.com/default/getPresignedURLforEmailAttachments

拉姆达:

exports.handler = async (event) => {
    // TODO implement
    const response = {
        statusCode: 200,
        body: "They key is " + event.key1 + ". Event console log: " + JSON.stringify(event),
    };
    return response;
};

我尝试按照 回答所述将 queryStringParameters 添加到事件中,但没有成功。

更新: 以下是 Postman 回复中的内容。我只是不知道如何使用我的 Lambda 访问它。我试过 event.body.key1 但没有成功。响应仍然是 undefined:

要使 event.queryStringParameters 正常工作,您需要使用带有查询字符串的 GET 请求,而不是带有 JSON 正文的 POST 请求。否则你可以使用 JSON.parse(event.body)。有关详细信息,请参阅 https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-create-api-as-simple-proxy-for-lambda.html 上的教程。