翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS SAM CLI の設定
の利点の 1 AWS SAM つは、反復的なタスクを削除して開発者の時間を最適化することです。 には、samconfig
この目的のために という名前の設定ファイル AWS SAMCLIが含まれています。デフォルトでは、 への設定 AWS SAMCLIは必要ありませんが、設定ファイルでカスタマイズしたパラメータ 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 SAMCLI には、デベロッパーがサーバーレスアプリケーションを作成、開発、デプロイするのに役立つ一連のコマンドが用意されています。これらの各コマンドは、アプリケーションとデベロッパーの設定に基づいてオプションのフラグで設定できます。詳細については、「」のAWS SAMCLIコンテンツを参照してください。 GitHub
このセクションのトピックでは、サーバーレスアプリケーションの開発時間を最適化するために AWS SAM CLI 設定ファイル を作成し、デフォルト設定をカスタマイズする方法を示します。
設定ファイル ( samconfig
ファイル) を作成する方法
AWS SAMCLI 設定ファイル (ファイル名 samconfig
) は、通常 TOML 構造を使用するテキストファイルですが、YAML でも使用できます。 AWS クイックスタートテンプレートを使用する場合、このファイルは sam init コマンドの実行時に作成されます。sam deploy -\-guided コマンドを使用してアプリケーションをデプロイするときに、このファイルを更新できます。
デプロイが完了すると、デフォルト値を使用したdefault
場合、samconfig
ファイルには という名前のプロファイルが含まれます。deploy コマンドを再実行すると、 はこのプロファイルに保存されている構成設定 AWS SAM を適用します。
samconfig
ファイルの利点は、 が deploy コマンドに加えて使用可能な他のコマンドの設定 AWS SAM を保存することです。新しいデプロイで作成されたこれらの値以外にも、 samconfig
ファイルで設定できる属性が多数あり、 AWS SAMを使用して開発者ワークフローの他の側面を簡素化できますCLI。
プロジェクト設定を構成する
で使用する設定ファイルで、 AWS SAMCLIコマンドパラメータ値などのプロジェクト固有の設定を指定できます AWS SAMCLI。この設定ファイルの詳細については、「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 CLI を使用して AWS 認証情報を設定する」を参照してください。