当我使用
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
/myapi/ping
在 API 网关和 lambda_handler 本身中配置。我不明白为什么,但
Path: '/myapi/*'
似乎是问题所在。
使用
Path: '/{proxy+}'
代替,修复它。
这是一个社区维基。谁知道更多,欢迎补充哦