创建Lambda函数新版本关联现有API Gateway时路由异常求助
修复API Gateway与Lambda新版本触发器匹配错误的方案
检查API Gateway的路由配置
登录AWS控制台打开API Gateway,找到ID为vye6oo0qc5的API:- 若不存在
/main_function路径的路由,直接新建该路由,将集成目标设为Lambda新版本的ARN(注意版本ARN带版本号,示例:arn:aws:lambda:us-east-1:123456789012:function:main_function:2) - 若已存在该路由,检查其对应的集成ARN是否指向Lambda新版本,错误则更新为新版本ARN
- 若不存在
清理API侧的残留关联
你删除了Lambda的触发器,但API Gateway可能仍残留旧集成配置:
进入API Gateway的集成页面,找到/main_function路由对应的集成,若关联旧Lambda ARN则更新为新版本;若该路由无实际用途,直接删除路由及对应集成,避免无效关联报错重新部署API Gateway
无论修改路由还是集成配置,都需将API重新部署到对应阶段(如prod):
在API Gateway控制台点击「部署API」,选择目标阶段完成部署,等待几分钟让配置生效确认Lambda权限设置
确保API Gateway拥有调用Lambda新版本的权限:
打开Lambda控制台找到新版本函数,进入「配置」->「权限」->「资源-based策略」,检查是否存在允许vye6oo0qc5调用的策略,无则添加以下配置(替换为自身区域、账号ID和版本号):{ "Version": "2012-10-17", "Id": "default", "Statement": [ { "Sid": "APIGatewayInvokePermission", "Effect": "Allow", "Principal": { "Service": "apigateway.amazonaws.com" }, "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:你的区域:你的账号ID:function:main_function:你的版本号", "Condition": { "ArnLike": { "AWS:SourceArn": "arn:aws:execute-api:你的区域:你的账号ID:vye6oo0qc5/*/*/main_function" } } } ] }查看CloudWatch日志定位细节
若以上步骤完成后仍报错,查看API Gateway的CloudWatch日志:
进入API Gateway控制台「监控」->「日志」,查看具体错误信息,排查是否存在其他配置问题
内容的提问来源于stack exchange,提问作者vwy089
相关产品推荐
相关产品推荐

