我尝试在我的开发服务器上使用remote_api将数据上传到数据存储区,但是我收到了以下错误,SDK版本是1.8.4。有没有人有同样的错误?看起来新的数据存储版本4会导致这种情况吗?
Traceback (most recent call last):
File "D:\python-lib\google_appengine\appcfg.py", line 184, in <module>
run_file(__file__, globals())
File "D:\python-lib\google_appengine\appcfg.py", line 180, in run_file
execfile(script_path, globals_)
File "D:\python-lib\google_appengine\google\appengine\tools\appcfg.py", line 4
403, in <module>
main(sys.argv)
File "D:\python-lib\google_appengine\google\appengine\tools\appcfg.py", line 4
394, in main
result = AppCfgApp(argv).Run()
File "D:\python-lib\google_appengine\google\appengine\tools\appcfg.py", line 2
469, in Run
self.action(self)
File "D:\python-lib\google_appengine\google\appengine\tools\appcfg.py", line 4
103, in __call__
return method()
File "D:\python-lib\google_appengine\google\appengine\tools\appcfg.py", line 3
915, in PerformUpload
run_fn(args)
File "D:\python-lib\google_appengine\google\appengine\tools\appcfg.py", line 3
806, in RunBulkloader
sys.exit(bulkloader.Run(arg_dict))
File "D:\python-lib\google_appengine\google\appengine\tools\bulkloader.py", li
ne 4419, in Run
return _PerformBulkload(arg_dict)
File "D:\python-lib\google_appengine\google\appengine\tools\bulkloader.py", li
ne 4284, in _PerformBulkload
loader.finalize()
File "D:\python-lib\google_appengine\google\appengine\ext\bulkload\bulkloader_
config.py", line 382, in finalize
self.reserve_keys(self.keys_to_reserve)
File "D:\python-lib\google_appengine\google\appengine\tools\bulkloader.py", li
ne 1228, in ReserveKeys
datastore._GetConnection()._reserve_keys(ConvertKeys(keys))
File "D:\python-lib\google_appengine\google\appengine\datastore\datastore_rpc.
py", line 1880, in _reserve_keys
self._async_reserve_keys(None, keys).get_result()
File "D:\python-lib\google_appengine\google\appengine\datastore\datastore_rpc.
py", line 838, in get_result
results = self.__rpcs[0].get_result()
File "D:\python-lib\google_appengine\google\appengine\api\apiproxy_stub_map.py
", line 612, in get_result
return self.__get_result_hook(self)
File "D:\python-lib\google_appengine\google\appengine\datastore\datastore_rpc.
py", line 1921, in __reserve_keys_hook
self.check_rpc_success(rpc)
File "D:\python-lib\google_appengine\google\appengine\datastore\datastore_rpc.
py", line 1234, in check_rpc_success
rpc.check_success()
File "D:\python-lib\google_appengine\google\appengine\api\apiproxy_stub_map.py
", line 578, in check_success
self.__rpc.CheckSuccess()
File "D:\python-lib\google_appengine\google\appengine\api\apiproxy_rpc.py", li
ne 156, in _WaitImpl
self.request, self.response)
File "D:\python-lib\google_appengine\google\appengine\ext\remote_api\remote_ap
i_stub.py", line 200, in MakeSyncCall
self._MakeRealSyncCall(service, call, request, response)
File "D:\python-lib\google_appengine\google\appengine\ext\remote_api\remote_ap
i_stub.py", line 234, in _MakeRealSyncCall
raise pickle.loads(response_pb.exception())
AssertionError: No api proxy found for service "datastore_v4"
答案 0 :(得分:0)
解决方法是使用1.8.3 SDK中的appcfg.py
(然后在出现时立即更新到1.8.5)。
答案 1 :(得分:0)
不幸的是,直到1.8.6才会有效,因为还有另一个错误(见Google app engine bulkloader opens empty file at upload)。暂时你必须回到1.8.1才能找到合适的版本。