dispatch.yaml reference

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.

The dispatch.yaml file should reside in the same directory as your Go source code.

Deploying the dispatch configuration file

To deploy the dispatch configuration file, run the following command:

gcloud

gcloud app deploy dispatch.yaml

appcfg

If you install the original App Engine SDK, you can run:

appcfg.py update_dispatch [YOUR_APP_DIR]

Deleting all dispatch rules

To delete all dispatch rules:

  1. Edit the contents of the dispatch.yaml file to:

    dispatch:
    

  2. Deploy the dispatch.yaml file to App Engine.

Example

dispatch:
  # Default service serves the typical web resources and all static resources.
  - url: "*/favicon.ico"
    service: default

  # Default service serves simple hostname request.
  - url: "simple-sample.appspot.com/"
    service: default

  # Send all mobile traffic to the mobile frontend.
  - url: "*/mobile/*"
    service: mobile-frontend

  # Send all work to the one static backend.
  - url: "*/work/*"
    service: static-backend

Syntax

The root element in the dispatch.yaml file is <dispatch-entries> and each entry is a <dispatch> element that contain the following elements. .
Element Description
service

Specifies the name of the service that will handle the requests that match the url pattern. Note that services were previously called modules.

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.

URL paths that begin with /_ah/ are not routed by the dispatch file.

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.

Send feedback about...

App Engine standard environment for Go