我正在使用cloudformation创建API网关阶段。
ApiDeployment:
Type: AWS::ApiGateway::Deployment
Properties:
RestApiId: !Ref ExampleRestApi
StageName: dev 这就是问题所在,每当我创建一个新的API时,我只需要使用AWS控制台部署stage。有没有什么方法可以使部署过程自动化,这样就不需要进一步的控制台操作。
发布于 2020-08-04 17:46:18
当您像这样定义部署资源时,CloudFormation将仅在第一次运行时创建部署。在第二次运行时,它将观察到该资源已经存在,并且CloudFormation定义没有更改,因此它不会创建另一个部署。要解决此问题,您可以向资源ID添加类似UUID/时间戳占位符的内容,并在每次执行CloudFormation更新之前替换它:
ApiDeployment#TIMESTAMP#:
Type: AWS::ApiGateway::Deployment
Properties:
RestApiId: !Ref ExampleRestApi
StageName: dev这样,您仍然可以在API网关控制台中查看您的部署历史记录。
如果您不想像这样操作模板,还可以向CloudFormation堆栈添加一个Lambda-backed Custom Resource。使用AWS SDK,您可以让Lambda函数在API更新时自动为您创建新部署。
https://stackoverflow.com/questions/63243125
复制相似问题