翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS SAM CLI の設定
AWS SAM の利点の 1 つは、反復タスクを削除することで開発者の時間を最適化することです。AWS SAM CLI には、この目的のために samconfig
という名前の設定ファイルが含まれています。デフォルトでは AWS SAM CLI に対する設定は必要ありませんが、ご自分の設定ファイルを更新し、その中でカスタマイズしたパラメータを AWS SAM が参照できるようにすることで、より少ないパラメータでのコマンドの実行が可能になります。次の表にある例では、コマンドを最適化する方法を示しています。
元 |
|
---|---|
sam build --cached --parallel --use-containers |
sam build |
sam local invoke --env-vars locals.json |
sam local invoke |
sam local start-api --env-vars locals.json --warm-containers EAGER |
sam local start-api |
AWS SAM CLI には、デベロッパーがサーバーレスアプリケーションを作成、開発、デプロイするのに役立つ、一連のコマンドが用意されています。これらの各コマンドには、オプションのフラグを使用して、アプリケーションとデベロッパーの好みに基づいた設定が可能です。詳細については、GitHub の AWS SAM CLI のコンテンツ
このセクションのトピックでは、作成した AWS SAM CLI 設定ファイル のデフォルト設定をカスタマイズして、サーバーレスアプリケーションの開発時間を最適化する方法について説明しています。
設定ファイルを作成する方法 (samconfig
ファイル)
AWS SAM CLI 設定ファイル (ファイル名 samconfig
) はテキストファイルであり、通常は TOML 構造を使用しますが YAML でも使用できます。AWS クイックスタートテンプレートを使用する場合、sam init コマンドの実行時にこのファイルが作成されます。sam deploy -\-guided コマンドを使用してアプリケーションをデプロイする際、このファイルを更新することができます。
デプロイの完了後、デフォルト値を使用しているのであれば、samconfig
ファイルには default
という名前のプロファイルが含まれています。deploy コマンドを再実行すると、AWS SAM はこのプロファイルから、保存された設定を適用します。
samconfig
ファイルの利点は、デプロイコマンドに加えて使用可能な他のコマンドの設定を、AWS SAM が保存することです。新しいデプロイで作成されたこれらの値以外にも、ユーザーが設定できるいくつかの属性が samconfig
ファイル内にあり、これにより AWS SAM CLI を使用して開発者ワークフローの他の側面を簡素化できます。
プロジェクト設定を構成する
AWS SAM CLI で使用する設定ファイルで、AWS SAM CLI コマンドのパラメータ値など、プロジェクト固有の設定を指定できます。この設定ファイルの詳細については、「AWS SAM CLI 設定ファイル」を参照してください。
設定ファイルの使用
設定ファイルは、環境、コマンド、およびパラメータ値で構成されます。詳細については、「設定ファイルの基本」を参照してください。
新しい環境を設定するには
-
設定ファイルに新しい環境を指定します。
以下に、新しい
prod
環境を指定する例を示します。 -
設定ファイルの parameters セクションで、パラメーター値をキーと値のペアとして指定します。
以下に、
prod
環境のアプリケーションのスタック名を指定する例を示します。 -
--config-env
オプションを使用して、使用する環境を指定します。以下に例を示します。
$
sam deploy --config-env "prod"
パラメータ値を設定するには
-
パラメータ値を設定したい AWS SAM CLI コマンドを指定します。すべての AWS SAM CLI コマンドのパラメータ値を設定するには、
global
識別子を使用します。以下に、
default
環境のsam deploy
コマンドにパラメーター値を指定する例を示します。以下に、
default
環境のすべての 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
詳細については、「設定ファイルの作成と変更」を参照してください。
例
基本的な TOML の例
以下は 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
基本的な YAML の例
以下は samconfig.yaml
設定ファイルの例です。
version 0.1 default: global: parameters: stack_name: sam-app build: parameters: cached: true parallel: true deploy: parameters: capabilities: CAPABILITY_IAM confirm_changeset: true resolve_s3: true sync: parameters: watch: true local_start_api: parameters: warm_containers: EAGER prod: sync: parameters: watch: false
認証情報と基本設定を構成する
AWS Command Line Interface (AWS CLI) を使用して、AWS 認証情報、デフォルトのリージョン名、デフォルトの出力形式などの基本設定を構成します。構成が完了すると、これらの設定を AWS SAM CLI で使用できるようになります。詳細については、「AWS Command Line Interface ユーザーガイド」の次を参照してください:
簡単な設定手順については、「ステップ 5: を使用して AWS 認証情報 AWS CLI を設定する」を参照してください。