AWS Lambda函数协助

时间:2018-12-11 14:58:15

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

我刚开始使用AWS,并且正在创建我的第一个Lambda函数。第一个是成功-创建和执行时没有问题。 现在,我正在尝试使用几个参数创建Lambda函数(基于python 3)。当我从API网关执行测试时,我可以看到它执行正常。当我尝试从浏览器执行时,出现以下错误: {     “ errorMessage”:“'foo2”,     “ errorType”:“ KeyError”,     “堆栈跟踪”: [         “文件\” / 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')"
}

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

1 个答案:

答案 0 :(得分:1)

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