AWS CDK 中 app.synth() 的用途是什么?

问题描述

AWS CDK 应用程序中 app.synth() 行的用途是什么?例如,它可以在第 29 行看到: https://github.com/aws-samples/aws-cdk-examples/blob/master/typescript/ecs/fargate-application-load-balanced-service/index.ts

我查看了 CDK 文档,但找不到该功能的实际用途。据我了解,该应用程序会在 cdk deploycdk synth自动合成。我还采用了上面链接的 repo 中显示的示例,注释掉了 app.synth() 行,部署了它,它似乎按预期工作。因此,我想知道在 app.synth() 的目的方面我是否遗漏了什么

解决方法

cdk synth 仅构建您的 CloudFormation 模板。它不会将其部署(创建实际资源)到 AWS。您可以使用构建的模板,在 CFN 控制台中手动部署,编辑或检查。

cdk deploy 将构建模板并将其部署到 AWS

人们将 synthdeploy 结合使用,因为这是一种好的做法

在部署之前进行综合是可选的(尽管良好做法)。 AWS CDK 会在每次部署之前综合您的堆栈。