本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
生成的 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::Alias
和AWS::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 资源的详细信息。
Amazon SAM 资源 | 基础 Amazon CloudFormation 资源 | 场景 |
---|---|---|
AWS::Serverless::Api
|
AWS::ApiGateway::RestApi |
|
AWS::Serverless::Application
|
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 指定时AWS::Serverless::Api生成的资源
- Amazon CloudFormation 指定时AWS::Serverless::Application生成的资源
- 在指定了 AWS::Serverless::Connector 的情况下生成的 Amazon CloudFormation 资源
- Amazon CloudFormation 指定时AWS::Serverless::Function生成的资源
- Amazon CloudFormation 指定时AWS::Serverless::GraphQLApi生成的资源
- Amazon CloudFormation 指定时 AWS::Serverless::HttpApi 生成的资源
- Amazon CloudFormation 指定时AWS::Serverless::LayerVersion生成的资源
- Amazon CloudFormation 指定时AWS::Serverless::SimpleTable生成的资源
- Amazon CloudFormation 指定时AWS::Serverless::StateMachine生成的资源