yos*_*ssi 9 python web-services amazon-s3 boto amazon-web-services
我正在使用python和boto
这是我的代码:
key = bucket.get_key(key_name)
if not key:
    print 'error, key does not exist'
    return
data = key.get_contents_as_string()
有时(随机出现)我得到这个例外:
S3ResponseError:S3ResponseError:404 Not Found
注意:文件由一台服务器上传,然后立即另一台服务器(位于不同的大陆)运行上面的代码.
追溯:
回溯(最近一次调用最后一次):文件"/test.py",第222行,在_process_response中
data = key.get_contents_as_string()文件"/usr/lib/python2.6/site-packages/boto-2.1.1-py2.6.egg/boto/s3/key.py",
第1201行,在get_contents_as_string中,response_headers = response_headers)文件"/usr/lib/python2.6/site-packages/boto-2.1.1-py2.6.egg/boto/s3/key.py",
第1093行,在get_contents_to_file中response_headers = response_headers)文件"/usr/lib/python2.6/site-packages/boto-2.1.1-py2.6.egg/boto/s3/key.py",
第996行,在get_file中override_num_retries = override_num_retries)文件"/usr/lib/python2.6/site-packages/boto-2.1.1-py2.6.egg/boto/s3/key.py",
第211行,打开override_num_retries = override_num_retries)文件"/usr/lib/python2.6/site-packages/boto-2.1.1-py2.6.egg/boto/s3/key.py",
第165行,在open_read self.resp.reason,body中)S3ResponseError:S3ResponseError:404 Not Found
__CODE__指定的密钥不存在.key_nameidhost_id
所以我得到了钥匙,但是当我尝试从中读取时,我得到了"找不到".任何的想法 ?
小智 8
根据Amazon S3开发人员指南,这是预期的行为:
...但是,有关更改的信息可能无法立即在Amazon S3上复制,您可能会发现以下行为:进程将新对象写入Amazon S3并立即尝试读取它.在完全传播更改之前,Amazon S3可能会报告"密钥不存在".
| 归档时间: | 
 | 
| 查看次数: | 7428 次 | 
| 最近记录: |