0
我有一个简单的AppEngine处理程序如下:“ExistenceError”在简单的AppEngine +谷歌云存储应用
class TestGS(webapp2.RequestHandler):
def get(self):
file_name = '/gs/ds_stats/testfile'
files.gs.create(file_name, mime_type='text/html')
with files.open(file_name, 'a') as file_handle:
file_handle.write("foo")
files.finalize(file_name)
然而,当我把这个处理程序,我在该行with files.open(...
得到ExistenceError: ApplicationError: 105
。
这似乎是一个超级简单的场景,并没有任何迹象表明,为什么这是失败的(特别是因为files.gs.create
右上方它似乎已经成功,但是,有什么方法可以验证这一点?)。
翻翻source code,我看到了下面的问题可能导致此错误:
if (e.application_error in
[file_service_pb.FileServiceErrors.EXISTENCE_ERROR,
file_service_pb.FileServiceErrors.EXISTENCE_ERROR_METADATA_NOT_FOUND,
file_service_pb.FileServiceErrors.EXISTENCE_ERROR_METADATA_FOUND,
file_service_pb.FileServiceErrors.EXISTENCE_ERROR_SHARDING_MISMATCH,
file_service_pb.FileServiceErrors.EXISTENCE_ERROR_OBJECT_NOT_FOUND,
file_service_pb.FileServiceErrors.EXISTENCE_ERROR_BUCKET_NOT_FOUND,
]):
raise ExistenceError()
这是一个相当大的一系列问题......当然它并没有告诉我哪一个!再次,奇怪的是,“创造”似乎有效。