繁体   English   中英

AWS Lambda、Python 无服务器处理程序与 url 模式/参数

[英]AWS Lambda, Python serverless handler with url pattern / parameters

我正在尝试使用 Python 和无服务器设置 lambda function。 我能够执行简单的 POST/GET 请求并让它们代理到我的 lambda function 就好了。

现在我正在努力让这样的东西与无服务器一起工作:

GET /my_function/{foo}

我可以通过以下方式获得它:

http://....aws.../my_function/bar

这就是我正在尝试的:

无服务器.yml

functions:
  my_function:
    handler: handler.my_function
    events:
      - http: GET /my_function/{foo}

它部署到 aws,但我无法获得价值。 它说该事件没有密钥:

处理程序.py:

def sitemap_entries(event, context):
  s = MyNiceClass(event['foo'])
  ...

我错过了什么?

PS:当我发送--data '{"foo": "bar"}'时,它适用于本地调用

谢谢

如果您使用Lambda 代理集成(这是默认设置,除非您更改它,否则您将使用它)然后路径参数在名为pathParameters的属性中的event内部,因此要访问它们,请使用:

event.get('pathParameters', {}).get('foo', None)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM