当前,我正在使用以下命令行从本地机器部署到不同阶段:
"args": ["bash", "-c", "/sbin/ss -l | grep vrrp"],
但是此代码在API Gateway部分中创建了一个全新的部分(项目)。看到我的附件链接。
此代码是否应在API->(API项目)->阶段部分中创建serverless deploy --stage qa
不同的阶段?
我很困惑哪种方法是正确的。我看到很多教程都创建了这两种方式。但是对我来说,在一个项目中创建不同的阶段是很有意义的。
还是有其他命令可以执行我想要的操作?
答案 0 :(得分:2)
我认为无服务器的编写方式是一种部署到不同阶段的更简洁的方法。虽然API网关确实允许在同一API网关下进行不同的阶段,但这为意外地做您不想做的事情留了更多的空间,例如不小心拆除了生产API而不是开发人员。
此外,最佳实践是将每个阶段都拥有自己的AWS账户。这使您可以在帐户级别更好地锁定生产环境,以避免意外更改。这对您所有的AWS资源都有益,而不仅仅是API Gateway。
如果您遵循最佳实践,并且每个阶段都有一个AWS账户,那么您的问题就不会出现,因为您的每个登台账户中都会有一个API网关。
如果这些最佳实践不适合您,那么您始终可以恢复为正常的CloudFormation模板,以强制每个阶段在同一API网关下成为不同的部署。