在新的GAE 1.8.4中找不到服务“datastore_v4”的api代理

时间:2013-09-22 09:30:22

标签: google-app-engine google-cloud-datastore

我尝试在我的开发服务器上使用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"

2 个答案:

答案 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才能找到合适的版本。