

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 支援的資源屬性 AWS SAM
<a name="sam-specification-resource-attributes"></a>

資源屬性是您可以新增至 AWS SAM 和 CloudFormation 資源的屬性，以控制其他行為和關係。如需資源屬性的詳細資訊，請參閱*AWS CloudFormation 《 使用者指南*》中的[資源屬性參考](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-product-attribute-reference.html)。

AWS SAM 支援由 定義的資源屬性子集 CloudFormation。在支援的資源屬性中，有些只會複製到對應 CloudFormation 資源的基礎產生 AWS SAM 資源，有些則會複製到對應 CloudFormation 資源產生的所有產生 AWS SAM 資源。如需從對應 CloudFormation 資源產生 AWS SAM 之資源的詳細資訊，請參閱 [為 產生 CloudFormation 資源 AWS SAM](sam-specification-generated-resources.md)。

下表摘要說明 支援的資源屬性 AWS SAM，但需遵守下列[例外狀況](#sam-specification-resource-attributes-exceptions)內容。


| 資源屬性 | 目的地產生的資源 (s) | 
| --- | --- | 
|  ** [DependsOn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) ** ** [中繼資料](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html) **1、2  |  僅限基本 CloudFormation 產生的資源。如需 AWS SAM 資源與基礎 CloudFormation 資源之間的映射資訊，請參閱 [產生的 CloudFormation 資源案例](sam-specification-generated-resources.md#sam-specification-generated-resources-scenarios)。  | 
| ** [條件](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/conditions-section-structure.html) ** ** [DeletionPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html) ** ** [UpdateReplacePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatereplacepolicy.html) **  |  來自對應 CloudFormation AWS SAM 資源的所有產生資源。如需所產生 CloudFormation 資源案例的資訊，請參閱 [產生的 CloudFormation 資源案例](sam-specification-generated-resources.md#sam-specification-generated-resources-scenarios)。  | 

**備註**：

1. 如需搭配 `Metadata` 資源類型使用 `AWS::Serverless::Function` 資源屬性的詳細資訊，請參閱 [在 中使用自訂執行期建置 Lambda 函數 AWS SAM](building-custom-runtimes.md)。

1. 如需搭配 `Metadata` 資源類型使用 `AWS::Serverless::LayerVersion` 資源屬性的詳細資訊，請參閱 [在 中建置 Lambda 層 AWS SAM](building-layers.md)。

## 例外狀況
<a name="sam-specification-resource-attributes-exceptions"></a>

上述資源屬性規則有許多例外狀況：
+ 對於 `AWS::Lambda::LayerVersion`， AWS SAM唯一的自訂欄位`DeletionPolicy`會為產生的 CloudFormation 資源`RetentionPolicy`設定 。其優先順序高於`DeletionPolicy`本身。如果兩者都未設定，則預設為 `DeletionPolicy` `Retain`。
+ 對於 `AWS::Lambda::Version`，如果`DeletionPolicy`未指定 ，則預設值為 `Retain`。
+ 對於`DeploymentPreferences`為無伺服器函數指定的 案例，資源屬性不會複製到下列產生的 CloudFormation 資源：
  + `AWS::CodeDeploy::Application`
  + `AWS::CodeDeploy::DeploymentGroup`
  + 為此案例建立`CodeDeployServiceRole`的 `AWS::IAM::Role`名稱
+ 如果您的 AWS SAM 範本包含多個具有隱含建立之 API 事件來源的函數，則函數將共用產生的`AWS::ApiGateway::RestApi`資源。在此案例中，如果函數具有不同的資源屬性，則對於產生的`AWS::ApiGateway::RestApi`資源， 會根據下列優先順序清單 AWS SAM 複製資源屬性：
  + `UpdateReplacePolicy`:

    1. `Retain`

    1. `Snapshot`

    1. `Delete`
  + `DeletionPolicy`:

    1. `Retain`

    1. `Delete`