首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动化API网关阶段部署

自动化API网关阶段部署
EN

Stack Overflow用户
提问于 2020-08-04 16:40:01
回答 1查看 519关注 0票数 2

我正在使用cloudformation创建API网关阶段。

代码语言:javascript
复制
  ApiDeployment:
    Type: AWS::ApiGateway::Deployment
    Properties:
      RestApiId: !Ref ExampleRestApi
      StageName: dev 

这就是问题所在,每当我创建一个新的API时,我只需要使用AWS控制台部署stage。有没有什么方法可以使部署过程自动化,这样就不需要进一步的控制台操作。

EN

回答 1

Stack Overflow用户

发布于 2020-08-04 17:46:18

当您像这样定义部署资源时,CloudFormation将仅在第一次运行时创建部署。在第二次运行时,它将观察到该资源已经存在,并且CloudFormation定义没有更改,因此它不会创建另一个部署。要解决此问题,您可以向资源ID添加类似UUID/时间戳占位符的内容,并在每次执行CloudFormation更新之前替换它:

代码语言:javascript
复制
ApiDeployment#TIMESTAMP#:
  Type: AWS::ApiGateway::Deployment
  Properties:
    RestApiId: !Ref ExampleRestApi
    StageName: dev

这样,您仍然可以在API网关控制台中查看您的部署历史记录。

如果您不想像这样操作模板,还可以向CloudFormation堆栈添加一个Lambda-backed Custom Resource。使用AWS SDK,您可以让Lambda函数在API更新时自动为您创建新部署。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63243125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档