我有兩個項目在服務器上運行。我在ENV中存儲AWS_SECRET。如何針對不同的項目使用不同的env?
我將這些env設置在我的〜/ .bash_profile中。我如何確保一個項目獲得正確的密鑰?我可以只在項目範圍內設置env嗎?
謝謝。
我有兩個項目在服務器上運行。我在ENV中存儲AWS_SECRET。如何針對不同的項目使用不同的env?
我將這些env設置在我的〜/ .bash_profile中。我如何確保一個項目獲得正確的密鑰?我可以只在項目範圍內設置env嗎?
謝謝。
你可以做的事情是在運行時設置環境變量。
實施例:
$ AWS_SECRET="Secret1" run_server1 arg1 arg2 arg3
$ AWS_SECRET="Secret2" run_server2 arg1 arg2 arg3
Autoenv是專爲這個此確切目的:
pip install autoenv
echo 'AWS_SECRET="Secret1"' > ./project1/.env
echo 'AWS_SECRET="Secret2"' > ./project2/.env
對於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
選擇非默認的配置文件作爲一次性的,或者設置環境變量AWS_DEFAULT_PROFILE=user2
在你的shell,使其永久化。這可能比直接設置AWS_SECRET
更容易,因爲配置文件名稱實際上是您可以記住的東西:)
除了憑據,配置文件還允許您切換其他設置,如region
。
然而,這很好,除AWS之外還有其他密鑰 – moeseth