[英]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平台,这依赖于环境变量HOME
和USERPROFILE
。 如果您的环境中未设置这些变量,则可能无法找到boto配置文件。
你有几个选择。 您可以确保在您的环境中将HOME
设置为存储.boto
文件的目录。 或者,您可以将环境变量BOTO_CONFIG
设置为直接指向您的配置文件,无论它位于您的文件系统上。 如果选择此选项,则应将其设置为boto配置文件的完全限定路径。
我不确定为什么直接提供凭据对你不起作用。 你能提供更多关于它失败的信息吗? 您收到错误消息了吗? 如果是这样,什么?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.