Конечная точка облака Google: при переходе с версии v1 на версию v2 выдается сообщение об ошибке - PullRequest
0 голосов
/ 01 июля 2018

Мы переносим конечную точку облака Google v1 в v2, используя следующий документ Google.

https://cloud.google.com/endpoints/docs/frameworks/python/migrating

После развертывания перенесенной версии появляется ошибка ниже.

"RuntimeError: тасклет не должен давать простого значения"

Вот полный возврат.

Traceback (most recent call last):
  File "/base/alloc/tmpfs/dynamic_runtimes/python27g/7894e0c59273b2b7/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 267, in Handle
    result = handler(dict(self._environ), self._StartResponse)
  File "/base/alloc/tmpfs/dynamic_runtimes/python27g/7894e0c59273b2b7/python27/python27_lib/versions/1/google/appengine/ext/ndb/tasklets.py", line 1108, in add_context_wrapper
    return synctaskletfunc(*args, **kwds)
  File "/base/alloc/tmpfs/dynamic_runtimes/python27g/7894e0c59273b2b7/python27/python27_lib/versions/1/google/appengine/ext/ndb/tasklets.py", line 1087, in synctasklet_wrapper
    return taskletfunc(*args, **kwds).get_result()
  File "/base/alloc/tmpfs/dynamic_runtimes/python27g/7894e0c59273b2b7/python27/python27_lib/versions/1/google/appengine/ext/ndb/tasklets.py", line 383, in get_result
    self.check_success()
  File "/base/alloc/tmpfs/dynamic_runtimes/python27g/7894e0c59273b2b7/python27/python27_lib/versions/1/google/appengine/ext/ndb/tasklets.py", line 378, in check_success
    self.wait()
  File "/base/alloc/tmpfs/dynamic_runtimes/python27g/7894e0c59273b2b7/python27/python27_lib/versions/1/google/appengine/ext/ndb/tasklets.py", line 362, in wait
    if not ev.run1():
  File "/base/alloc/tmpfs/dynamic_runtimes/python27g/7894e0c59273b2b7/python27/python27_lib/versions/1/google/appengine/ext/ndb/eventloop.py", line 268, in run1
    delay = self.run0()
  File "/base/alloc/tmpfs/dynamic_runtimes/python27g/7894e0c59273b2b7/python27/python27_lib/versions/1/google/appengine/ext/ndb/eventloop.py", line 230, in run0
    callback(*args, **kwds)
  File "/base/alloc/tmpfs/dynamic_runtimes/python27g/7894e0c59273b2b7/python27/python27_lib/versions/1/google/appengine/ext/ndb/tasklets.py", line 509, in _help_tasklet_along
    '%.200s yielded %.200r' % (info, value))
RuntimeError: A tasklet should not yield a plain value: initial generator __call__(endpoints_dispatcher.py:128) yielded '{\n  "auth": {\n    "oauth2": {\n      "scopes": {}\n    }\n  },\n  "basePath": "<APINAME>",\n  "baseUrl": "https://<<PROJECTNAME>>.appspot.com/<APINAME>",\n  "batchPath": "batch"

Я уже пробовал несколько вещей, например, я знаю, что некоторые попытки нелогичны, но хотя и пытались.

  • Развертывание с использованием gcloud и appcfg.py
  • Удалил все старые версии и развернул новую версию
  • Создание нового документа для обнаружения и развертывание
  • Создание службы OpenAPI json и развертывание новых служб.

Есть ли у кого-нибудь похожие проблемы, пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 02 июля 2018

Это вызвано несовместимостью библиотеки ndb со спецификацией WSGI. Вы должны сообщить об этом в службу поддержки для этой библиотеки.

...