Fichier de configuration "dispatch.xml"

Le fichier dispatch.xml vous permet d'ignorer les règles de routage. Vous pouvez utiliser le fichier dispatch.xml 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.

Déployer le fichier de distribution

Le fichier dispatch.xml doit résider dans le répertoire WEB-INF du service par défaut. Pour déployer le fichier de distribution lui-même, appelez la commande appcfg update_dispatch et spécifiez le répertoire du service par défaut. Vérifiez que tous les services mentionnés dans le fichier ont déjà été déployés avant d'utiliser la commande suivante :

  • Effectuez le déploiement sans modifier la version active, en remplaçant le répertoire de l'application par le chemin d'accès au répertoire principal de votre application :

    appcfg.sh update_dispatch <application directory>
    
  • Vous pouvez également remplacer le répertoire (cd) par le répertoire de l'application contenant le service par défaut, puis exécuter la commande suivante :

    appcfg.sh update_dispatch .
    

Vous avez également la possibilité de déployer le fichier de distribution en même temps qu'un ou plusieurs services, en ajoutant l'indicateur auto_update_dispatch, qui peut être utilisé sous deux formes :

appcfg.sh --auto_update_dispatch update <app-directory>|<files...>
appcfg.sh -D update <app-directory>|<files...>

Pour en savoir plus sur les commandes de déploiement, consultez la page Déployer une application Java.

Syntaxe

L'élément racine dans le fichier dispatch.xml est <dispatch-entries>. Chaque entrée est un élément <dispatch> qui contient les éléments ci-dessous.

Les règles que vous définissez dans votre 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, qui dépendent de l'ordre, s'appliquent également aux URL que vous définissez dans le fichier Cron.

Élément Description
<module>

Spécifie le nom du service qui gérera les requêtes correspondant au format url.

url

Dans l'élément "url", vous définissez le format d'URL, qui peut inclure un nom d'hôte et un chemin d'URL ne dépassant pas 100 caractères. Pour l'élément "service", vous spécifiez le nom du service auquel vous déléguez la gestion de toute requête entrante correspondant au format d'URL de l'élément "url".

Astuce : Vous pouvez inclure des schémas glob à l'élément "url", par exemple à l'aide du caractère générique "*". Ces derniers ne peuvent être utilisés qu'avant le nom d'hôte et après le chemin d'URL.

Un format d'URL pouvant inclure le nom d'hôte et les caractères glob du chemin d'URL peut être utilisé pour faire correspondre les formats. Ces caractères ne peuvent être spécifiés qu'avant et après le format.

Sachez que les règles de distribution s'appliquent également aux URL utilisées dans la configuration Cron ou dans la configuration de la file d'attente de tâches.

Les chemins d'URL commençant par /_ah/ ne sont pas acheminés par le fichier de distribution.

Exemple

Voici un exemple de fichier de distribution qui achemine les requêtes vers http://simple-sample.appspot.com, et les requêtes telles que http://simple-sample.appspot.com/favicon.ico vers le <module> default. Tout le contenu statique est diffusé à partir du <module> default. Les requêtes mobiles, telles que http://simple-sample.appspot.com/mobile/, sont acheminées vers une interface mobile, et les requêtes de nœud de calcul, telles que http://simple-sample.appspot.com/work/, sont acheminées vers un backend statique.

<?xml version="1.0" encoding="UTF-8"?>
<dispatch-entries>
  <dispatch>
      <!-- Default module serves the typical web resources and all static resources. -->
      <url>*/favicon.ico</url>
      <module>default</module>
  </dispatch>
  <dispatch>
      <!-- Default module serves simple hostname request. -->
      <url>simple-sample.appspot.com/</url>
      <module>default</module>
  </dispatch>
  <dispatch>
      <!-- Send all mobile traffic to the mobile frontend. -->
      <url>*/mobile/*</url>
      <module>mobile-frontend</module>
  </dispatch>
  <dispatch>
      <!-- Send all work to the one static backend. -->
      <url>*/work/*</url>
      <module>static-backend</module>
  </dispatch>
</dispatch-entries>

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 :

  1. Remplacez le contenu du fichier dispatch.xml par :

    <?xml version="1.0" encoding="UTF-8"?>
    <dispatch-entries/>
    
  2. Déployez le fichier dispatch.xml sur App Engine.

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Environnement standard App Engine pour Java 8