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

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

生成的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 SAM生成的每个Amazon CloudFormation资源都有一个,这是一个字母数字(A-Z LogicalId、a-z、0-9)标识符,在模板文件中是唯一的。 Amazon SAM使用模板文件LogicalIds中的Amazon SAM资源来构造它生LogicalIds成的Amazon CloudFormation资源。您可以使用生LogicalId成的Amazon CloudFormation资源在模板文件中访问该资源的属性,就像访问已明确声明的Amazon CloudFormation资源一样。有关输入Amazon CloudFormation和Amazon SAM模板LogicalIds的更多信息,请参阅《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资源的详细信息。