-
Notifications
You must be signed in to change notification settings - Fork 64
dispatch yaml
The dispatch.yaml allows you to override routing
rules.
You can use the dispatch.yaml to send incoming requests to a specific service
(formerly known as modules) based on the path or hostname in the URL.
For more information, see How Requests are Routed.
An app can have only one dispatch.yaml file, and the routing rules in that
file apply to all of the app's services and versions. The routing rules also
apply to URLs that are used in a cron
file or a task queue
configuration.
Before you deploy your dispatch file, you must ensure that all the services
defined in that file have already been deployed to App Engine. To deploy the
dispatch.yaml file, run the gcloud app deploy command from the directory that
contains the dispatch.yaml:
gcloud app deploy dispatch.yaml
For more information about the deployment commands, see Deploying a Java App.
The root element in the dispatch.yaml file is dispatch: and contains a list
of routing definitions that are specified by the following subelements.
The rules that you define in your dispatch file must use HTTP URL patterns that
include the "." notation for separating subdomains. URLs defined with the
HTTPS "-dot-" notation are not supported.
Dispatch rules are order dependent, and only the first rule that matches a URL will be applied.
| Element | Description |
|---|---|
| `service` |
|
The following is a sample dispatch file that routes requests to
https://simple-sample.uc.r.appspot.com and requests like
https://simple-sample.uc.r.appspot.com/favicon.ico to the default service.
All static content is served from the default service. Mobile requests like
https://simple-sample.uc.r.appspot.com/mobile/ are routed to a mobile
frontend, and worker requests like
https://simple-sample.uc.r.appspot.com/work/ are routed to a static backend.
If you prefer general routing rules that match many possible requests, you can define rules with wider scopes. For example:
You can also write expressions that are more strict:
The dispatch file can contain up to 20 routing rules. When specifying the URL string, neither the hostname nor the path can be longer than 100 characters.
To delete all dispatch rules:
-
Edit the contents of the
dispatch.yamlfile to:dispatch: [] -
Deploy the
dispatch.yamlfile to App Engine.