我正在尝试使用Python和无服务器设置lambda函数。我能够执行简单的POST/GET请求,并让它们代理到我的lambda函数就可以了。
现在我正在努力得到这样的东西与无服务器工作:
GET /my_function/{foo}
以一种我可以得到它的方式:
http://....aws.../my_function/bar
这就是我正在尝试的:
serverless.yml
functions:
my_function:
handler: handler.my_function
events:
- http: GET /my_function/{foo}
已部署到aws,但我无法获得该值。它说事件没有键:
handler.py:
def sitemap_entries(event, context):
s = MyNiceClass(event['foo'])
...
我错过了什么?
PS:当我发送--data '{"foo": "bar"}'
时,它在本地调用上工作谢谢
如果您使用Lambda代理集成(这是默认设置,所以除非您更改了它,否则您将使用它),那么路径参数在event
中称为pathParameters
的属性中,因此要访问它们,请使用:
event.get('pathParameters', {}).get('foo', None)