本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 AWS SAMCLI
的好處之一 AWS SAM 是,它透過移除重複性任務來最佳化開發人員的時間。 AWS SAMCLI包含名為 samconfig 的組態檔案。根據預設,	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 SAM GitHub 中的CLI內容
本節中的主題說明如何建立 AWS SAMCLI 組態檔案並自訂其預設設定,以最佳化無伺服器應用程式的開發時間。
如何建立您的組態檔案 ( samconfig 檔案)
		
		 AWS SAMCLI 組態檔案 (檔案名稱 samconfig) 是文字檔案,通常使用 TOML 結構,但也可以在 YAML 中。使用 AWS Quick Start 範本時,會在您執行 sam init命令時建立此檔案。您可以在使用 sam deploy -\-guided命令部署應用程式時更新此檔案。
部署完成後,default如果您使用預設值, samconfig 檔案會包含名為 的設定檔。當您重新執行deploy命令時, 會從此設定檔 AWS SAM 套用儲存的組態設定。
samconfig 檔案的優點是,除了部署命令之外, AWS SAM 還存放任何其他可用命令的組態設定。除了在新部署時建立的這些值之外,您還可以在 samconfig 檔案中設定許多屬性,以簡化開發人員工作流程的其他層面 AWS SAMCLI。
設定專案設定
您可以在組態檔案中指定專案特定的設定,例如 AWS SAMCLI命令參數值,以搭配 使用 AWS SAMCLI。如需此組態檔案的詳細資訊,請參閱 AWS SAMCLI 組態檔案。
使用組態檔案
組態檔案由環境、命令和參數值構成。如需詳細資訊,請參閱組態檔案基本概念。
設定新環境
- 
					在組態檔案中指定您的新環境。 以下是指定新 prod環境的範例:
- 
					在組態檔案的參數區段中,將參數值指定為鍵值對。 以下是為 prod環境指定應用程式堆疊名稱的範例。
- 
					使用 --config-env選項來指定要使用的環境。以下是範例: $sam deploy --config-env "prod"
設定參數值
- 
					指定您要為其設定參數值的 AWS SAMCLI命令。若要設定所有 AWS SAMCLI命令的參數值,請使用 global識別符。以下是指定 default環境sam deploy命令參數值的範例:以下是為 default環境中所有 AWS SAMCLI命令指定參數值的範例:
- 
					您也可以指定參數值,並透過 AWS SAMCLI互動式流程修改您的組態檔案。 以下是 sam deploy --guided互動式流程的範例:$sam deploy --guidedConfiguring SAM deploy ====================== Looking for config file [samconfig.toml] : Found Reading default arguments : Success Setting default arguments for 'sam deploy' ========================================= Stack Name [sam-app]:ENTERAWS 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]:ENTERHelloWorldFunction may not have authorization defined, Is this okay? [y/N]:ySave arguments to configuration file [Y/n]:ENTERSAM configuration file [samconfig.toml]:ENTERSAM 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 SAMCLI。若要進一步了解,請參閱AWS Command Line Interface 《 使用者指南》中的下列內容:
如需快速設定說明,請參閱 步驟 5:使用 AWS CLI 設定 AWS 登入資料。