如何将无服务器应用程序模型(SAM)模板转换为Cloudformation?

时间:2020-04-06 01:50:51

标签: amazon-web-services amazon-cloudformation aws-sam aws-sam-cli serverless-application-model

根据this answer,我了解到SAM是Cloudformation的一种转变。

是否可以通过控制台,CLI或其他方式从SAM模板中获取转换后的Cloudformation模板?

2 个答案:

答案 0 :(得分:2)

对于已经部署的SAM项目,您应该在CloudFormation控制台中找到原始CloudFormation模板(转换后)。选择您的堆栈,然后打开Template标签。您也可以使用aws cloudformation get-template通过awscli来检索它。

您也可以使用SAM cli,例如:

sam package \
  --output-template-file output.yaml \
  --s3-bucket mybucketname

答案 1 :(得分:2)

我猜您想将打包的SAM模板转换为原始Cloudformation模板。

您可以通过以下简单的步骤来实现:

pip install aws-sam-translator docopt

wget https://raw.githubusercontent.com/awslabs/serverless-application- model/develop/bin/sam-translate.py`

python sam-translate.py --template-file=input_file.yml --output-template=output_file.json

现在,在output_file.json中有一个打包的香草CloudFormation模板

有关更多信息,请访问https://github.com/awslabs/serverless-application-model/blob/develop/bin/sam-translate.py