我在 SAM 中使用 API Gateway 创建了一个 Lambda 函数,然后部署了它并且它按预期工作。在 API Gateway 中我使用了HttpApinot REST API。
然后,我想添加一个具有简单响应的 Lambda 授权者。因此,我遵循了 SAM 和 API Gateway 文档,并得出了下面的代码。
当我调用该路线时,items-list它现在返回401 Unauthorized,这是预期的。
myappauth但是,当我添加带有 value 的标头时"test-token-abc",我得到一个500 Internal Server Error.
我检查了此页面,但似乎列出的所有步骤都可以https://aws.amazon.com/premiumsupport/knowledge-center/api-gateway-http-lambda-integrations/
我按照以下说明启用了 API 网关的日志记录:https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-logging.html
但我得到的只是这样的(编辑了我的 IP 和请求 ID):
[MY-IP] - - [07/Jul/2021:08:24:06 +0000] "GET GET /items-list/{userNumber} HTTP/1.1" 500 35 [REQUEST-ID]
(也许我可以配置记录器,使其打印更有意义的错误消息?编辑:我尝试添加$context.authorizer.error到日志,但它不打印任何特定的错误消息,只打印破折号-:)
我还检查了 Lambda 函数的日志,那里没有任何内容(所有日志都是从我添加授权者之前开始的)。那么,我做错了什么?
这是我使用 部署的 Lambda Authorizer 函数,当我使用带有标头sam deploy …