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

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

资源属性

资源属性是可以添加到Amazon SAM和Amazon CloudFormation资源来控制其他行为和关系。有关资源属性的更多信息,请参阅。资源属性引用中的 Amazon CloudFormation 用户指南.

Amazon SAM支持资源属性的子集,这些属性由Amazon CloudFormation. 在支持的资源属性中,有些属性被复制到仅生成的基础Amazon CloudFormation相应的资源Amazon SAM资源,有些被复制到所有生成的Amazon CloudFormation由相应的Amazon SAM资源。有关 的更多信息Amazon CloudFormation从相应的资源Amazon SAM资源,请参阅。生成Amazon CloudFormationresources.

下表汇总了资源属性支持Amazon SAM,取决于Exceptions下面列出。

资源属性 目标生成的资源

DependsOn

Metadata 1、2

BaseAmazon CloudFormation仅生成的资源。有关Amazon SAM资源和基础Amazon CloudFormation资源,请参阅。生成Amazon CloudFormation资源方案.

Condition

DeletionPolicy

UpdateReplacePolicy

所有生成Amazon CloudFormation资源来自相应的Amazon SAM资源。有关生成的方案的信息Amazon CloudFormation资源,请参阅。生成Amazon CloudFormation资源方案.

备注:

  1. 有关如何使用Metadata资源属性与AWS::Serverless::Function资源类型,请参阅。构建自定义运行时.

  2. 有关如何使用Metadata资源属性与AWS::Serverless::LayerVersion资源类型,请参阅。构建层.

Exceptions

前面描述的资源属性规则有许多例外:

  • 适用于AWS::Lambda::LayerVersion,Amazon SAM-仅自定义字段RetentionPolicy设置DeletionPolicy生成的Amazon CloudFormation资源的费用。这优先级高于DeletionPolicy本身。如果两者都没有设置,则默认情况下DeletionPolicy设置为Retain.

  • 适用于AWS::Lambda::Version,如果DeletionPolicy,则默认为Retain.

  • 对于DeploymentPreferences为无服务器函数指定,则资源属性不会复制到以下生成的Amazon CloudFormation资源:

    • AWS::CodeDeploy::Application

    • AWS::CodeDeploy::DeploymentGroup

    • 这些区域有:AWS::IAM::Role命名CodeDeployServiceRole为此方案创建

  • 如果您的Amazon SAMteplate 包含多个带有隐式创建 API 事件源的函数,那么这些函数将共享生成的AWS::ApiGateway::RestApi资源。在这种情况下,如果函数具有不同的资源属性,则对于生成的AWS::ApiGateway::RestApi资源,Amazon SAM根据以下优先级列表复制资源属性:

    • UpdateReplacePolicy:

      1. Retain

      2. Snapshot

      3. Delete

    • DeletionPolicy:

      1. Retain

      2. Delete