AWS SAM テンプレート構造 - AWS Serverless Application Model

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

AWS SAM テンプレート構造

アン AWS SAM テンプレート ファイルは、 AWS CloudFormation テンプレート ファイル。詳細は、 テンプレートの構造AWS CloudFormation ユーザーガイド. 2つの主な違いは AWS SAM テンプレートファイルと AWS CloudFormation テンプレート ファイルは次のとおりです。

  • 変換の宣言。 宣言 Transform: AWS::Serverless-2016-10-31 は に必要です AWS SAM テンプレートファイル。この申告は、 AWS CloudFormation テンプレート ファイルを AWS SAM テンプレートファイル。変換の詳細については、以下を参照してください。 変換AWS CloudFormation ユーザーガイド.

  • グローバルセクション。 [ Globals は、 AWS SAM. これは、すべてのサーバーレス関数に共通するプロパティを定義します。 APIs. すべての AWS::Serverless::FunctionAWS::Serverless::Api、および AWS::Serverless::SimpleTable リソースは、 Globals セクション。このセクションの詳細については、以下を参照してください。 [Globals]セクション( AWS SAM テンプレート.

  • リソースセクション イン AWS SAM テンプレート Resources セクションには、次の組み合わせを含めることができます。 AWS CloudFormation リソースと AWS SAM リソース。詳細情報については、 AWS CloudFormation リソース、参照 AWSリソースおよびプロパティタイプの参照AWS CloudFormation ユーザーガイド. AWS SAM リソースの詳細については、「AWS SAM リソースとプロパティの参照」を参照してください。

  • [パラメータ] セクション。 _で宣言されたオブジェクト Parameters セクションは、 sam deploy --guided ユーザーに追加のプロンプトを表示するコマンド。宣言されたオブジェクトおよび対応するプロンプトの例については、以下を参照してください。 sam deploy を AWS SAM CLIコマンド リファレンス。

の他のすべてのセクション AWS SAM テンプレートファイルは AWS CloudFormation 同じ名前のテンプレートファイルセクション。

YAML

次の例では、YAML 形式のテンプレートの例を示します。

Transform: AWS::Serverless-2016-10-31 Globals: set of globals Description: String Metadata: template metadata Parameters: set of parameters Mappings: set of mappings Conditions: set of conditions Resources: set of resources Outputs: set of outputs

テンプレートセクション

AWS SAM テンプレートには、いくつかの主要なセクションを含めることができます。のみ Transform および Resources は必須項目です。

テンプレート セクションは、任意の順序で含めることができます。ただし、テンプレートを作成するときは、次のリストに示す論理的な順序を使用すると便利です。これは、1 つのセクションの値が前のセクションの値を参照している可能性があるためです。

変換 (必須)

AWS SAM テンプレートの場合は、このセクションを AWS::Serverless-2016-10-31 の値とともに含める必要があります。

追加の変換はオプションです。変換の詳細については、以下を参照してください。 変換AWS CloudFormation ユーザーガイド.

グローバル (オプション)

すべてのサーバーレス関数に共通のプロパティ APIs、および単純なテーブル。すべての AWS::Serverless::FunctionAWS::Serverless::Api、および AWS::Serverless::SimpleTable リソースは、 Globals セクション。

このセクションは、AWS SAM に固有です。AWS CloudFormation テンプレートには対応するセクションがありません。

Description (オプション)

テンプレートを説明するテキスト文字列。

このセクションは、 Description セクション AWS CloudFormation テンプレート。

メタデータ (オプション)

テンプレートに関する追加情報を提供するオブジェクト。

このセクションは、 Metadata セクション AWS CloudFormation テンプレート。

パラメータ (任意)

実行時に (スタックを作成または更新するとき)、テンプレートに渡すことができる値。テンプレートの Resources および Outputs セクションのパラメータを参照できます。

_を使用して渡される値 --parameter-overrides のパラメータ sam deploy コマンド—設定ファイル内のエントリ—[ AWS SAM テンプレートファイル。[ sam deploy コマンド、参照 sam deploy を AWS SAM CLIコマンド リファレンス。設定ファイルの詳細については、「AWS SAM CLI 設定ファイル」を参照してください。

マッピング (任意)

条件パラメータ値の指定に使用できる、キーと関連する値のマッピング (検索テーブルに類似したもの)。キーを対応する値に一致させるには、 Fn::FindInMap 内在性機能 Resources および Outputs セクション。

このセクションは、 Mappings セクション AWS CloudFormation テンプレート。

条件 (オプション)

特定のリソースが作成されるかどうかや、スタックの作成または更新中に特定のリソースプロパティが値を割り当てられるかどうかを制御する条件。たとえば、スタックが本稼働用であるかテスト環境用であるかに依存する、条件付きのリソースを作成できます。

このセクションは、 Conditions セクション AWS CloudFormation テンプレート。

リソース (必須)

スタック リソースとそのプロパティ( Amazon Elastic Compute Cloud (Amazon EC2)インスタンスまたは Amazon Simple Storage Service (Amazon S3)バケット。テンプレートの Resources および Outputs セクションのリソースを参照できます。

このセクションは、 Resources セクション AWS CloudFormation テンプレート。AWS SAM テンプレートでは、このセクションに AWS CloudFormation リソースに加えて AWS SAM リソースを含めることができます。

出力 (任意)

スタックのプロパティを表示するたびに返される値。たとえば、S3バケット名の出力を宣言し、 aws cloudformation describe-stacks AWS Command Line Interface (AWS CLI) コマンドを使用して、名前を表示します。

このセクションは、 Outputs セクション AWS CloudFormation テンプレート。

次のステップ

_を含むサンプル サーバーレス アプリケーションをダウンロードして展開するには AWS SAM テンプレート ファイル、参照テンプレートファイル AWS SAM の開始方法 指示に従い、 チュートリアル: Hello World アプリケーションのデプロイ.