AWS SAM 向けに生成された CloudFormation リソース - AWS Serverless Application Model

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

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
  • このサーバーレスリソースには、ベース CloudFormation リソースの生成以外の追加のシナリオはありません。

AWS::Serverless::Function AWS::Lambda::Function
AWS::Serverless::HttpApi AWS::ApiGatewayV2::Api
AWS::Serverless::LayerVersion AWS::Lambda::LayerVersion
  • このサーバーレスリソースには、ベース CloudFormation リソースの生成以外の追加のシナリオはありません。

AWS::Serverless::SimpleTable AWS::DynamoDB::Table
  • このサーバーレスリソースには、ベース CloudFormation リソースの生成以外の追加のシナリオはありません。

AWS::Serverless::StateMachine AWS::StepFunctions::StateMachine