本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
支持的资源属性 AWS SAM
资源属性是您可以添加的属 AWS SAM 性和用于控制其他行为和关系的 AWS CloudFormation 资源。有关资源属性的更多信息,请参阅《AWS CloudFormation 用户指南》中的资源属性引用。
AWS SAM 支持由定义的资源属性的子集 AWS CloudFormation。在支持的资源属性中,有些属性仅复制到相应 AWS CloudFormation 资源的基础生成的 AWS SAM 资源中,有些则复制到由相应 AWS CloudFormation 资源生成的所有生成的 AWS SAM 资源中。有关从相应 AWS CloudFormation 资源生成的 AWS SAM 资源的更多信息,请参阅生成的 AWS CloudFormation 资源用于 AWS SAM。
下表汇总了按 AWS SAM以下所异常列内容提供的资源属性支持。
资源属性 | 目标生成的资源 |
---|---|
元数据 1, 2 |
仅限基础 AWS CloudFormation 生成的资源。有关 AWS SAM 资源和基础 AWS CloudFormation 资源之间映射的信息,请参阅生成的 AWS CloudFormation 资源场景。 |
所有从相应 AWS CloudFormation 资源生成的 AWS SAM 资源。有关生成 AWS CloudFormation 资源的场景的信息,请参阅生成的 AWS CloudFormation 资源场景。 |
备注:
-
有关使用
Metadata
资源属性和AWS::Serverless::Function
资源类型的更多信息,请参阅 在中使用自定义运行时构建 Lambda 函数 AWS SAM。 -
有关使用
Metadata
资源属性和AWS::Serverless::LayerVersion
资源类型的更多信息,请参阅 在中构建 Lambda 图层 AWS SAM。
异常
前面描述的资源属性规则有许多例外情况:
-
对于
AWS::Lambda::LayerVersion
, AWS SAM仅限自定义字段DeletionPolicy
为生成的 AWS CloudFormation 资源RetentionPolicy
设置。它的优先级高于DeletionPolicy
其本身。如果两者均未设置,则默认将DeletionPolicy
设置为Retain
。 -
对于
AWS::Lambda::Version
,如果未指定DeletionPolicy
,则默认为Retain
。 -
对于为无服务器函数指定的场
DeploymentPreferences
景,资源属性不会复制到以下生成的 AWS CloudFormation 资源中:-
AWS::CodeDeploy::Application
-
AWS::CodeDeploy::DeploymentGroup
-
为此场景创建的名为
CodeDeployServiceRole
的AWS::IAM::Role
-
-
如果您的 AWS SAM 模板包含多个带有隐式创建的 API 事件源的函数,则这些函数将共享生成的
AWS::ApiGateway::RestApi
资源。在这种情况下,如果函数具有不同的资源属性,则对于生成的AWS::ApiGateway::RestApi
资源,根据以下优先级列表 AWS SAM 复制资源属性:-
UpdateReplacePolicy
:-
Retain
-
Snapshot
-
Delete
-
-
DeletionPolicy
:-
Retain
-
Delete
-
-