如何让AWS SAM deploy使用指定的aws profile?
SAM指定AWS Profile部署的三种配置方式
1. 单次部署临时指定(最常用,不影响其他配置)
直接在执行sam deploy命令时加--profile参数指定你的profile名称即可,命令格式如下:
sam deploy --profile <你的profile名称>
这种方式优先级最高,会覆盖其他所有配置的profile,已经配置好角色假定规则的profile会自动生效,不需要额外加其他参数。
2. 项目级持久化配置(仅对当前SAM项目生效)
可以在项目根目录的samconfig.toml文件中添加profile配置,避免每次执行命令都手动输入参数:
- 找到对应部署环境的配置块(默认是
default.deploy.parameters),添加profile = "<你的profile名称>"配置即可,示例:
version = 0.1 [default.deploy.parameters] stack_name = "your-stack-name" s3_bucket = "your-deploy-bucket" region = "cn-north-1" profile = "your-profile-name"
配置完成后直接执行sam deploy就会自动用指定的profile部署。
3. 全局默认配置(对所有SAM项目生效)
如果要让所有SAM部署默认都用该profile,可以配置系统环境变量AWS_PROFILE,对应值设为你的profile名称即可:
- Linux/Mac终端临时生效:
export AWS_PROFILE=<你的profile名称> - Windows Powershell临时生效:
$env:AWS_PROFILE="<你的profile名称>"
如果要持久化生效,把对应环境变量配置写入终端的配置文件(比如.bashrc/.zshrc)或者系统环境变量列表即可。
注意:三种配置的优先级从高到低为:命令行--profile参数 > samconfig.toml配置 > AWS_PROFILE环境变量
内容的提问来源于stack exchange,提问作者Andy N
相关产品推荐
相关产品推荐

