我在服务器上运行了两个项目。我将AWS_SECRET存储在env。
中我在〜/ .bash_profile中设置了这些env。如何确保一个项目获得正确的密钥?我可以只在项目范围内设置env吗?
感谢。
答案 0 :(得分:1)
具体来说,对于AWS CLI(aws
),您可以使用" profiles",您可以使用--profile
参数进行选择。例如,在~/.aws/credentials
:
[default]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
[user2]
aws_access_key_id=AKIAI44QH8DHBEXAMPLE
aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY
然后使用aws --profile user2
选择非默认配置文件作为一次性,或者在shell中设置环境变量AWS_DEFAULT_PROFILE=user2
以使其永久化。这可能比直接设置AWS_SECRET
更容易,因为配置文件名称实际上是您可以记住的东西:)
除凭据外,个人资料还允许您切换其他设置,例如region
。
答案 1 :(得分:0)
您可以做的事情是在运行时设置环境变量。
示例:
$ AWS_SECRET="Secret1" run_server1 arg1 arg2 arg3
$ AWS_SECRET="Secret2" run_server2 arg1 arg2 arg3
答案 2 :(得分:0)
Autoenv是为此目的而构建的:
pip install autoenv
echo 'AWS_SECRET="Secret1"' > ./project1/.env
echo 'AWS_SECRET="Secret2"' > ./project2/.env