Google app engine Hoe将路线设置为dispatch.yaml

Google app engine Hoe将路线设置为dispatch.yaml,google-app-engine,Google App Engine,我在应用程序引擎中有三种不同的服务。 我有3条不同的路线,每一条都应该被路由到不同的服务 api.carspecialsxxx.com 目标=>默认值(欢迎页面) api.carspecialsxxx.com/api/v1/。。。 目标=>apiv1(apiv1) api.carspecialsxxx.com/api/v2/。。。 目标=>apiv2(apiv2) 我如何在dispatch.yaml中实现这一点 dispatch: - url: "api.carspecialsxxx.

我在应用程序引擎中有三种不同的服务。 我有3条不同的路线,每一条都应该被路由到不同的服务

api.carspecialsxxx.com 目标=>默认值(欢迎页面)

api.carspecialsxxx.com/api/v1/。。。 目标=>apiv1(apiv1)

api.carspecialsxxx.com/api/v2/。。。 目标=>apiv2(apiv2)

我如何在dispatch.yaml中实现这一点

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

调度规则的顺序很重要,第一个模式匹配获胜

default
服务的模式实际上也与其他2个服务的请求相匹配,因此它获胜-所有请求都发送到
default
服务,没有一个发送到其他服务

您需要将最不特定的模式(您案例中的
默认
服务规则)放在更特定的模式之后。在你的情况下,这意味着把它放在最后


但是,由于最后一条规则的目标是
默认
服务,您可以完全忽略它-与
dispatch.yaml
文件中的任何规则模式都不匹配的请求(按照文件中的顺序进行评估)无论如何都将发送到
默认
服务。

您的域在您的项目中得到验证了吗?当您准备好文件调度yaml后,需要运行此命令#gcloud app deploy dispatch.yaml以刷新app engine中的路由