如何将ApiGateway指向特定的Lambda别名

时间:2016-02-18 04:15:52

标签: amazon-web-services aws-lambda aws-api-gateway

我在亚马逊的ApiGateway创建了一个资源。它指向Lambda函数。这是一个本机移动应用程序(android和ios),它已经在野外。

我现在想要修改Lambda函数,但我认为无法将我的ApiGateway资源更改为指向lambda的别名。这是我第一次使用这些技术,我发现在aws控制台中没有简单的机制来管理它。

如何修改我的ApiGateway资源以指向我的lambda别名,以便我可以在不影响现有客户端的情况下编辑主干?

3 个答案:

答案 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 名称。这对我有用,无需添加 {} 符号。