【问题标题】:AWS Lambda Function assistanceAWS Lambda 函数帮助
【发布时间】:2019-05-12 14:24:53
【问题描述】:

我刚开始使用 AWS,我正在创建我的第一个 Lambda 函数。第一个是成功的——创建和执行时没有问题。 现在我正在尝试使用几个参数创建 Lambda 函数(基于 python 3)。当我从 API Gateway 执行测试时,我可以看到它执行正常。当我尝试从浏览器执行时,我看到以下错误: { "errorMessage": "'foo2", "errorType": "KeyError", “堆栈跟踪”: [ " File \"/var/task/lambda_function.py\",第 6 行,在 lambda_handler\n foo2 = event['foo2'];\n" ] }

这里是函数和映射模板:

import json
import sys

def lambda_handler(event, context):
    foo1 = event['foo1'];
    foo2 = event['foo2'];
    foo3 = event['foo3'];
    foo = "This is Test!";

    # TODO implement
    return {
        'statusCode': 200,
        'body': json.dumps(event)
    }

映射模板

#set($inputRoot = $input.path('$'))
{ 
    "foo1": "$input.params('foo1')",
    "foo2": "$input.params('foo2')",
    "foo3": "$input.params('foo3')"
}

我真的很想知道为什么会这样..

【问题讨论】:

    标签: amazon-web-services aws-lambda aws-api-gateway


    【解决方案1】:

    我不是 API 网关向导,但看起来您正在尝试将变量 foo2 分配给从浏览器调用函数时不存在的事件的一部分,在测试您可能想要的事件时查看事件的结构。在您的 Lambda 函数中直接在 lambda_handler 下添加一个 json.dumps 以尝试了解是否缺少参数可能会有所帮助。

    【讨论】:

    • 您好,谢谢您的建议。实际上,我最终使用相同的选项创建了新的 Lambda,它可以正常工作 WTF o.0 所以然后我在原始函数上重新创建了 API 网关,它也开始工作了!
    • 好吧,没有问题,很高兴听到它:)
    猜你喜欢
    • 2021-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-13
    • 2010-11-20
    • 1970-01-01
    • 1970-01-01
    • 2019-07-09
    相关资源
    最近更新 更多