Unable to read instance data, giving up error in python boto

时光总嘲笑我的痴心妄想 提交于 2019-12-22 04:00:54

问题


I am trying to access amazon s3 using boto library to access common crawl data availble in amazon 'aws-publicdatasets'.

i created access config file in ~/.boto

[Credentials]
aws_access_key_id = "my key"
aws_secret_access_key = "my_secret"

and while creating connection with amazon s3 i see below error in logs.

2014-01-23 16:28:16,318 boto [DEBUG]:Retrieving credentials from metadata server.
2014-01-23 16:28:17,321 boto [ERROR]:Caught exception reading instance data
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/boto-2.13.3-py2.6.egg/boto/utils.py", line 211, in retry_url
    r = opener.open(req)
  File "/usr/lib64/python2.6/urllib2.py", line 391, in open
    response = self._open(req, data)
  File "/usr/lib64/python2.6/urllib2.py", line 409, in _open
    '_open', req)
  File "/usr/lib64/python2.6/urllib2.py", line 369, in _call_chain
    result = func(*args)
  File "/usr/lib64/python2.6/urllib2.py", line 1190, in http_open
    return self.do_open(httplib.HTTPConnection, req)
  File "/usr/lib64/python2.6/urllib2.py", line 1165, in do_open
    raise URLError(err)
URLError: <urlopen error timed out>
2014-01-23 16:28:17,323 boto [ERROR]:Unable to read instance data, giving up

In other way I tried to give credentials while creating connection object also as shown below

from boto.s3.connection import S3Connection
from boto.s3.bucket import Bucket
boto.set_stream_logger('boto')
connection = S3Connection('______','__________')    
bucket = Bucket(connection.get_bucket('aws-publicdatasets'))

Still i am seeing the same error in logs


回答1:


I had the same error when using a .boto file in the same folder as the script. It has to be on the base of the home folder.




回答2:


You can try the following, its work for me


from boto.api import env
env.aws_access_key_id = boto.config.get("Credentials", "aws_access_key_id")
env.aws_secret_access_key = boto.config.get("Credentials", "aws_secret_access_key")



回答3:


I think that's the same issue as #1054.

You can add the code below at your settings.py to disable S3 handler:

DOWNLOAD_HANDLERS: {'s3': None}

That works for me.



来源:https://stackoverflow.com/questions/21306747/unable-to-read-instance-data-giving-up-error-in-python-boto

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!