【问题标题】:how to use system environment variables in boto如何在boto中使用系统环境变量
【发布时间】:2014-11-24 21:49:16
【问题描述】:

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

【问题讨论】:

    标签: amazon-web-services boto


    【解决方案1】:

    如果 use 你的意思是阅读它们并将它们输入 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_ID, AWS_SECRET_ACCESS_KEY

    更多细节在这里: http://boto.readthedocs.org/en/latest/boto_config_tut.html#introduction

    【讨论】:

    • 谢谢,我试过了,但是当我在 cron 作业中使用 boto 脚本时,我们似乎遇到了问题。
    • @user3435964 Cron 不读取环境变量,因为它们是 shell 配置文件的一部分。 (它只设置了一些基本的,比如HOME)不过,您可以在 crontab 文件的开头设置它们。只需在定义时间表之前为它们分配AWS_ACCESS_KEY_ID=...AWS_SECRET_ACCESS_KEY=...
    【解决方案2】:

    Boto 会查找环境变量 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY,如果它们存在于环境中,它将使用它们。

    【讨论】:

      猜你喜欢
      • 2014-04-13
      • 2014-06-07
      • 2014-11-10
      • 1970-01-01
      • 2020-05-29
      • 1970-01-01
      • 2017-01-18
      • 2018-12-15
      • 2015-08-20
      相关资源
      最近更新 更多