本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
配置 Amazon SAM CLI
为 Amazon Serverless Application Model 命令行界面 (Amazon SAM CLI) 配置凭证、基本设置和项目设置。
配置凭证和基本设置
使用 Amazon Command Line Interface (Amazon CLI) 配置基本设置,例如 Amazon 凭证、默认区域名称和默认输出格式。配置完成后,您可以将这些设置与 Amazon SAM CLI 结合使用。要了解更多信息,请参阅《Amazon Command Line Interface 用户指南》中的以下主题:
有关快速设置说明,请参阅步骤 5: Amazon CLI 使用配置 Amazon 凭证。
配置项目设置
您可以在配置文件中指定项目特定的设置(例如 Amazon SAM CLI 命令参数值),以便与 Amazon SAM CLI 结合使用。有关此配置文件的更多信息,请参阅Amazon SAMCLI 配置文件。
使用配置文件
配置文件由环境、命令和参数值构成。有关更多信息,请参阅 配置文件基础。
配置新环境
-
在配置文件中指定新环境。
在以下示例中,指定了新的
prod
环境: -
在配置文件的参数部分将参数值指定为键值对。
在以下示例中,为
prod
环境指定了应用程序的堆栈名称。 -
使用
--config-env
选项指定要使用的环境。以下是 示例:
$
sam deploy --config-env "prod"
配置参数值
-
指定要为其配置参数值的 Amazon SAM CLI 命令。要为所有 Amazon SAM CLI 命令配置参数值,请使用
global
标识符。在以下示例中,为
default
环境的sam deploy
命令指定了参数值:在以下示例中,为
default
环境中的所有 Amazon SAM CLI 命令指定了参数值: -
您还可以通过 Amazon 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