ID de la région
Le REGION_ID
est un code abrégé que Google attribue en fonction de la région que vous sélectionnez lors de la création de votre application. Le code ne correspond pas à un pays ou une province, même si certains ID de région peuvent ressembler aux codes de pays et de province couramment utilisés. Pour les applications créées après février 2020, REGION_ID.r
est inclus dans les URL App Engine. Pour les applications existantes créées avant cette date, l'ID de région est facultatif dans l'URL.
En savoir plus sur les ID de région
Le fichier dispatch.yaml
vous permet d'ignorer les règles de routage.
Vous pouvez utiliser le fichier dispatch.yaml
pour envoyer des requêtes entrantes vers un service spécifique (anciennement appelé "module") en fonction du chemin d'accès ou du nom d'hôte indiqué dans l'URL.
Pour en savoir plus, consultez la page Mode de routage des requêtes.
Une application ne peut contenir qu'un seul fichier dispatch.yaml
. Les règles de routage de ce fichier s'appliquent à l'ensemble des services et versions de l'application.
Les règles de routage s'appliquent également aux URL utilisées dans un fichier Cron ou une configuration de file d'attente de tâches.
Déployer le fichier de distribution
Le fichier dispatch.yaml
doit se trouver dans le répertoire root
ou dans le répertoire qui définit le service par défaut.
Avant de déployer votre fichier de distribution, vous devez vous assurer que tous les services définis dans ce fichier ont déjà été déployés sur App Engine. Pour déployer le fichier dispatch.yaml
, exécutez la commande gcloud app deploy
à partir du répertoire contenant le dispatch.yaml
:
gcloud app deploy dispatch.yaml
Syntaxe
L'élément racine du fichier dispatch.yaml
est dispatch:
. Il contient une liste de définitions de routage spécifiées par les sous-éléments suivants.
Les règles que vous définissez dans le fichier de distribution doivent utiliser des formats d'URL HTTP incluant la notation ".
" pour séparer les sous-domaines. Les URL définies avec la notation HTTPS "-dot-
" ne sont pas acceptées.
Les règles de distribution dépendent de l'ordre, et seule la première règle qui correspond à une URL est appliquée.
Élément | Description |
---|---|
service |
Spécifie le nom du service qui gérera les requêtes correspondant au format |
url |
Dans l'élément Astuce : Vous pouvez inclure des schémas glob dans l'élément Un format d'URL pouvant inclure le nom d'hôte et le chemin d'URL. Les caractères glob peuvent être utilisés pour correspondre aux formats. Ces caractères ne peuvent être spécifiés qu'avant et après le format. Les chemins d'URL commençant par |
Exemple
Voici un exemple de fichier de distribution qui achemine les requêtes vers https://simple-sample.uc.r.appspot.com
, et les requêtes telles que https://simple-sample.uc.r.appspot.com/favicon.ico
vers le service default
. L'ensemble du contenu statique est distribué par le service default
. Les requêtes mobiles, telles que https://simple-sample.uc.r.appspot.com/mobile/
, sont acheminées vers une interface mobile, et les requêtes de nœud de calcul, telles que https://simple-sample.uc.r.appspot.com/work/
, sont acheminées vers un backend statique.
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
Si vous préférez utiliser des règles de routage générales correspondant à de nombreuses requêtes, vous pouvez définir des règles dont le champ d'application est plus étendu. Exemple :
# 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
Vous pouvez également écrire des expressions plus strictes :
# 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
Limites
Le fichier de distribution peut contenir jusqu'à 20 règles de routage. Lorsque vous spécifiez la chaîne d'URL, ni le nom d'hôte, ni le chemin d'accès ne peuvent comporter plus de 100 caractères.
Supprimer toutes les règles de distribution
Pour supprimer toutes les règles de distribution, procédez comme suit :
Remplacez le contenu du fichier
dispatch.yaml
par ce qui suit :dispatch: []
Déployez le fichier
dispatch.yaml
sur App Engine.