使用 HTTP 请求调用 AWS 中的 API Gateway Websocket

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

我有一个 API 网关,带有自定义域名下的 Websocket 和与 Lambda 函数集成的多个路由。我试图向 API 网关发出 https 请求,并让它通过网关中的 $default 路由到达 lambda 函数,但我不断收到 403 Forbidden 错误。

根据此文档,API 网关应将具有与任何已定义路由不匹配的路由的请求传递到 $default 路由,但这仅适用于 http 集成而不是 lambda 集成吗?

我尝试使用 https://{api-id}.execute-api.{region}.amazonaws.com 和 https://{api-id}.execute-api.{region}.amazonaws.com/ https 请求的 {stage} url 而不是我的自定义域,但这不起作用。

网关使用 $request.body.action 进行路由选择,我也尝试在正文中添加操作,但这也没有帮助。

aws-lambda aws-api-gateway aws-http-api
1个回答
0
投票

https://{api-id}.execute-api.{region}.amazonaws.com/{stage}
中的变量是否正确传递?您能否先尝试对端点 URL 进行硬编码,看看它是否有效?如果仍然失败,则可能是 IAM/权限问题,您可以尝试打开所有请求日志记录和 X 射线跟踪以找出问题所在

https://docs.aws.amazon.com/xray/latest/devguide/xray-services-apigateway.html

https://repost.aws/knowledge-center/api-gateway-cloudwatch-logs

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