Amazon CloudFormation - Amazon Serverless Application Model
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon CloudFormation

当Amazon Serverless Application Model (Amazon SAM) 处理您的Amazon SAM模板文件时,它会生成一个或多个Amazon CloudFormation资源。Amazon SAM生成的Amazon CloudFormation资源集因您指定的方案而异。场是在模板文件中指定的Amazon SAM资源和属性的组合。您可以在模板文件中的其他地方引用生成Amazon CloudFormation的资源,这与引用在模板文件中明确声明的资源类似。

例如,如果您在Amazon SAM模板文件中指定了AWS::Serverless::Function资源,则Amazon SAM始终会生成AWS::Lambda::Function基础资源。如果您还指定了可选AutoPublishAlias属性,则Amazon SAM还会生成AWS::Lambda::AliasAWS::Lambda::Version资源。

本节列出了场景及其生成Amazon CloudFormation的资源,并说明了如何在Amazon SAM模板文件中引用生成Amazon CloudFormation的资源。

引用生成Amazon CloudFormation的资源

您可以通过两种方式在Amazon SAM模板文件中引用生成Amazon CloudFormation的资源,即按可引用属性LogicalId或按可引用属性引用生成的资源。

通过以下方式引用生成Amazon CloudFormation的资源 LogicalId

Amazon CloudFormationAmazon SAMLogicalId生成的 Amazon SAM使用模板文件LogicalIds中的Amazon SAM资源来构造它生成Amazon CloudFormation的资源。LogicalIds您可以使用生成的Amazon CloudFormation资源在模板文件中访问该资源的属性,就像使用已明确声明的Amazon CloudFormation资源一样。LogicalId有关LogicalIds中Amazon CloudFormation和Amazon SAM模板的更多信息,请参阅《Amazon CloudFormation用户指南》中的资源

注意

一些LogicalIds生成的资源包含一个唯一的哈希值,以避免命名空间冲突。LogicalIds 只有在使用、或其中一个Amazon SDK 创建堆栈后Amazon Web Services Management ConsoleAmazon CLI,才能检索它们。我们不建议通过引用这些资源,LogicalId因为哈希值可能会发生变化。

通过可引用属性引用生成Amazon CloudFormation的资源

对于某些生成的资源,Amazon SAM提供该Amazon SAM资源的可引用属性。您可以使用此属性在Amazon SAM模板文件中引用生成的Amazon CloudFormation资源及其属性。

注意

并非所有生成的Amazon CloudFormation资源都具有可引用的属性。LogicalId

生成的Amazon CloudFormation资源方案

下表汇总了构成生成Amazon SAM资源的方案的Amazon CloudFormation资源和属性。场景列中的主题提供了有关为该场景Amazon SAM生成的其他Amazon CloudFormation资源的详细信息。