本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
正在配置 Amazon SAM CLI
的好处之一 Amazon SAM 是,它通过删除重复的任务来优化开发人员的时间。 Amazon SAM CLI 包括为此目的samconfig
而命名的配置文件。默认情况下,没有配置 Amazon SAM CLI 是必需的,但您可以更新配置文件,允许改为在配置文件中引用自定义参数, 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 SAM CLI 提供了一组命令来帮助开发人员创建、开发和部署无服务器应用程序。其中每个命令都可以根据应用程序和开发人员的偏好使用可选标志进行配置。有关更多信息,请参阅 Amazon SAM。 CLI 内容在 GitHub
本节中的主题介绍如何创建 Amazon SAM CLI 配置文件 和自定义默认设置,以优化无服务器应用程序的开发时间。
如何创建配置文件(samconfig
文件)
的 Amazon SAM CLI 配置文件(文件名samconfig
)是一个文本文件,通常使用 TOML 结构,但也可以采用 YAML。使用 Amazon 快速入门模板时,此文件是在您运行sam init命令时创建的。使用 sam deploy -\-guided 命令部署应用程序时,可以更新此文件。
部署完成后,如果使用默认值,则 samconfig
文件将包含一个名为 default
的配置文件。重新运行该deploy命令时,会 Amazon SAM 应用此配置文件中存储的配置设置。
该samconfig
文件的好处是,除了 deploy 命令之外,还可以 Amazon SAM 存储任何其他可用命令的配置设置。除了在新部署时创建的这些值外,您还可以在samconfig
文件中设置许多属性,这些属性可以简化开发人员工作流程的其他方面 Amazon SAM CLI.
配置项目设置
您可以指定特定于项目的设置,例如 Amazon SAM CLI 命令参数值,在配置文件中用于 Amazon SAM CLI。 有关此配置文件的更多信息,请参阅Amazon SAM CLI 配置文件。
使用配置文件
配置文件由环境、命令和参数值构成。有关更多信息,请参阅 配置文件基础。
配置新环境
-
在配置文件中指定新环境。
在以下示例中,指定了新的
prod
环境: -
在配置文件的参数部分将参数值指定为键值对。
在以下示例中,为
prod
环境指定了应用程序的堆栈名称。 -
使用
--config-env
选项指定要使用的环境。以下是示例:
$
sam deploy --config-env "prod"
配置参数值
-
指定 Amazon SAM CLI 你要为其配置参数值的命令。为所有人配置参数值 Amazon SAM CLI 命令,使用标
global
识符。在以下示例中,为
default
环境的sam deploy
命令指定了参数值:以下是为所有参数指定参数值的示例 Amazon SAM CLI
default
环境中的命令: -
您也可以通过指定参数值并修改配置文件 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 凭证。