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

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

生成的 Amazon CloudFormation 资源

本节详细介绍了在 Amazon SAM 处理 Amazon 模板时创建的 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 资源

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

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

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

注意

某些生成的资源的 LogicalIds 包含唯一哈希值,以避免命名空间冲突。这些资源的 LogicalIds 是在创建堆栈时派生的。只有在使用、或其中一个 Amazon 软件开发工具包创建堆栈后 Amazon Web Services Management Console Amazon 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 资源的详细信息。