本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
支援的資源屬性 AWS SAM
資源屬性是您可以新增至 AWS SAM 的屬性,以及控制其他行為和關係 CloudFormation 的資源。如需資源屬性的詳細資訊,請參閱AWS CloudFormation 《 使用者指南》中的資源屬性參考。
AWS SAM 支援由 定義的資源屬性子集 CloudFormation。在支援的資源屬性中,有些只會複製到對應 CloudFormation 資源的基礎產生 AWS SAM 資源,有些則會複製到對應 AWS SAM 資源 CloudFormation 所產生的所有資源。如需從對應 CloudFormation 資源產生 AWS SAM 之資源的詳細資訊,請參閱產生的 CloudFormation 資源 AWS SAM。
下表摘要說明 支援的資源屬性 AWS SAM,但需遵守下列例外狀況內容。
| 資源屬性 | 目的地產生的資源 (s) |
|---|---|
|
中繼資料 1、2 |
僅限基本 CloudFormation 產生的資源。如需 AWS SAM 資源與基礎 CloudFormation 資源之間的映射資訊,請參閱產生的 CloudFormation 資源案例。 |
|
對應 CloudFormation AWS SAM 資源中產生的所有資源。如需已產生 CloudFormation 資源的案例資訊,請參閱產生的 CloudFormation 資源案例。 |
備註:
-
如需搭配
Metadata資源類型使用AWS::Serverless::Function資源屬性的詳細資訊,請參閱 在 中使用自訂執行期建置 Lambda 函數 AWS SAM。 -
如需搭配
Metadata資源類型使用AWS::Serverless::LayerVersion資源屬性的詳細資訊,請參閱 在 中建置 Lambda 層 AWS SAM。
例外狀況
上述的資源屬性規則有許多例外狀況:
-
對於
AWS::Lambda::LayerVersion, AWS SAM唯一的自訂欄位DeletionPolicy會為產生的 CloudFormation 資源RetentionPolicy設定 。其優先順序高於DeletionPolicy本身。如果兩者都未設定,則預設為DeletionPolicyRetain。 -
對於
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:-
Retain -
Snapshot -
Delete
-
-
DeletionPolicy:-
Retain -
Delete
-
-