Créer une application Python dans l'environnement flexible App Engine
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
Dans ce guide de démarrage rapide, vous allez apprendre à créer et à déployer une application permettant d'afficher un court message. Vous pouvez utiliser l'exemple d'application de ce guide de démarrage rapide pour toute version compatible de Python, en spécifiant la version de l'environnement d'exécution et le système d'exploitation dans votre fichier app.yaml
.
Avant de commencer
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Conditions préalables supplémentaires
Initialisez votre application App Engine avec votre projet, puis choisissez sa région :
gcloud app create --project=[YOUR_PROJECT_ID]
Lorsque vous y êtes invité, sélectionnez la région dans laquelle vous souhaitez localiser votre application App Engine.
Installez les composants requis suivants :
Exécutez la commande suivante pour installer le composant gcloud qui inclut l'extension App Engine pour Python :
gcloud components install app-engine-python
Préparez l'environnement au développement de Python. Il est recommandé d'installer la dernière version de Python,
pip
et d'autres outils connexes sur votre système. Pour obtenir des instructions, consultez le guide de configuration de l'environnement de développement Python.
Zones App Engine
App Engine est régional, ce qui signifie que l'infrastructure qui exécute vos applications est située dans une région spécifique, et que Google la gère de sorte qu'elle soit disponible de manière redondante dans toutes les zones de cette région.
Lors de la sélection d'une région dans laquelle exécuter vos applications, vous devez tout d'abord considérer vos exigences en matière de latence, de disponibilité et de durabilité. Vous pouvez généralement sélectionner la région la plus proche des utilisateurs de votre application, mais pensez aussi aux emplacements où App Engine est disponible ainsi qu'aux emplacements des autres produits et services Google Cloud que votre application utilise. L'utilisation de services situés dans des emplacements différents peut avoir des répercussions sur la latence de votre application, ainsi que sur les tarifs.
Une fois que vous avez défini la région d'une application, vous ne pouvez plus la modifier.
Si vous avez déjà créé une application App Engine, vous pouvez afficher sa région en effectuant l'une des opérations suivantes :
Exécutez la commande
gcloud app describe
.Ouvrez le tableau de bord App Engine dans la console Google Cloud. La région apparaît en haut de la page.
Télécharger l'application Hello World
Nous avons créé une application Hello World pour App Engine afin de vous aider à comprendre rapidement comment déployer une application sur Google Cloud.
Clonez le dépôt de l'exemple d'application Hello World sur votre ordinateur.
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
Vous pouvez également télécharger l'exemple en tant que fichier zip et l'extraire.
Accédez au répertoire qui contient l'exemple de code.
cd python-docs-samples/appengine/flexible/hello_world
Exécuter Hello World sur votre ordinateur local
Pour exécuter l'application Hello World sur votre ordinateur local :
macOS/Linux
- Créez un environnement Python isolé :
python3 -m venv env
source env/bin/activate
- Si vous n'êtes pas dans le répertoire qui contient l'exemple de code, accédez au répertoire qui contient l'exemple de code
hello_world
. Ensuite, installez les dépendances :cd YOUR_SAMPLE_CODE_DIR
pip install -r requirements.txt
- Exécutez l'application :
python main.py
- Dans votre navigateur Web, saisissez l'adresse suivante :
http://localhost:8080
Si vous utilisez Cloud Shell, cliquez sur Aperçu sur le Web dans la barre d'outils et sélectionnez Prévisualiser sur le port 8080.
Windows
Exécutez les packages Python à l'aide de PowerShell.
- Localisez votre installation de PowerShell.
- Cliquez avec le bouton droit sur le raccourci PowerShell et démarrez une session en tant qu'administrateur.
- Créez un environnement Python isolé.
python -m venv env
.\env\Scripts\activate
- Accédez au répertoire de votre projet et installez les dépendances : Si vous n'êtes pas dans le répertoire qui contient l'exemple de code, accédez au répertoire qui contient l'exemple de code
hello_world
. Ensuite, installez les dépendances :cd YOUR_SAMPLE_CODE_DIR
pip install -r requirements.txt
- Exécutez l'application :
python main.py
- Dans votre navigateur Web, saisissez l'adresse suivante :
http://localhost:8080
Le message Hello World de l'exemple d'application s'affiche sur la page. Dans votre fenêtre de terminal, appuyez sur Ctrl+C pour quitter le serveur Web.
Déployer et exécuter Hello World sur App Engine
Pour déployer votre application dans l'environnement flexible App Engine :-
Déployez l'application Hello World en exécutant la commande suivante à partir du répertoire
hello_world
:gcloud app deploy
Obtenez plus d'informations sur les options facultatives.
Options de commande
gcloud
courantes-
Incluez l'option
--version
pour spécifier un ID qui identifie de manière unique cette version de votre application, sans quoi un ID est généré automatiquement. Exemple :--version [YOUR_VERSION_ID]
-
Incluez l'option
--project
pour spécifier un ID de projet Google Cloud différent de celui que vous avez initialisé par défaut dans l'outilgcloud
. Exemple :--project [YOUR_PROJECT_ID]
Exemple :
gcloud app deploy --version pre-prod-5 --project my-sample-app
Pour en savoir plus sur le déploiement de votre application à partir de la ligne de commande, consultez la section Tester et déployer votre application. Pour obtenir la liste de toutes les options de commande, consultez la documentation de référence
gcloud app deploy
. -
Incluez l'option
-
Lancez votre navigateur et accédez à
https://PROJECT_ID.REGION_ID.r.appspot.com
pour afficher l'application. oùgcloud app browse
PROJECT_ID
représente l'ID de votre projet Google Cloud.
Cette fois, la page qui affiche le message Hello World est diffusée par un serveur Web exécuté sur une instance App Engine.
Félicitations ! Vous avez déployé votre première application App Engine dans l'environnement flexible App Engine !
Si vous rencontrez des erreurs lors du déploiement de votre application, consultez les conseils de dépannage.Consultez les sections suivantes pour en savoir plus sur le nettoyage et découvrir les prochaines étapes que vous pourriez effectuer.
Effectuer un nettoyage
Vous pouvez supprimer votre projet Google Cloud. Cette démarche interrompra la facturation de toutes les ressources utilisées dans le projet.
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Étapes suivantes
Découvrez la plate-forme dans son ensemble
Maintenant que vous savez comment développer et déployer des applications App Engine, vous pouvez explorer le reste de Google Cloud. Google Cloud CLI est déjà installé et vous permet d'interagir avec des produits tels que Cloud SQL, Cloud Storage, Firestore, etc.
Découvrez l'environnement flexible App Engine
Voici quelques articles qui vous aideront à mieux connaître App Engine :
Examen du code Hello World
Hello World est l'application App Engine la plus simple qui soit : elle ne contient qu'un seul service, ne possède qu'une seule version, et tout le code se trouve dans le répertoire racine de l'application. Cette section décrit chacun des fichiers de l'application en détail.
main.py
L'application Hello World est une application Flask basique à fichier unique.
app.yaml
Le fichier app.yaml
décrit la configuration suivante pour votre application :
- Définit
env: flex
, qui indique que votre application utilise l'environnement flexible App Engine. Spécifie l'environnement d'exécution utilisé par l'application. Si vous excluez le paramètre
runtime_version
, App Engine utilise la dernière version de Python comme version par défaut pour votre application.L'élément
entrypoint
indique à App Engine comment démarrer l'application. Cette application utilisegunicorn
pour diffuser l'application Python au lieu du serveur de développement de Flask (utilisé lors de l'exécution en local). La variable$PORT
est définie par App Engine au démarrage de l'application. Pour en savoir plus surentrypoint
, consultez la section Démarrage de l'application.
Pour plus d'informations sur le fonctionnement de l'environnement d'exécution Python, consultez la page Environnement d'exécution Python.
Pour apprendre à concevoir votre application en tirant parti des versions et des services, consultez la page Présentation d'App Engine.
Pour en savoir plus sur les paramètres de configuration d'App Engine, consultez la page Configurer une application avec app.yaml.
requirements.txt
Le fichier requirements.txt
et le gestionnaire de paquets Python pip
déclarent et installent les dépendances de l'application. Hello World requiert le framework Web Flask et le serveur WSGI Gunicorn.
requirements.txt
définit les bibliothèques qui seront installées localement et lors du déploiement sur App Engine.