Как установить маршрут в dispatch.yaml - PullRequest
0 голосов
/ 04 февраля 2020

У меня есть три разных сервиса в App Engine. У меня есть 3 разных маршрута, каждый из которых должен быть направлен на разные сервисы.

api.carspecialsxxx.com Target => default (страница приветствия)

api.carspecialsxxx.com / api / v1 / ... Target => apiv1 (API V1)

api.carspecialsxxx.com / api / v2 / ... Target => apiv2 (API V2)

Как это реализовать в рассылку.yaml

dispatch:
     - url: "api.carspecialsxxx.com/*"
       service: default
     - url: "api.carspecialsxxx.com/api/v1/*"
       service: apiv1
     - url: "api.carspecialsxxx.com/api/v2/*"
       service: apiv2

1 Ответ

0 голосов
/ 05 февраля 2020

Порядок правил отправки имеет значение, выигрывает первый матч по шаблону.

Шаблон, который вы используете для службы default, фактически совпадает с запросами для других двух служб, поэтому он побеждает - все запросы отправляются в службу default, ни один не переходит к другой. services.

Вам необходимо указать наименьшее количество определенных c шаблонов (в вашем случае это правило для default) после , чем больше конкретных c. В вашем случае это означало бы поместить его последним.

Но поскольку целью этого последнего правила будет сервис default, вы можете полностью его исключить - запросы, которые не соответствуют ни одному шаблону правила в dispatch.yaml файл (оценивается в порядке их следования в файле) в любом случае будет отправлен в службу default.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...