本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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::Alias和AWS::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资源的详细信息。
| Amazon SAM 资源 | 基础Amazon CloudFormation资源 | 场景 |
|---|---|---|
AWS::Serverless::Api
|
AWS::ApiGateway::RestApi |
|
Amazon። 无服务器። 应用
|
AWS::CloudFormation::Stack |
|
AWS::Serverless::Function |
AWS::Lambda::Function |
|
AWS::Serverless::HttpApi |
AWS::ApiGatewayV2::Api |
|
AWS::Serverless::LayerVersion
|
AWS::Lambda::LayerVersion |
|
AWS::Serverless::SimpleTable
|
AWS::DynamoDB::Table |
|
AWS::Serverless::StateMachine
|
AWS::StepFunctions::StateMachine |
主题
- Amazon CloudFormation指定 Amazon። Serverless። Api 时生成的资源
- Amazon CloudFormation指定 Amazon። Serverless። 应用程序时生成的资源
- Amazon CloudFormation指定时生成的资源AWS::Serverless::Connector
- Amazon CloudFormation生成的资源时间AWS::Serverless::Function已指定
- Amazon CloudFormation指定 Amazon። Serverless። HTTPAPI 时生成的资源
- Amazon CloudFormation当时生成的资源AWS::Serverless::LayerVersion已指定
- Amazon CloudFormation当时生成的资源AWS::Serverless::SimpleTable已指定
- Amazon CloudFormation生成的资源AWS::Serverless::StateMachine已指定