You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于FastAPI+Mangum的Lambda通过API Gateway外部调用遇权限错误排查

问题排查与解决方案

1. Lambda权限的Source ARN缺失部署阶段

控制台测试API Gateway时走的是内部测试通道,不需要指定部署阶段;但外部调用的是已发布到特定阶段(如prod、dev)的端点,当前Terraform配置的source_arn仅写了/*/*,未包含部署阶段路径,导致权限校验失败。

修改Lambda权限资源,补充部署阶段路径:

resource "aws_lambda_permission" "apigw" {
  statement_id  = "AllowExecutionFromApiGateway"
  action        = "lambda:InvokeFunction"
  function_name = aws_lambda_function.api_lambda.function_name
  principal     = "apigateway.amazonaws.com"
  # 替换为你的实际部署阶段名称,比如"prod"
  source_arn = "${aws_api_gateway_rest_api.gapi.execution_arn}/stages/prod/*/*"
}

如果使用变量管理阶段名,可替换为var.stage_name来动态配置。

2. API Gateway未重新部署到目标阶段

若你修改过权限或集成配置,必须重新部署API Gateway到对外的阶段才能让变更生效:

  • 进入AWS控制台的API Gateway页面,找到对应阶段
  • 点击重新部署,确保最新配置同步到外部访问的端点

3. 资源路径与调用路径不匹配

确认外部调用的路径与API Gateway配置完全一致:

  • 当前配置使用根资源(/),外部调用时不要额外添加路径后缀
  • 检查aws_api_gateway_method.gapi的HTTP方法是否与外部调用方法一致(均为POST)

4. 跨区域/跨账户配置错误

核对Lambda的Invoke ARN、API Gateway的Execution ARN是否属于同一AWS区域和账户,避免因资源跨域导致的权限识别失败


内容的提问来源于stack exchange,提问作者eery

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 18:04:55