如何在boto中使用系统环境变量

use*_*964 7 boto amazon-web-services

我已经通过环境变量导出了 AWS ACCESS KEY 和 SECRET,有没有办法在 boto 脚本中使用这些变量,而不是将它们写入系统上的文件?我不想将密钥和秘密写入远程服务器上的任何文件中。

sys*_*fig 10

如果使用的意思是读取它们并将它们输入到 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")
Run Code Online (Sandbox Code Playgroud)

只需确保环境变量设置正确即可。这些是正确使用的名称:

AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY

更多详细信息请参见: http://boto.readthedocs.org/en/latest/boto_config_tut.html#introduction

  • @user3435964 Cron 不读取环境变量,因为它们是 shell 配置文件的一部分。(它只设置一些基本的,例如“HOME”)不过,您可以将它们设置在 crontab 文件的开头。只需在定义计划之前为它们分配“AWS_ACCESS_KEY_ID=...”和“AWS_SECRET_ACCESS_KEY=...”即可。 (2认同)