AWS Lambda,带有 url 模式/参数的 Python 无服务器处理程序

时间:2021-02-19 14:37:15

标签: python lambda serverless

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

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

GET /my_function/{foo}

我可以通过的方式:

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

这就是我正在尝试的:

无服务器.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"}'

时,它适用于本地调用

谢谢

1 个答案:

答案 0 :(得分:0)

如果您使用 Lambda Proxy Integration(这是默认设置,因此除非您更改它,否则您将继续使用它),则路径参数位于 event 内的名为 {{1 }},因此要访问它们,请使用:

pathParameters