Amazon web services AWS Lambda功能辅助
我刚开始使用AWS,我正在创建我的第一个Lambda函数。第一个是成功-创建和执行时没有问题。 现在,我正在尝试创建带有两个参数的Lambda函数(基于python 3)。当我从API网关执行测试时,我可以看到它执行ok。当我尝试从浏览器执行时,我看到以下错误: { “errorMessage”:“foo2”, “errorType”:“KeyError”, “stackTrace”:[ “lambda_处理程序中的文件\“/var/task/lambda_function.py\”,第6行\n foo2=event['foo2'];\n” ] } 以下是函数和映射模板:Amazon web services AWS Lambda功能辅助,amazon-web-services,aws-lambda,aws-api-gateway,Amazon Web Services,Aws Lambda,Aws Api Gateway,我刚开始使用AWS,我正在创建我的第一个Lambda函数。第一个是成功-创建和执行时没有问题。 现在,我正在尝试创建带有两个参数的Lambda函数(基于python 3)。当我从API网关执行测试时,我可以看到它执行ok。当我尝试从浏览器执行时,我看到以下错误: { “errorMessage”:“foo2”, “errorType”:“KeyError”, “stackTrace”:[ “lambda_处理程序中的文件\“/var/task/lambda_function.py\”,第6行\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')"
}
我真的很想知道为什么会发生这种情况。我不是API网关向导,但在从浏览器调用函数时,您似乎试图将变量foo2分配给事件中不存在的部分,在测试事件时,您可能希望查看事件的结构。在Lambda函数中,可以直接在Lambda_处理程序下添加一个json.dumps,以尝试了解是否缺少参数。嘿,谢谢你的建议。实际上,我最终用相同的选项创建了新的Lambda,它在WTF o.0中工作,因此我在原始函数上重新创建了API网关,它也开始工作了!好的,没问题,很高兴听到:)