The dispatch.yaml allows you to override the 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
example, if you wanted to route requests to the
http://simple-sample.appspot.com/mobile/ URL to a mobile front end, and serve
all your static content from the default service.
dispatch.yaml file should reside in the root directory or in the
directory that defines the default service.
Example
dispatch:
# Default module serves the typical web resources and all static resources.
- url: "*/favicon.ico"
module: default
# Default module serves simple hostname request.
- url: "simple-sample.appspot.com/"
module: default
# Send all mobile traffic to the mobile frontend.
- url: "*/mobile/*"
module: mobile-frontend
# Send all work to the one static backend.
- url: "*/work/*"
module: static-backend
Syntax
The root element in thedispatch.yaml file is <dispatch-entries> and each
entry is a <dispatch> element that contain the following elements.
.
| Element | Description |
|---|---|
module |
Specifies the name of the service that will handle the requests that
match the |
url |
A URL pattern that can include the hostname and URL path. Glob characters can be used to match patterns. The Glob characters can be specified only at the beginning of the pattern and end of the pattern. Note that dispatch rules also apply to URLs that are used in cron configuration or in task queue configuration. |
Limits
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.