python中的aws lambda函数模板如何指定事件参数

时间:2018-03-19 12:44:49

标签: python-2.7 aws-lambda

我是API dev的新手,并且没有广泛的背景知识。因此,如果我的问题看起来太简单(愚蠢),请记住这一点。我正在使用无服务器和AWS lambda来更好地理解API。定义一个简单的函数并为get请求定义一个http端点非常容易。但是,有一个帖子后事件,我有麻烦。

据我所知,根据documentation,典型的lambda函数始终是模板:

def my_function(event, context):
    pass

如果我理解正确,event参数包含发送到我的函数的实际输入参数。如果我的API将字符串作为输入并且只是将其大写,则输入字符串将成为事件对象的一部分。它是否正确?

是否有任何规则,事件对象需要如何,我如何传递参数等?我真的无法找到这些信息。如果有人可以提供这些信息或我可以找到的链接,我将非常感谢资源。

2 个答案:

答案 0 :(得分:2)

尝试在Lambda控制台中配置测试事件。

它将提供各种样本事件结构,可以帮助您

答案 1 :(得分:2)

你是正确的event是接收输入的变量(又名有效载荷)。在大多数情况下,这应该是json友好dict,但它也可以是liststrintfloat或{{1} }。

当您调用Lambda时,例如从另一个Python应用程序using boto3调用Lambda时,您只需传递此有效负载。

如果您需要为Lambda提供HTTP接口,最好的选择可能是使用带有Lambda Proxy Integration的API网关。在这种情况下,您可以POST POST json,API Gateway会自动将其解析为Python NoneType并在事件中提供给您。请注意,在这种情况下,您从Lambda返回时应该遵循一些basic requirements