2014-11-24 78 views
0

我已經通過環境變量導出了AWS ACCESS KEY和SECRET,有沒有辦法在boto腳本中使用這些變量,而不是將它們寫入系統中的文件? 我不想在遠程服務器上的任何文件中寫入密鑰和密鑰。如何在boto中使用系統環境變量

回答

2

如果按使用您的意思是讀取它們並將它們送入boto:您不需要那樣做。 Boto讀取它們,並且在所有通常期望aws_access_key_id=aws_secret_access_key=參數的調用中,您只需將它們全部排除在外。因此,這樣的通話將工作沒有問題:

# note that we don't pass any credentials here... 

conn = boto.ec2.connect_to_region("eu-west-1") 

只是要確保環境變量設置正確。這些都是正確的名稱使用:

AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY

更多細節在這裏: http://boto.readthedocs.org/en/latest/boto_config_tut.html#introduction

+0

感謝那些作品我嘗試過,但看起來我們有問題,當我在cron作業使用博託腳本。 – user3435964 2014-11-26 06:02:44

+0

@ user3435964 Cron不讀取環境變量,因爲它們是shell配置文件的一部分。 (它只設置了一些基本的東西,比如'HOME'')但是你可以在crontab文件的開始處設置它們。在定義日程表之前,只需將它們分配給「AWS_ACCESS_KEY_ID = ...」和「AWS_SECRET_ACCESS_KEY = ...」。 – sysconfig 2014-11-26 07:25:38

1

Boto尋找環境變量AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY,如果它們存在於環境中,它將使用它們。

相關問題