繁体   English   中英

在Windows上使用Python的Boto凭据错误

[英]Boto Credential Error with Python on Windows

我一直在努力尝试在最近几个小时通过python登录Boto,似乎无法解决问题。 Python不断返回错误:

    No handler was ready to authenticate. 1 handlers were checked. ['HmacAuthV1Handler']
    Check your Credentials

根据记录器:

    boto.set_stream_logger('boto')

问题是:“[DEBUG]:从元数据服务器检索凭据。” 这必定意味着找不到我的凭证文件,虽然我不确定将我的文件“mycreds.boto”放在我的访问和安全密钥的确切位置,但我已将其复制到我的site-packages中的boto目录中的多个位置。 我已经进行了广泛的搜索,并且不确定将文件放在何处。 鉴于以下事实:

      s3 = boto.connect_s3() 

如果它不在“正确”的位置,我不确定如何指定我的文件“mycreds.boto”的路径。 看到如何移动文件不起作用我创建了一个环境变量“BOTO_CONFIG”,其值等于“boto.config”文件的路径,该文件存储与我的“mycreds.boto”文件相同的凭据。 遗憾的是,这并没有解决任何问题。 最后我尝试使用此代码登录:

      s3 = boto.connect_s3(<aws access>, <aws secret key>)

这从记录器返回以下内容:“[DEBUG]:使用客户端提供的访问密钥。” 和“[DEBUG]:使用客户提供的密钥。” 它没有返回任何其他错误,但当我尝试在线访问我的桶时,我无法连接。 我已经尝试多次重启我的命令窗口和计算机,我不知道还有什么可以尝试。 我基本上没有想法,所以任何帮助将不胜感激。 我正在运行Windows 7和Python 2.7.7。

默认情况下,boto在/etc/boto.cfg~/.boto查找凭据。 它使用os.path.expanduser尝试将~/.boto扩展到系统上的相应路径。 对于Windows平台,这依赖于环境变量HOMEUSERPROFILE 如果您的环境中未设置这些变量,则可能无法找到boto配置文件。

你有几个选择。 您可以确保在您的环境中将HOME设置为存储.boto文件的目录。 或者,您可以将环境变量BOTO_CONFIG设置为直接指向您的配置文件,无论它位于您的文件系统上。 如果选择此选项,则应将其设置为boto配置文件的完全限定路径。

我不确定为什么直接提供凭据对你不起作用。 你能提供更多关于它失败的信息吗? 您收到错误消息了吗? 如果是这样,什么?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM