我有两个版本的AWS Lambda函数。我想将它附加到API Gateway的两个阶段,dev和prod。
我为Lambda函数的两个版本创建了两个别名dev
和prod
。我创建了一个名为fname
的阶段变量,并在适当的阶段为它们提供值dev和prod。
对于要在参考资料部分调用的Lambda函数,我提供了函数名称stageTester:${stageVariables.fname}
,其中stageTester是我函数的名称。
它促使我使用AWS CLI附加权限。我运行了以下命令:
aws lambda add-permission --function-name arn:aws:lambda:ap-south-1:xxxxxxx:function:stageTester:dev --source-arn 'arn:aws:execute-api:ap-south-1:zzzzzz:aaaaaa/*/GET/stageTester' --principal apigateway.amazonaws.com --statement-id cxbxcx9bx5-68df-4x9d-96xd-9exb497xa934 --action lambda:InvokeFunction --profile lambdaUser --region ap-south-1
......和类似的产品。我希望这会适当地附加权限。
我完成了部署并尝试调用API。但是,我每次都遇到内部服务器错误。在Lambda功能屏幕中,针对触发器,我看到以下错误
ID为aaaaaa的API不包含具有path / stageTester的资源 有一个整合 arn:aws:lambda:ap-south-1:xxxxxxx:function:stageTester:dev上的GET 方法
有人可以帮我解决这个问题吗?