是否可以在AWS SAM中检索现有资源标识符?

时间:2020-04-04 15:33:27

标签: amazon-web-services serverless-application-model

我拆分了几个服务,其中这些服务的服务器端是lambda + api网关,我决定使用AWS提供的无服务器应用程序模型(SAM)工具,以便在工作时可以使用本地start-api在本地使用这些服务。

但是,我的主要基础结构不是用SAM编写的,而是用Terraform编写的。我知道,如果我直接用SAM或Cloudformation编写,我的基础架构将被构建为一个堆栈,这将允许我引用服务的SAM模板中的资源,以便我可以利用希望使用的资源属性来构建那些服务。 SAM模板中是否有一种方法可以检索资源参数(已经存在),例如subnet_id,vpc_names等?

我目前的解决方案是使用CLI检索我希望的属性并将它们作为变量传递到SAM模板中,是否有更优雅的解决方案?

1 个答案:

答案 0 :(得分:0)

我不这么认为。考虑到您坚持使用这种技术组合,这可能是最好的选择。当然,您可以切换到统一的技术堆栈。 e。 Terraform或CloudFormation。顺便说一句,我处在相同的情况下,而我的方法正是您所描述的。我已经协商了用Terraform编写的API,每当需要使用基础结构资源时,我都会从Json输出中解析出名称,然后通过命令行参数将其转发到CDK或CloudFormation。