AWS SAMCLI 設定ファイル - AWS Serverless Application Model

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

AWS SAMCLI 設定ファイル

-AWS SAMCLI は、コマンドのデフォルトパラメータを格納するプロジェクトレベルの設定をサポートしています。この設定ファイルはTOML ファイルの形式と指定します。デフォルトのファイル名はsamconfig.toml。ファイルのデフォルトの場所は、プロジェクトのルートディレクトリです。ルートディレクトリには、プロジェクトのAWS SAMテンプレートファイルを表します。

このファイルを手動で編集して、AWS SAMCLI コマンド。また、sam deploy --guidedコマンドは、パラメーターのサブセットを設定ファイルに書き込みます。このコマンドの詳細については、」による設定の書き込みsam deploy --guidedこのトピックで後述します。

Example

以下に、3 つのパラメーターセットを含む設定ファイルの例を示します。default環境。1 つのセットはすべてのコマンドで、もう 1 つはdeployコマンドであり、1つはbuildコマンド。

 version=0.1
 [default.global.parameters]
 stack_name = "common-stack"
 
 [default.deploy.parameters]
 stack_name = "my-app-stack"
 s3_bucket = "my-source-bucket"
 s3_prefix = "my-s3-prefix"
 image_repositories = ["my-function-1=image-repo-1", "my-function-2=image-repo-2"]
 region = "us-west-2"
 confirm_changeset = true
 capabilities = "CAPABILITY_IAM"
 tags = "project=\"my-application\" stage=\"production\""

 [default.build.parameters]
 container_env_var = ["Function1.GITHUB_TOKEN=TOKEN1", "Function2.GITHUB_TOKEN=TOKEN2"]
 container_env_var_file = "env.json"

設定ファイルのルール

-AWS SAMCLI は、次のルールを設定ファイルに適用します。

ファイル名と場所

  • デフォルトの設定ファイルの名前はです。samconfig.tomlで、プロジェクトのルートディレクトリにあります。

  • デフォルトのファイル名と場所を変更するには、--config-fileパラメータ。

Tables

  • -AWS SAMCLI では、環境およびコマンド別にコンフィギュレーションエントリをグループ化するために、TOML テーブルを使用します。1 つの設定ファイルには、複数の環境、コマンド、およびサブコマンドのテーブルを含めることができます。

  • デフォルトの環境名はdefault。デフォルトの環境名は、--config-envパラメータ。

  • コマンドの場合、テーブルヘッダーの形式は[environment.command.parameters]。たとえば、sam deployのコマンドdefault環境の場合、構成テーブルのヘッダーは[default.deploy.parameters]

  • サブコマンドの場合、テーブルヘッダーの形式は[environment.command_subcommand.parameters]。つまり、コマンドとサブコマンドを_(下線) を指定します。たとえば、sam local invokeのコマンドdefault環境の場合、構成テーブルのヘッダーは[default.local_invoke.parameters]

  • いずれかのコマンドまたはサブコマンドに-(ハイフン)文字の場合は、_(下線) を指定します。たとえば、sam local start-apiコマンドの場合、構成テーブルのヘッダーは[default.local_start_api.parameters]

  • すべてのコマンドのパラメーターを指定するには、globalキーワードをコマンドとしてテーブルヘッダー([environment.global.parameters]). たとえば、グローバルテーブルヘッダーdefault環境は[default.global.parameters]

設定エントリ

  • 各設定エントリは、TOML キーと値のペアです。

  • コンフィグレーションキーは、長い形式のパラメーター名で-(ハイフン) 文字を_(下線) を指定します。各コマンドで使用できるパラメーターの一覧については、AWS SAMCLI コマンドリファレンスまたはsam command --help

  • 設定値には次の形式を使用できます。

    • トグルパラメータの場合、値はtrueまたはfalse(引用符なし)。たとえば、confirm_changeset = true と指定します。

    • 単一の引数を取るパラメータの場合、値は" "(引用符) を使用します。たとえば、region = "us-west-2" と指定します。

    • 引数のリストを取るパラメータの場合、引数は" "(引用符) を使用します。たとえば、capabilities = "CAPABILITY_IAM CAPABILITY_NAMED_IAM" と指定します。

      • キーと値のペアのリストを指定するには、ペアはスペースで区切られ、各ペアの値はエンコードされた" "(引用符) を使用します。たとえば、tags = "project=\"my-application\" stage=\"production\"" と指定します。

    • 複数回指定できるパラメータの場合、値は引数の配列です。たとえば、image_repositories = ["my-function-1=image-repo-1", "my-function-2=image-repo-2"] と指定します。

Precedence

  • コマンドラインで指定するパラメータ値は、設定ファイルの対応するエントリよりも優先されます。たとえば、設定ファイルにstack_name = "DefaultStack"コマンドを実行しますsam deploy --stack-name MyCustomStackの場合、デプロイされたスタック名はMyCustomStack

  • parameter_overridesエントリでは、コマンドラインで指定するパラメータ値と、設定ファイルのエントリの両方が、Parametersセクションに入力します。

  • 特定のコマンドテーブルで指定するエントリは、globalコマンドセクションを参照してください。たとえば、設定ファイルに以下のテーブルとエントリが含まれるとします。

    [default.global.parameters] stack_name = "common-stack" [default.deploy.parameters] stack_name = "my-app-stack"

    この場合、sam deployコマンドは、スタック名my-app-stack、およびその他のコマンド (sam logs) は、スタック名common-stack

による設定の書き込みsam deploy --guided

実行すると、sam deploy --guidedコマンド、AWS SAMCLI では、一連のプロンプトを使用して展開をガイドします。

これらのプロンプトには、"Save arguments to samconfig.toml [Y/n]:"。あなたが応答した場合Yをこのプロンプトに追加すると、AWS SAMCLI は、設定ファイルをdeployコマンド。たとえば、default環境,AWS SAMを更新しています[default.deploy.parameters]テーブル。

エントリの一覧は、deployコマンド・テーブルのAWS SAM更新できるものは以下のとおりです。

  • stack_name

  • s3_bucket

  • s3_prefix

  • image_repository

  • region

  • confirm_changeset

  • capabilities

  • signing_profiles

  • parameter_overrides

    注記

    設定ファイルには、同じパラメータのエントリを含む特別なケースがあります。deployおよびglobalコマンドテーブルです。この場合は、sam deploy --guidedと同じ値を指定し、そのパラメータにglobalコマンドテーブルエントリがある場合、deployコマンドテーブルエントリが削除されます。

    でを指定することにより、sam deploy --guidedで既に指定されている値と同じ値をプロンプトglobalコマンドテーブル、AWS SAMは、デフォルトの値にしたいと仮定します。globalコマンドテーブルです。

ガイド付きプロンプトのデフォルト値のルール

プロンプトのデフォルト値を制御するにはAWS SAMコマンドを実行すると、CLI が表示されます。sam deploy --guidedでは、コマンドラインでパラメータを指定したり、既存の設定ファイルのエントリを指定したりできます。

これらのプロンプトの規則は次のとおりです。

  • コマンドラインで値を指定すると、AWS SAMCLI では、対応するプロンプトのデフォルトとして、これらのコマンドライン値が使用されます。

  • 既存の設定ファイルがある場合、AWS SAMCLI は、対応するプロンプトのデフォルト値として、そのファイル内の一致するテーブルのエントリを使用します。

コマンドラインと設定ファイルの間の優先順位ルールは、優先順位このトピックの前半のセクション「」を参照してください。