本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
配置 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 提供了一组命令来帮助开发人员创建、开发和部署无服务器应用程序。其中每个命令都可以根据应用程序和开发人员的偏好使用可选标志进行配置。有关更多信息,请参阅 GitHub 中的 Amazon SAMCLI 内容
本节中的主题介绍如何创建 Amazon SAM CLI 配置文件 和自定义默认设置,以优化无服务器应用程序的开发时间。
如何创建配置文件(samconfig
文件)
Amazon SAM CLI 配置文件(文件名 samconfig
)是一个文本文件,通常使用 TOML 结构,但也可以采用 YAML。使用 Amazon 快速入门模板时,此文件是在您运行 sam init 命令时创建的。使用 sam deploy -\-guided 命令部署应用程序时,可以更新此文件。
部署完成后,如果使用默认值,则 samconfig
文件将包含一个名为 default
的配置文件。重新运行 deploy 命令时,Amazon SAM 会应用此配置文件中存储的配置设置。
samconfig
文件的好处是,Amazon SAM 还存储了除了 deploy 命令之外的任何其他可用命令的配置设置。除了在新部署时创建的这些值外,您还可以在 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
命令指定了参数值:在以下示例中,为
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 凭证。