2014-11-24 79 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,如果它们存在于环境中,它将使用它们。

相关问题