我在亚马逊的ApiGateway创建了一个资源。它指向Lambda函数。这是一个本机移动应用程序(android和ios),它已经在野外。
我现在想要修改Lambda函数,但我认为无法将我的ApiGateway资源更改为指向lambda的别名。这是我第一次使用这些技术,我发现在aws控制台中没有简单的机制来管理它。
如何修改我的ApiGateway资源以指向我的lambda别名,以便我可以在不影响现有客户端的情况下编辑主干?
答案 0 :(得分:29)
在集成类型下 - > Lambda函数您需要添加对阶段变量MyLambdaFuntionName:${stageVariables.lambdaAlias}
的引用,然后为每个阶段设置相应的阶段变量选项卡中的lambdaAlias
(lambdaAlias = dev,lambdaAlias = prod等)
此处有一个屏幕截图示例:https://aws.amazon.com/blogs/compute/using-api-gateway-stage-variables-to-manage-lambda-functions/
它隐藏在页面的最底部,以“另外,你可以混合和匹配静态名称”
答案 1 :(得分:5)
对于后来的Google员工,请注意使用正确的别名添加权限,例如yourfunc:prod不仅仅是你的函数。这意味着如果您计划使用3个别名来调用lambda函数,则必须添加3个。
答案 2 :(得分:0)
就我而言,我会直接添加 lambda 函数的 arn 来替换 Lambda 名称。这对我有用,无需添加 {} 符号。