【发布时间】:2021-01-06 17:29:42
【问题描述】:
最近,我开始学习 AWS Cloud Formation (CF) 和 AWS Serverless Application Model (SAM)。我发现在其模板文件中的语法方面存在差异。例如,要在 SAM 中创建 Lambda 资源,我们将声明如下内容:-
Resources:
HelloLambda:
Type: AWS::Serverless::Function
而在 CF 中,我们这样声明:-
Resources:
HelloLambda:
Type: AWS::Lambda::Function
就 Lambda 而言,SAM 与 CF 的不同之处不仅在于很少有属性/属性。
我仍然无法理解和困惑。我有一些疑问,如果您能解决我的疑问,我将不胜感激:-
- 如果 CF 已经在为 AWS 云做 IaC(基础设施即代码),那么 SAM 的需求是什么?
- 为什么有人更喜欢 SAM 而不是 CF?
- 最后,我可以使用 SAM 资源(语法)在 CF 中编写,反之亦然,例如,我可以在普通 CF 模板中使用以下语法声明 Lambda,反之亦然:-
资源: 你好拉姆达: 类型:AWS::Serverless::Function
干杯,
【问题讨论】:
标签: amazon-web-services amazon-cloudformation aws-sam