1

Je migre une application GAE vers des modules et j'ai des problèmes avec le routage de mon module api, basé sur Google Endpoints.Modules GAE et points de terminaison Google

Fondamentalement, toutes mes requêtes API sont acheminés vers le module par défaut, tandis que d'autres routage fonctionne bien

Ma structure de dossier est

- /gae 
-- dispatch.yaml 
-- www/ 
---- www.yaml 
---- [www module files] 
-- foo/ 
---- foo.yaml 
---- [foo module files] 
-- api/api.yaml 
---- api.yaml 
---- [foo module files] 

dispatch.yaml

application: testapp 

dispatch: 
    - url: "testapp.appspot.com/" 
    module: default 
    - url: "*/_ah/spi/*" 
    module: api 
    - url: "*/_ah/api/*" 
    module: api 
    - url: "*/foo/*" 
    module: foomodule   

Je suis déploiement avec

cd gae 
appcfg.py update www/www.yaml upload/upload.yaml api/api.yaml 
appcfg.py update_dispatch . 

Je peux voir 3 instances (une par module) en cours de déploiement.

Mais:

  • requêtes telles que http://testapp.appspot.com/xxx sont correctement acheminés vers le module/instance par défaut
  • /foo/xxx ones sont traitées par le foomodule
  • requêtes API (/_ah/spi/xxx) vont au module par défaut avec bizarrement, au démarrage de l'application, je peux voir un 200 OK pour /_ah/spi/BackendService.logMessages dans les journaux de l'instance api.

A partir des journaux, je vois aussi que:

  • Le précédent logMessage 200 OK vient de alpha-dot-api-dot-testapp.appspot.com
  • 404 pour le module api sont de testapp.appspot.com
  • Pourtant, 200 OK pour non Les modules de -default sont aussi de `` testapp.appspot.com`

Y at-il quelque chose que je fais wron g? Tout routage spécial nécessaire pour Google Endpoints lorsqu'ils sont utilisés en tant que modules?

Répondre

1

Comme je vois l'API est le module par défaut, dans le docs dire « le module par défaut doit être téléchargé d'abord » aussi vous devez mettre le paramètre « module: par défaut » dans le fichier YAML ou non inclus dans tous Essayez

appcfg.py update api/api.yaml www/www.yaml upload/upload.yaml #api first 
appcfg.py update_dispatch 
Questions connexes