Je suis en dessous de l'erreur lors de l'accès à l'API via l'explorateur '_ah/api/explorer' ou lorsque api est appelée depuis l'application.Erreur lors de l'appel api cloud cadre point de terminaison
Vous trouverez ci-dessous une partie pertinente de la mise en œuvre d'app.yaml et d'api. D'autres questions sur stackoverflow, il semble que cela pourrait arriver si la configuration de point de terminaison n'est pas déployée en utilisant la gestion de services gcloud mais l'événement après le téléchargement de gatewayv1openapi.json, je reçois une erreur similaire.
Y at-il quelque chose que je dois changer dans le code api ou app.yaml? Une autre chose est que j'ai téléchargé exactement la même base de code (la seule différence est l'autre id de projet au lieu de ixp-test dans app.yaml) à un autre vieux projet et cela fonctionne très bien. Tout projet nouvellement créé donne cette erreur.
/_ah/api/passerelle/v1/Invoke? Alt = JSON
pas de fil de programmateur, scheduler.run() sera invoqué par rapport (...) (/ base/données/home Traceback (dernier appel en dernier): Fichier "/ base/data/home/apps/s ~ /apps/s~ixp-test/20171013t215957.404774686885375478 ixp-test/20171013t215957.404774686885375478/server/lib/endpoints_management/control/client.py ", ligne 231, au démarrage self._thread.start() Fichier"/base/données/home/runtimes/python27_experiment/python27_lib/versions/1/google/appengine/api/fond_thread/background_thread.py ", lin e 108, au début start_new_background_thread (self. bootstrap ,()) Fichier "/base/data/home/runtimes/python27_experiment/python27_lib/versions/1/google/appengine/api/background_thread/background_thread.py", ligne 87, à start_new_background_thread augmentation ERROR_MAPerror.application_error FrontendsNotSupported . . . (/base/data/home/runtimes/python27_experiment/python27_lib/versions/1/google/appengine/runtime/wsgi.py:263) Traceback (dernier appel en dernier): Fichier "/ base/data/home/runtimes/python27_experiment/python27_lib/versions/1/google/appengine/runtime/wsgi.py ", ligne 240, dans Handle handler = _config_handle.add_wsgi_middleware (self._LoadHandler()) Fichier"/base/data/home/runtimes /python27_experiment/python27_lib/versions/1/google/appengine/runtime/wsgi.py ", ligne 299, dans _LoadHandler gestionnaire, chemin, err = LoadObject (self._handler) Fichier"/base/data/home/runtimes/python27_experiment/python27_lib/versions/1/google/appengine/runtime/wsgi.py ", ligne 96, dans l'objet LoadObject __import (chemin cumulatif) Fichier "/base/data/home/apps/s~ixp-test/20171013t215957.404774686885375478/server/main.py", ligne 18, dans api = endpoints.api_server ([GatewayApi]) Fichier "/ base/data /home/apps/s~ixp-test/20171013t215957.404774686885375478/server/lib/endpoints/apiserving.py ", ligne 514, dans le contrôleur du contrôleur api) Fichier"/base/data/home/apps/s ~ ixp- test/20171013t215957.404774686885375478/server/lib/endpoints_management/control/wsgi.py ", ligne 126, dans add_all a_service = loader.load() Fichier"/base/données/accueil/apps/s ~ ixp-test/20171013t215957.404774686885375478/server/lib/endpoints_management/control/service.py ", ligne 111, en charge return self._load_func (** kw) Fichier"/base/données/accueil/apps/s ~ ixp-test/20171013t215957.404774686885375478/server/lib/endpoints_management/con fig/service_config.py ", ligne 79, dans fetch_service_config _log_and_raise (Exception, message_template.format (code_tat)) Fichier"/base/data/home/apps/s ~ ixp-test/20171013t215957.404774686885375478/server/lib/endpoints_management/config/service_config.py », ligne 127, en _log_and_raise augmentation exception_class (message) Exception: récupérer config de service a échoué (code d'état 403)
est inférieure à la configuration pertinente
app.yaml
runtime: python27
api_version: 1
threadsafe: false
automatic_scaling:
max_idle_instances: 0
env_variables:
ENDPOINTS_SERVICE_NAME: ixp-test.appspot.com
ENDPOINTS_SERVICE_VERSION: 2017-08-13r0
API
@endpoints.api(name='gateway', version='v1')
class GatewayApi(remote.Service):
@endpoints.method(
GatewayRequest,
GatewayResponse,
path='invoke',
http_method='POST',
name='invoke')
def invoke(self, request):
pass
@endpoints.method(
GatewayRequest,
GatewayResponse,
path='invokeSecure',
http_method='POST',
name='invokeSecure',
scopes=[endpoints.EMAIL_SCOPE])
def invoke_secure(self, request):
pass
Oui, ils font partie. – rizTaak