如何在 python 中创建*干净的* AWS lambda 函数?

问题描述 投票:0回答:1
问题

当我使用

sam local start-api
在本地运行 lambda API 时,我收到错误
{"message":"Missing Authentication Token"}
,因为请求不需要身份验证令牌。

代码

在我的 cloudformation 模板文件中,我创建了一个 lambda 函数(见下文)和一个用于 API 调用的 API 网关。由于此设置无法使用

start-api
在本地运行(谢谢 AWS?),我添加了
Events
部分,您可以在下面看到。

MyApi:
    Type: AWS::Serverless::Function
    Properties:
      CodeUri: myapi
      Handler: lambda_handler.lambda_handler
      Runtime: python3.10
      Architectures:
        - arm64
      ...
      Events:
        Any:
          Type: HttpApi
          Properties:
            Path: '/myapi/*'
            Method: any
重现步骤
  • 我运行
    sam build && sam local start-api
    来运行 API。
  • 我跑步
    curl localhost:8080/myapi/ping
    • 8080 在 samconfig 中配置
    • /myapi/ping
      在 API 网关和 lambda_handler 本身中配置。
python aws-lambda
1个回答
0
投票
问题

我不明白为什么,但

Path: '/myapi/*'
似乎是问题所在。

如何修复

使用

Path: '/{proxy+}'
代替,修复它。

这是一个社区维基。谁知道更多,欢迎补充哦

© www.soinside.com 2019 - 2024. All rights reserved.