本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
配置 Amazon SAM CLI
的好处之一 Amazon SAM 是,它通过删除重复的任务来优化开发人员的时间。 Amazon SAMCLI包括为此目的samconfig
而命名的配置文件。默认情况下,不需要对 Amazon SAMCLI进行配置,但您可以更新配置文件,允许在配置文件中引用您的自定义参数, Amazon 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 |
Amazon SAMCLI提供了一组命令来帮助开发人员创建、开发和部署无服务器应用程序。这些命令中的每一个都可根据应用程序和开发者的偏好使用可选标志进行配置。有关更多信息,请参阅中的Amazon SAMCLI内容 GitHub
本节中的主题介绍如何创建Amazon SAMCLI 配置文件和自定义其默认设置,以优化无服务器应用程序的开发时间。
如何创建配置文件(该samconfig
文件)
Amazon SAMCLI配置文件(文件名samconfig
)是一个文本文件,通常使用 TOML 结构,但也可以采用 YAML。使用 Amazon 快速入门模板时,此文件是在您运行sam init命令时创建的。使用sam deploy -\-guided命令部署应用程序时,可以更新此文件。
部署完成后,default
如果使用默认值,则该samconfig
文件将包含一个名为的配置文件。重新运行该deploy命令时,会 Amazon SAM 应用此配置文件中存储的配置设置。
该samconfig
文件的好处是,除了 deploy 命令之外,还可以 Amazon SAM 存储任何其他可用命令的配置设置。除了在新部署时创建的这些值外,您还可以在samconfig
文件中设置许多属性,这些属性可以简化开发人员工作流程的其他方面 Amazon SAMCLI。
配置项目设置
您可以在配置文件中指定项目特定的设置,例如 Amazon SAMCLI命令参数值,以便与一起使用。 Amazon SAMCLI有关此配置文件的更多信息,请参阅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
配置凭证和基本设置
使用 Amazon Command Line Interface (Amazon CLI) 配置基本设置,例如 Amazon 凭据、默认区域名称和默认输出格式。配置完成后,您可以将这些设置与 Amazon SAM CLI 结合使用。要了解更多信息,请参阅《Amazon Command Line Interface 用户指南》中的以下主题:
有关快速设置说明,请参阅步骤 5: Amazon CLI 使用配置 Amazon 凭证。