Utiliser le serveur de développement local une fois que les environnements d'exécution ont atteint la fin de période de compatibilité

Vous ne pouvez pas utiliser la dernière version de dev_appserver.py afin d'exécuter localement vos applications pour les environnements d'exécution ayant atteint la fin de période de compatibilité. Pour continuer à utiliser une version archivée de dev_appserver.py, suivez les instructions de ce guide.

Vous pouvez utiliser le serveur de développement local pour simuler l'exécution de votre application App Engine en production, ainsi que pour accéder aux anciens services groupés App Engine. L'environnement simulé applique certaines restrictions de bac à sable, telles que la limitation des importations de modules de langage d'exécution et des fonctions système. En revanche, d'autres éléments, tels que les délais de requêtes ou les quotas, ne sont pas affectés.

Le serveur de développement local simule également les services fournis par les bibliothèques du SDK pour App Engine, y compris Datastore, Memcache et les files de tâches, en effectuant leurs tâches localement. Lorsque votre application s'exécute sur le serveur de développement, vous pouvez toujours effectuer des appels d'API distants vers l'infrastructure de production à l'aide des points de terminaison HTTP de l'API Google.

Avant de commencer

Pour télécharger une version archivée de devapp_server.py, procédez comme suit :

  1. À partir des archives, téléchargez le dossier compressé contenant le serveur dev_appserver.py pour les environnements d'exécution qui ne sont plus compatibles.

  2. Extrayez le contenu du répertoire vers votre système de fichiers local, par exemple vers votre répertoire /home. Vous trouverez dev_appserver.py dans le répertoire google_appengine/.

Configurer le serveur de développement local

Pour exécuter l'outil de serveur de développement local, vous devez d'abord appliquer la procédure suivante :

  1. Vérifiez que vous avez installé un interpréteur Python 2 version 2.7.12 ou ultérieure.

  2. Définissez la variable d'environnement DEVAPPSERVER_PYTHON dans votre shell sur le chemin d'accès à votre interpréteur Python 2.

  3. Identifiez le chemin d'accès à l'outil dev_appserver.py dans le dossier /google_appengine/ où vous extrayez l'archive téléchargée, par exemple :

    DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py
    

Exécuter le serveur de développement local

Après avoir configuré le serveur de développement local et créé le fichier de configuration app.yaml pour votre application, vous pouvez utiliser la commande dev_appserver.py pour exécuter votre application localement.

Pour démarrer le serveur de développement local, procédez comme suit :

  1. Exécutez la commande dev_appserver.py dans le répertoire contenant votre fichier de configuration app.yaml.

    Spécifiez le chemin d'accès au répertoire de votre application, par exemple :

       python2 DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py --runtime_python_path=/usr/bin/python2 [PATH_TO_YOUR_APP]
    

    Vous pouvez également définir l'argument sur une liste de paires [RUNTIME_ID]=[PYTHON_INTERPRETER_PATH] séparées par une virgule. Exemple :

       python2 DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py --runtime_python_path="python27=/usr/bin/python2.7" [PATH_TO_YOUR_APP]
    

    Pour modifier le port, incluez l'option --port :

       python2 DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py  --runtime_python_path=/usr/bin/python2 --port=9999 [PATH_TO_YOUR_APP]
    

    Remplacez DEVAPPSERVER_ROOT par le chemin d'accès au dossier dans lequel vous extrayez la version archivée de devapp_server.py.

  2. Le serveur de développement local est désormais en cours d'exécution et à l'écoute des requêtes. Vous pouvez saisir l'adresse http://localhost:8080/ dans votre navigateur Web pour voir l'application en action.

    Si vous avez spécifié un port personnalisé avec l'option --port, n'oubliez pas d'ouvrir votre navigateur pour ce port.

Pour arrêter le serveur local à partir de la ligne de commande, appuyez sur les touches suivantes :

  • macOS ou Linux : Contrôle+C
  • Windows : Contrôle+Pause

Spécifier des ID d'application

Pour accéder à l'ID de votre application sur le serveur local, par exemple pour simuler une adresse e-mail, utilisez la fonction get_application_id().

Pour obtenir le nom d'hôte de l'application en cours d'exécution, utilisez la fonction get_default_version_hostname().

Détecter l'environnement d'exécution de l'application

Pour déterminer si votre code est en cours d'exécution en production ou sur le serveur de développement local, vous pouvez vérifier la valeur de la variable d'environnement GAE_ENV.

if os.getenv('GAE_ENV', '').startswith('standard'):
  # Production in the standard environment
else:
  # Local development server

Utiliser le service de messagerie

Le serveur de développement local peut envoyer des e-mails pour les appels au service de messagerie App Engine à l'aide d'un serveur SMTP ou d'une installation locale de Sendmail.

Utiliser SMTP

Pour activer la messagerie avec un serveur SMTP, appelez dev_appserver.py comme suit :

    python2 DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py --smtp_host=smtp.example.com --smtp_port=25 \
  --smtp_user=ajohnson --smtp_password=k1tt3ns PATH_TO_YOUR_APP

Remplacez :

  • DEVAPPSERVER_ROOT par le chemin d'accès au dossier dans lequel vous extrayez la version archivée de devapp_server.py.
  • Les options --smtp_host, --smtp_port, --smtp_user et --smtp_password par vos propres valeurs de configuration.
  • PATH_TO_YOUR_APP par le chemin d'accès à votre application.

Utiliser Sendmail

Pour activer la messagerie avec Sendmail, appelez dev_appserver.py comme suit :

  python2 DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py --enable_sendmail=yes PATH_TO_YOUR_APP

Remplacez :

  • DEVAPPSERVER_ROOT par le chemin d'accès au dossier dans lequel vous extrayez la version archivée de devapp_server.py.
  • PATH_TO_YOUR_APP par le chemin d'accès à votre application.

Le serveur local utilise la commande sendmail pour envoyer des e-mails avec la configuration par défaut de votre installation.

Utiliser le service de récupération d'URL

Lorsque l'application utilise l'API URL Fetch pour exécuter une requête HTTP, le serveur de développement local effectue la requête directement à partir de votre ordinateur. Si vous accédez aux sites Web via un serveur proxy, le comportement du service URL Fetch sur le serveur local peut être différent de celui d'App Engine en production.

Utiliser le service Users

App Engine fournit un service Users pour simplifier l'authentification et les autorisations de votre application. Le serveur de développement local simule le comportement des comptes Google avec ses propres pages de connexion et de déconnexion.

Lorsque qu'elles s'exécutent sur le serveur de développement local, les fonctions renvoient les URL de /_ah/login et /_ah/logout sur le serveur local.

Arguments de ligne de commande

Pour connaître les options de commande du serveur de développement local, consultez la page Options du serveur de développement local.