Regions-ID
REGION_ID
ist ein abgekürzter Code, den Google anhand der Region zuweist, die Sie beim Erstellen Ihrer Anwendung ausgewählt haben. Der Code bezieht sich nicht auf ein Land oder eine Provinz, auch wenn einige Regions-IDs häufig verwendeten Länder- und Provinzcodes ähneln können. Bei Anwendungen, die nach Februar 2020 erstellt wurden, ist REGION_ID.r
in den App Engine-URLs enthalten. Bei Anwendungen, die vor diesem Datum erstellt wurden, ist die Regions-ID in der URL optional.
Mit dispatch.yaml
können Sie Weiterleitungsregeln überschreiben.
Sie können dispatch.yaml
verwenden, um eingehende Anfragen basierend auf dem Pfad oder Hostnamen in der URL an einen bestimmten Dienst (ehemals Module) zu senden.
Weitere Informationen finden Sie unter Anfragenrouting.
Eine Anwendung kann nur eine dispatch.yaml
-Datei haben und die Routingregeln in dieser Datei gelten für alle Dienste und Versionen der Anwendung.
Die Routingregeln gelten auch für URLs, die in einer Cron-Datei oder einer Konfiguration der Aufgabenwarteschlange verwendet werden.
Weiterleitungsdatei bereitstellen
Die Datei dispatch.yaml
sollte sich im root
-Verzeichnis oder im Verzeichnis befinden, das den Standarddienst definiert.
Überprüfen Sie vor dem Bereitstellen der Weiterleitungsdatei, ob alle in der Datei definierten Dienste schon in App Engine bereitgestellt wurden. Führen Sie zum Bereitstellen der Datei dispatch.yaml
den Befehl gcloud app deploy
aus dem Verzeichnis aus, das dispatch.yaml
enthält:
gcloud app deploy dispatch.yaml
Weitere Informationen zu den Bereitstellungsbefehlen finden Sie unter PHP 5-Anwendung bereitstellen.
Syntax
Das Stammelement in der Datei dispatch.yaml
ist dispatch:
und enthält eine Liste von Routingdefinitionen, die durch die folgenden Unterelemente angegeben werden.
Die Regeln, die Sie in der Weiterleitungsdatei festlegen, müssen HTTP-URL-Muster verwenden, die das Trennzeichen ".
" zum Trennen von Subdomains enthalten. URLs, die mit der HTTPS-Notation "-dot-
" definiert sind, werden nicht unterstützt.
Weiterleitungsregeln sind von der Reihenfolge abhängig. Außerdem wird nur die erste Regel angewendet, bei der eine Übereinstimmung mit einer URL besteht.
Element | Beschreibung |
---|---|
service |
Gibt den Namen des Dienstes an, der die Anfragen verarbeitet, die dem Muster |
url |
Im Element Tipp: Sie können glob-Muster wie das Platzhalterzeichen URL-Muster, das den Hostnamen und den URL-Pfad enthalten kann. Zum Vergleichen von Mustern können Glob-Zeichen verwendet werden. Glob-Zeichen sind nur am Anfang und am Ende des Musters zulässig. URL-Pfade, die mit |
Beispiel
Das folgende Beispiel zeigt eine Weiterleitungsdatei, die Anfragen an https://simple-sample.uc.r.appspot.com
und Anfragen wie https://simple-sample.uc.r.appspot.com/favicon.ico
an den Dienst default
weiterleitet. Der gesamte statische Content wird über den Dienst default
bereitgestellt. Mobile Anfragen wie https://simple-sample.uc.r.appspot.com/mobile/
werden an ein mobiles Front-End weitergeleitet und Worker-Anfragen wie https://simple-sample.uc.r.appspot.com/work/
werden an ein statisches Back-End weitergeleitet.
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.uc.r.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
Wenn Sie allgemeine Routingregeln bevorzugen, die vielen möglichen Anfragen entsprechen, können Sie Regeln mit größeren Gültigkeitsbereichen definieren. Beispiel:
# Send any path that begins with “simple-sample.uc.r.appspot.com/mobile” to the mobile-frontend service.
- url: "simple-sample.uc.r.appspot.com/mobile*"
service: mobile-frontend
# Send any domain/sub-domain with a path that starts with “work” to the static backend service.
- url: "*/work*"
service: static-backend
Sie können auch Ausdrücke festlegen, die eingeschränkter sind:
# Matches the path "/fun", but not "/fun2" or "/fun/other"
- url: "*/fun"
service: mobile-frontend
# Matches the hostname 'customer1.myapp.com', but not '1.customer1.myapp.com.
- url: "customer1.myapp.com/*"
service: static-backend
Einschränkungen
Die Weiterleitungsdatei kann bis zu 20 Routingregeln enthalten. Bei Angabe des URL-Strings darf sowohl der Hostname als auch der Pfad höchstens 100 Zeichen lang sein.
Alle Weiterleitungsregeln löschen
So löschen Sie alle Weiterleitungsregeln:
Bearbeiten Sie den Inhalt der Datei
dispatch.yaml
so:dispatch: []
Stellen Sie die Datei
dispatch.yaml
in App Engine bereit.