翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS SAM CLI 設定ファイル
AWS Serverless Application Model コマンドラインインターフェイス (AWS SAM CLI) は、設定に使用できるプロジェクトレベルの設定ファイルをサポートします。 AWS SAM CLI コマンドパラメータ値。
設定ファイルの作成と使用に関するドキュメントについては、「AWS SAM CLI の設定」を参照してください。
デフォルトの設定ファイルの設定
AWS SAM では、次のデフォルト設定ファイル設定が使用されます。
-
[Name] (名前) –
samconfig
。 -
場所 — プロジェクトのルートにあります。これは
template.yaml
ファイルと同じ場所です。 -
形式 –
TOML
。詳細については、TOML「」の「」を参照してください。 TOML ドキュメント 。
以下に、デフォルトの設定ファイル名と場所を含むプロジェクト構成の例を示します。
sam-app ├── README.md ├── __init__.py ├── events ├── hello_world ├── samconfig.toml ├── template.yaml └── tests
samconfig.toml
ファイルの例を次に示します。
... version = 0.1 [default] [default.global] [default.global.parameters] stack_name = "sam-app" [default.build.parameters] cached = true parallel = true [default.deploy.parameters] capabilities = "CAPABILITY_IAM" confirm_changeset = true resolve_s3 = true [default.sync.parameters] watch = true [default.local_start_api.parameters] warm_containers = "EAGER" [prod] [prod.sync] [prod.sync.parameters] watch = false
サポートされている設定ファイル形式
サポートされている形式は、TOML
および [YAML|YML]
です。次の基本構文を参照してください。
TOML
version = 0.1 [
environment
] [environment
.command
] [environment
.command
.parameters]option
=parameter value
YAML
version: 0.1
environment
:command
: parameters:option
:parameter value
設定ファイルの指定
デフォルトでは、 AWS SAM CLI は、次の順序で設定ファイルを検索します。
-
カスタム設定ファイル –
--config-file
オプションを使用してファイル名と場所を指定する場合、 AWS SAM CLI は最初にこのファイルを検索します。 -
デフォルトの
samconfig.toml
ファイル — これはプロジェクトのルートにあるデフォルトの設定ファイル名と形式です。カスタム設定ファイルを指定しない場合、 AWS SAM CLI 次に、このファイルを検索します。 -
samconfig.[yaml|yml]
file – プロジェクトのルートにsamconfig.toml
が存在しない場合、 AWS SAM CLI は、このファイルを検索します。
以下に、--config-file
オプションを使用してカスタム設定ファイルを指定する例を示します。
$
sam deploy --config-file myconfig.yaml
注記
--config-file
パラメータは AWS SAM テンプレートファイルの場所を基準にする必要があります。 AWS SAM CLI は、設定が適用されるコンテキストを決定する必要があります。samconfig.toml
ファイルは、 のバージョンの設定を管理します。 AWS SAM CLI、 は、samconfig.toml
ファイルの相対フォルダ内の template.yaml
ファイル (またはオーバーライドされた設定ファイルパラメータ) CLIを検索します。
設定ファイルの基本
環境
環境とは、一意の構成設定一式を含む名前付き識別子です。1 つの AWS SAM アプリケーションに複数の環境を設定できます。
デフォルトの環境名は default
です。
を使用する AWS SAM CLI --config-env
使用する環境を指定するオプション。
Command
コマンドは です。 AWS SAM CLI パラメータ値を指定する コマンド。
すべてのコマンドについてパラメータ値を指定するには、global
識別子を使用します。
を参照する場合 AWS SAM CLI コマンド、スペース (
) とハイフン (–
) をアンダースコア () に置き換えます_
。以下の例を参照してください。
-
build
-
local_invoke
-
local_start_api
パラメータ
パラメータは、キーと値のペアとして指定されます。
-
キーは です。 AWS SAM CLI コマンドオプション名。
-
値は指定する値です。
キーを指定するときは、長い形式のコマンドオプション名を使用し、ハイフン (–
) をアンダースコア (_
) に置き換えます。次に例を示します。
-
region
-
stack_name
-
template_file
パラメータ値のルール
TOML
-
ブール値は
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"]
。
YAML
-
ブール値は
true
またはfalse
です。例えば、confirm_changeset: true
と指定します。 -
単一の文字列値を含むエントリの場合、引用符 (
""
) はオプションです。例えば、region: us-west-2
と指定します。これには、1 つの文字列として提供される複数のキーと値のペアを含むエントリも含まれます。以下に例を示します。$
sam deploy --tags "foo=bar hello=world"
default: deploy: parameters: tags: foo=bar hello=world
-
値のリストを含むエントリや、1 つのコマンドで複数回使用できるエントリの場合は、それらを文字列のリストとして指定します。
以下に例を示します。
$
sam remote invoke --parameter "InvocationType=Event" --parameter "LogType=None"
default: remote_invoke: parameter: - InvocationType=Event - LogType=None
設定の優先順位
値を設定する場合、次の優先順位が適用されます。
-
コマンドラインで指定したパラメータ値は、設定ファイルおよびテンプレートファイルの
Parameters
セクション内の対応する値よりも優先されます。 -
--parameter-overrides
オプションがコマンドラインまたは設定ファイルでparameter_overrides
キーとともに使用される場合、その値はテンプレートファイルのParameters
セクションの値よりも優先されます。 -
設定ファイルでは、特定のコマンド用に指定されたエントリがグローバルエントリより優先されます。次の例では、
sam deploy
コマンドはスタック名my-app-stack
を使用します。
設定ファイルの作成と変更
設定ファイルの作成
sam init
を使用してアプリケーションを作成すると、デフォルトの samconfig.toml
ファイルが作成されます。設定ファイルを手動で作成することもできます。
設定ファイルの変更
設定ファイルは手動で変更できます。また、 AWS SAM CLI インタラクティブフロー、設定された値は括弧 () で表示されます[ ]
。これらの値を変更すると、 AWS SAM CLI は設定ファイルを更新します。
sam deploy --guided
コマンドを使用するインタラクティブフローの例を次に示します。
$
sam deploy --guided
Configuring SAM deploy ====================== Looking for config file [samconfig.toml] : Found Reading default arguments : Success Setting default arguments for 'sam deploy' ========================================= Stack Name [sam-app]:ENTER
AWS Region [us-west-2]:ENTER
#Shows you resources changes to be deployed and require a 'Y' to initiate deploy Confirm changes before deploy [Y/n]:n
#SAM needs permission to be able to create roles to connect to the resources in your template Allow SAM CLI IAM role creation [Y/n]:ENTER
#Preserves the state of previously provisioned resources when an operation fails Disable rollback [y/N]:ENTER
HelloWorldFunction may not have authorization defined, Is this okay? [y/N]:y
Save arguments to configuration file [Y/n]:ENTER
SAM configuration file [samconfig.toml]:ENTER
SAM configuration environment [default]:ENTER
設定ファイルを変更する場合、 AWS SAM CLI は次のようにグローバル値を処理します。
-
パラメータ値が設定ファイルの
global
セクションに存在する場合、 AWS SAM CLI は、特定のコマンドセクションに値を書き込みません。 -
パラメータ値が セクション
global
と特定のコマンドセクションの両方に存在する場合、 AWS SAM CLI は、グローバル値に有利な特定のエントリを削除します。