如何从多个 yml 构建 CloudFormation 模板

问题描述

我正在尝试将这个存储库放到这里 - https://github.com/mydatastack/google-analytics-to-s3

A link is provided to launch the AWS CloudFormation stack 但它不再工作,因为包含模板的 S3 存储桶不再处于活动状态。

我有两个关于让数据管道运行的问题:

  1. 我的第一个问题是什么是 631216aef6ab2824fc63572d1d3d5e6c.template,我可以通过 CloudFormation folder 中的 3 个 .yml 文件创建它吗?

我尝试通过 CloudFormation 设计器

collector-ga.yml template

collector-ga.yml 创建模板,但失败了。我认为这是因为仅从 collector-ga 创建模板时 yml 中的资源不可用。我也尝试将 repo 上传到 s3 并从那里创建模板,但也没有成功。

  1. 如何从存储库启动堆栈?我在网上找到的信息很少,因此如果您能提供解释或指向一些相关资源的指针,我们将不胜感激。

解决方法

此存储库不使用“标准”CloudFormation 资源,但使用 AWS SAM。您必须安装 SAM CLI 工具并使用它来部署 CloudFormation 堆栈。如果您运行 sam deploy --guided,它将帮助您在您的 AWS 账户上设置必要的 S3 存储桶等。 SAM 将上传必要的文件,通过使用 S3 URL 更新模板来解析模板之间的内部本地链接,并构建用于部署堆栈的 packaged.yml 模板。

此外,请查看 AWS SAM user guide 了解更多信息。