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