翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS SAM でサポートされているリソース属性
リソース属性は、追加の動作と関係性を制御するために AWS SAM と AWS CloudFormation のリソースに追加できる属性です。リソース属性の詳細については、AWS CloudFormation ユーザーガイドの「Resource Attribute Reference」を参照してください。
AWS SAM は、AWS CloudFormation によって定義されるリソース属性のサブセットをサポートします。サポートされているリソース属性には、対応する AWS SAM リソースから生成されたベース AWS CloudFormation リソースのみにコピーされるものもあれば、対応する AWS SAM リソースから生成されたすべての AWS CloudFormation リソースにコピーされるものもあります。対応する AWS SAM から生成された AWS CloudFormation リソースの詳細については、「AWS SAM 向けに生成された AWS CloudFormation リソース」を参照してください。
以下の表は、AWS SAM がサポートするリソース属性を要約したもので、下記の「例外」が適用されます。
リソース属性 | 送信先で生成されるリソース |
---|---|
Metadata 1、2 |
生成されたベース AWS CloudFormation リソースのみ。AWS SAM リソースとベース AWS CloudFormation リソース間のマッピングについては、「生成された AWS CloudFormation リソースのシナリオ」を参照してください。 |
対応する AWS SAM リソースから生成されたすべての AWS CloudFormation リソース。生成された AWS CloudFormation リソースのシナリオについては、「生成された AWS CloudFormation リソースのシナリオ」を参照してください。 |
注意:
-
AWS::Serverless::Function
リソースタイプとのMetadata
リソース属性の使用に関する詳細については、「でのカスタムランタイムを使用した Lambda 関数の構築 AWS SAM」を参照してください。 -
AWS::Serverless::LayerVersion
リソースタイプとのMetadata
リソース属性の使用に関する詳細については、「AWS SAM での Lambda レイヤーの構築」を参照してください。
例外
前述のリソース属性ルールには、いくつかの例外があります。
-
AWS::Lambda::LayerVersion
については、AWS SAM 限定のカスタムフィールドRetentionPolicy
が、生成された AWS CloudFormation リソースのDeletionPolicy
を設定します。この設定は、DeletionPolicy
自体よりも優先されます。どちらも設定されていない場合、DeletionPolicy
はデフォルトでRetain
に設定されます。 -
AWS::Lambda::Version
については、DeletionPolicy
が指定されていない場合のデフォルトはRetain
です。 -
サーバーレス関数に
DeploymentPreferences
が指定されているシナリオでは、以下の生成された AWS CloudFormation リソースにリソース属性がコピーされません。-
AWS::CodeDeploy::Application
-
AWS::CodeDeploy::DeploymentGroup
-
このシナリオ用に作成された、
CodeDeployServiceRole
という名前のAWS::IAM::Role
-
-
暗黙的に作成された API イベントソースを伴う複数の関数が AWS SAM テンプレートに含まれている場合、これらの関数は生成された
AWS::ApiGateway::RestApi
リソースを共有します。このシナリオでは、関数に異なるリソース属性がある場合、生成されたAWS::ApiGateway::RestApi
リソースに対し、AWS SAM が以下の優先リストに従ってリソース属性をコピーします。-
UpdateReplacePolicy
:-
Retain
-
Snapshot
-
Delete
-
-
DeletionPolicy
:-
Retain
-
Delete
-
-