所以根据AWS文档
而不是在 Lambda 函数中使用 Amazon 资源名称 (ARN)
事件源映射,您可以使用别名 ARN。这种方法意味着
您不需要更新事件源映射
升级新版本或回滚到以前的版本。
我有 AWS lambda 函数pets
我创建了 2 个别名dev
and prod
指向 lambda 函数的不同版本。
然后在 API Gateway 中我使用这个 lambda 函数Integration Request
。我有两个阶段的 API,development
and production
。我想development
API阶段指向dev
Lambda 别名 ARN 和production
需要指向prod
alias.
When i select lambda function as Integration Type
then drop down list shows whatever display name i have given earlier while creating lambda function..![enter image description here](https://i.stack.imgur.com/mW5MU.png)
我没有找到 lambda 函数的任何阶段特定配置。根据我对 SO 的研究,我必须按照以下步骤进行部署development
舞台指向dev
alias
1> 前往Integration Request
2> 选择Lambda函数并将其更改为pets:dev
3> 部署到development
stage
按照相同的步骤操作production
通过将 Lambda 函数更改为pets:prod
部署之前。
随着 lambda 函数的增长,这将成为维护的噩梦。有没有更简单的方法来做到这一点?
我找到了
https://aws.amazon.com/blogs/compute/using-api-gateway-stage-variables-to-manage-lambda-functions/ https://aws.amazon.com/blogs/compute/using-api-gateway-stage-variables-to-manage-lambda-functions/
以下是我遵循的步骤:
- 创建lambda函数后,为lambda创建2个别名
功能。
dev
指向$latest
版本和prod
指着一个
您想在产品中使用的特定版本
- 然后转到 API Gateway 控制台 -> 集成请求 -> Lambda 函数,然后输入
pets:${stageVariables.lambdaAlias}
where pets
是我的函数名称和lambdaAlias
是我们必须在每个 API 阶段添加的阶段变量
- 将您的 API 部署到新的 API 阶段
development
and production
- 在每个 API 阶段添加阶段变量
lambdaAlias
有价值dev
and prod
分别。阶段变量值必须与 lambda 函数的别名匹配
现在我们不必为每个 API 部署不断更改 lambda 别名
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)