翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS SAM 向けに生成された CloudFormation リソース
このセクションでは、AWS SAM が AWS テンプレートを処理するときに作成される CloudFormation リソースの詳細を提供しています。AWS SAM が生成する CloudFormation リソースのセットは、ユーザーが指定するシナリオに応じて異なります。シナリオとは、テンプレートファイルで指定される AWS SAM リソースとプロパティの組み合わせのことです。テンプレートファイル内の他の部分で生成された CloudFormation リソースは、テンプレートファイルで明示的に宣言するリファレンスの参照方法と同じように参照できます。
例えば、AWS SAM テンプレートファイルで AWS::Serverless::Function リソースを指定すると、AWS SAM は常に AWS::Lambda::Function ベースのリソースを生成します。オプションの AutoPublishAlias プロパティも指定すると、AWS SAM が追加で AWS::Lambda::Alias および AWS::Lambda::Version リソースを生成します。
このセクションでは、シナリオとそれらが生成する CloudFormation リソースをリストして、AWS SAM テンプレートファイル内で生成された CloudFormation リソースを参照する方法を説明します。
生成された CloudFormation リソースの参照
AWS SAM テンプレートファイル内で生成された CloudFormation リソースを参照するためのオプションには、LogicalId によるものと、参照可能なプロパティによるものの 2 つのオプションがあります。
生成された CloudFormation リソースの LogicalId による参照
AWS SAM が生成する各 CloudFormation リソースには LogicalId があります。これは、テンプレートファイル内で一意の英数字 (A~Z、a~z、0~9) 識別子です。AWS SAM は、テンプレートファイル内の AWS SAM リソースの LogicalIds を使用して、それが生成する CloudFormation リソースの LogicalIds を構築します。明示的に宣言した CloudFormation の場合と同様に、生成された CloudFormation リソースの LogicalId を使用して、テンプレートファイル内のそのリソースのプロパティにアクセスすることができます。CloudFormation および AWS SAM テンプレート内の LogicalIds の詳細については、AWS CloudFormation ユーザーガイドの「Resources」を参照してください。
注記
生成されたリソースの LogicalIds には、名前空間の衝突を避けるための一意のハッシュ値が含まれるものがあります。これらのリソースの LogicalIds は、スタックの作成時に導出されます。これらを取得できるのは、スタックが AWS マネジメントコンソール、AWS CLI、または AWS の 1 つを使用して作成された後のみです。ハッシュ値が変更される可能性があるため、LogicalId によるこれらのリソースの参照は推奨されません。
生成された CloudFormation リソースの参照可能なプロパティによる参照
AWS SAM は、生成された一部のリソースに、AWS SAM リソースの参照可能なプロパティを提供します。このプロパティを使用して、AWS SAM テンプレート内の生成された CloudFormation リソースとそのプロパティを参照できます。
注記
生成された CloudFormation リソースのすべてに参照可能なプロパティがあるわけではありません。これらのリソースには、LogicalId を使用する必要があります。
生成された CloudFormation リソースのシナリオ
以下の表は、CloudFormation リソースを生成するシナリオを構成する AWS SAM リソースとプロパティを要約したものです。シナリオ列のトピックには、そのシナリオに対して AWS SAM が生成する追加の CloudFormation リソースの詳細が説明されています。
| AWS SAM リソース | ベース CloudFormation リソース | シナリオ |
|---|---|---|
AWS::Serverless::Api
|
AWS::ApiGateway::RestApi |
|
AWS::Serverless::Application
|
AWS::CloudFormation::Stack |
|
AWS::Serverless::Function |
AWS::Lambda::Function |
|
AWS::Serverless::HttpApi |
AWS::ApiGatewayV2::Api |
|
AWS::Serverless::LayerVersion
|
AWS::Lambda::LayerVersion |
|
AWS::Serverless::SimpleTable
|
AWS::DynamoDB::Table |
|
AWS::Serverless::StateMachine
|
AWS::StepFunctions::StateMachine |
トピック
AWS::Serverless::Application が指定された場合、生成される CloudFormation リソース
AWS::Serverless::Connector を指定したときに生成された CloudFormation リソース
AWS::Serverless::Function が指定された場合、生成される CloudFormation リソース
AWS::Serverless::GraphQLApi が指定された場合、生成される CloudFormation リソース
AWS::Serverless::LayerVersion が指定された場合、生成される CloudFormation リソース
AWS::Serverless::SimpleTable が指定された場合、生成される CloudFormation リソース
AWS::Serverless::StateMachine が指定された場合、生成される CloudFormation リソース