小编mas*_*azi的帖子

SAM 模板 - 使用 Lambda Authorizer 和简单响应定义 HttpApi

问题描述

我在 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 …

aws-cloudformation aws-lambda aws-api-gateway aws-sam

6
推荐指数
1
解决办法
2239
查看次数