资源属性 - 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 CloudFormation资源.

下表汇总了资源属性支持的方式。Amazon SAM,取决于异常下面列出了。

资源属性 目标生成的资源

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资源类型,请参阅。构建层.

异常

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

  • 适用于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 SAM模板包含多个函数,其中包含隐式创建的 API 事件源,然后这些函数将共享生成的AWS::ApiGateway::RestApi资源。在这种情况下,如果函数具有不同的资源属性,那么对于生成的AWS::ApiGateway::RestApi资源,Amazon SAM根据以下优先级列表复制资源属性:

    • UpdateReplacePolicy:

      1. Retain

      2. Snapshot

      3. Delete

    • DeletionPolicy:

      1. Retain

      2. Delete