Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans ce guide de démarrage rapide, vous déployez une application web Python (Django, Flask ou FastAPI) sur Azure App Service. Azure App Service est un service d’hébergement web complètement managé qui prend en charge les applications Python hébergées dans un environnement serveur Linux.
Pour effectuer ce démarrage rapide, les éléments suivants sont requis :
- Compte Azure avec un abonnement actif. Créez un compte gratuitement.
- Python 3.14 ou version ultérieure installée localement.
Remarque
Cet article contient des instructions à jour sur le déploiement d’une application web Python à l’aide d’Azure App Service. Python sur Windows n’est plus pris en charge.
Passer à la fin
Vous pouvez déployer rapidement l’exemple d’application dans ce didacticiel à l’aide de l’interface CLI développeur Azure et la voir s’exécuter dans Azure. Exécutez simplement les commandes suivantes dans Azure Cloud Shell, puis suivez l’invite :
mkdir flask-quickstart
cd flask-quickstart
azd init --template https://github.com/Azure-Samples/msdocs-python-flask-webapp-quickstart
azd up
Pour supprimer les ressources :
azd down
Exemple d’application
Ce guide de démarrage rapide peut être effectué en utilisant Flask, Django ou FastAPI. Un exemple d’application dans chaque framework est fourni pour vous aider à suivre ce guide de démarrage rapide. Téléchargez ou clonez l’exemple d’application sur votre station de travail locale.
git clone https://github.com/Azure-Samples/msdocs-python-flask-webapp-quickstart
Pour exécuter l’application localement :
Accédez au dossier de l’application :
cd msdocs-python-flask-webapp-quickstartCréez un environnement virtuel pour l’application :
py -m venv .venv .venv\scripts\activateInstallez les dépendances :
pip install -r requirements.txtExécutez l’application :
flask runAccédez à l’exemple d’application disponible à l’adresse
http://localhost:5000dans un navigateur web.
Vous rencontrez des problèmes ? Faites-le nous savoir.
Créer une application web dans Azure
Pour héberger votre application dans Azure, vous avez besoin de créer une application web Azure App Service dans Azure. Vous pouvez créer une application web à l’aide d’Azure CLI, de VS Code, du Pack d’extension Azure Tools ou du Portail Azure.
Les commandes Azure CLI peuvent être exécutées sur un ordinateur sur lequel l’interface Azure CLI est installée.
Créez les ressources Azure, puis déployez votre application en utilisant des commandes Azure CLI séparées.
Si nécessaire, connectez-vous à Azure à l’aide d’az login.
az login
Remplacez-le <app-name> par un nom unique au niveau mondial. Créez un groupe de ressources et un plan de service d’applications, puis créez l’application web en utilisant az webapp create.
az group create --name myResourceGroup --location eastus
az appservice plan create --name myAppServicePlan --resource-group myResourceGroup --sku P0v3 --is-linux
az webapp create --name <app-name> --resource-group myResourceGroup --plan myAppServicePlan --runtime "PYTHON:3.14"
az webapp config appsettings set --name <app-name> --resource-group myResourceGroup --settings SCM_DO_BUILD_DURING_DEPLOYMENT=true
- Utilisez ce
--runtimeparamètre pour spécifier la version de Python avec laquelle votre application s’exécute. Cet exemple utilise Python 3.14. Pour lister les temps d’exécution Python pris en charge, utilisezaz webapp list-runtimes --os-type linux --runtime python --output table. - Utilisez ce
--skuparamètre pour définir la taille (CPU et mémoire) et le coût du plan App Service. Cet exemple utilise le plan de service P0v3 (Premium v3), qui engendre un coût dans votre abonnement Azure. Pour obtenir la liste complète des plans App Service, consultez la tarification d’App Service. - Remplacez
eastuspar votre région préférée. Pour lister les régions disponibles, exécutezaz account list-locationsavec--output table. - Ce
SCM_DO_BUILD_DURING_DEPLOYMENTparamètre permet la compilation Oryx, y compris l’installation des dépendances dans requirements.txt, lorsque vous déployez l’archive source.
Créez un fichier ZIP avec les fichiers applicatifs, y compris requirements.txt, à la racine de l’archive. Excluez les fichiers locaux tels que .venv, .git et .env. Pour des instructions spécifiques à la plateforme, voir Créer un fichier ZIP de votre application dans l’onglet Déployer à l’aide d’un fichier ZIP. Ensuite, déployez l’archive en utilisant az webapp deploy :
az webapp deploy --name <app-name> --resource-group myResourceGroup --src-path <zip-file-path> --type zip
Le déploiement peut prendre quelques minutes. Consultez https://<app-name>.azurewebsites.net pour consulter votre application. Pour afficher les logs en continu, activez-les en exécutant az webapp log config --name <app-name> --resource-group myResourceGroup --docker-container-logging filesystem, puis exécutez az webapp log tail --name <app-name> --resource-group myResourceGroup.
Vous rencontrez des problèmes ? Faites-le nous savoir.
Déployer votre code d’application sur Azure
Azure App Service prend en charge plusieurs méthodes de déploiement de votre code d’application sur Azure, notamment GitHub Actions et tous les principaux outils de CI/CD. Cet article se concentre sur le déploiement de votre code à partir de votre station de travail locale vers Azure.
Les commandes Azure CLI à l’étape précédente ont créé les ressources et déployé votre application. Vous pouvez passer à l’étape suivante.
Vous rencontrez des problèmes ? Tout d’abord, reportez-vous au Guide de dépannage. Si cela n’aide pas, faites-nous savoir.
Configurer le script de démarrage
En fonction de la présence de certains fichiers dans un déploiement, App Service détecte automatiquement si une application est une application Django ou Flask et effectue les étapes par défaut pour exécuter votre application. Pour les applications basées sur d’autres frameworks web comme FastAPI, il se peut que vous deviez configurer un script de démarrage pour App Service afin de faire tourner votre application. Sinon, App Service exécute une application en lecture seule par défaut située dans le dossier opt/defaultsite .
- Python 3.14 et versions ultérieures : App Service détecte et exécute automatiquement les applications FastAPI. Aucune commande de démarrage n’est requise.
- Python 3.13 et versions antérieures : Vous devez configurer une commande de démarrage personnalisée.
Pour en savoir plus sur la façon dont App Service exécute des applications Python et comment vous pouvez configurer et personnaliser son comportement avec votre application, consultez Configurer une application Python Linux pour Azure App Service.
App Service détecte automatiquement la présence d’une application Flask. Aucune configuration supplémentaire n'est nécessaire pour ce guide de démarrage rapide.
Accéder à l’application
Accédez à l’application déployée dans votre navigateur web. Vous pouvez suivre un lien à partir du portail Azure. Accédez à la page Vue d’ensemble et sélectionnez Domaine par défaut. Si vous voyez s’afficher une page d’application par défaut, attendez une minute, puis actualisez le navigateur.
L’exemple de code Python exécute un conteneur Linux dans App Service avec une image intégrée.
Félicitations ! Vous venez de déployer votre application Python sur App Service.
Vous rencontrez des problèmes ? Tout d’abord, reportez-vous au Guide de dépannage. Si cela n’aide pas, faites-nous savoir.
Diffuser les journaux d’activité en continu
Azure App Service capture tous les messages générés dans la console pour vous aider à diagnostiquer les problèmes liés à votre application. Les exemples d’applications incluent des instructions print() pour illustrer cette fonctionnalité.
@app.route('/')
def index():
print('Request for index page received')
return render_template('index.html')
@app.route('/favicon.ico')
def favicon():
return send_from_directory(os.path.join(app.root_path, 'static'),
'favicon.ico', mimetype='image/vnd.microsoft.icon')
@app.route('/hello', methods=['POST'])
def hello():
name = request.form.get('name')
if name:
print('Request for hello page received with name=%s' % name)
return render_template('hello.html', name = name)
else:
print('Request for hello page received with no name or blank name -- redirecting')
return redirect(url_for('index'))
Vous pouvez vérifier le contenu des journaux de diagnostic App Service à l’aide d’Azure CLI, de VS Code ou du Portail Azure.
Tout d’abord, vous devez configurer Azure App Service de sorte à générer les journaux dans le système de fichiers App Service à l’aide de la commande az webapp log config.
az webapp log config \
--web-server-logging filesystem \
--name $APP_SERVICE_NAME \
--resource-group $RESOURCE_GROUP_NAME
Pour envoyer les journaux en streaming, exécutez la commande az webapp log tail.
az webapp log tail \
--name $APP_SERVICE_NAME \
--resource-group $RESOURCE_GROUP_NAME
Actualisez la page d’accueil de l’application ou essayez d’autres requêtes pour générer des messages de journal. Le résultat doit être semblable à ce qui suit.
Starting Live Log Stream ---
2021-12-23T02:15:52.740703322Z Request for index page received
2021-12-23T02:15:52.740740222Z 169.254.130.1 - - [23/Dec/2021:02:15:52 +0000] "GET / HTTP/1.1" 200 1360 "https://msdocs-python-webapp-quickstart-123.azurewebsites.net/hello" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0"
2021-12-23T02:15:52.841043070Z 169.254.130.1 - - [23/Dec/2021:02:15:52 +0000] "GET /static/bootstrap/css/bootstrap.min.css HTTP/1.1" 200 0 "https://msdocs-python-webapp-quickstart-123.azurewebsites.net/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0"
2021-12-23T02:15:52.884541951Z 169.254.130.1 - - [23/Dec/2021:02:15:52 +0000] "GET /static/images/azure-icon.svg HTTP/1.1" 200 0 "https://msdocs-python-webapp-quickstart-123.azurewebsites.net/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0"
2021-12-23T02:15:53.043211176Z 169.254.130.1 - - [23/Dec/2021:02:15:53 +0000] "GET /favicon.ico HTTP/1.1" 404 232 "https://msdocs-python-webapp-quickstart-123.azurewebsites.net/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0"
2021-12-23T02:16:01.304306845Z Request for hello page received with name=David
2021-12-23T02:16:01.304335945Z 169.254.130.1 - - [23/Dec/2021:02:16:01 +0000] "POST /hello HTTP/1.1" 200 695 "https://msdocs-python-webapp-quickstart-123.azurewebsites.net/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0"
2021-12-23T02:16:01.398399251Z 169.254.130.1 - - [23/Dec/2021:02:16:01 +0000] "GET /static/bootstrap/css/bootstrap.min.css HTTP/1.1" 304 0 "https://msdocs-python-webapp-quickstart-123.azurewebsites.net/hello" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0"
2021-12-23T02:16:01.430740060Z 169.254.130.1 - - [23/Dec/2021:02:16:01 +0000] "GET /static/images/azure-icon.svg HTTP/1.1" 304 0 "https://msdocs-python-webapp-quickstart-123.azurewebsites.net/hello" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0"
Vous rencontrez des problèmes ? Tout d’abord, reportez-vous au Guide de dépannage. Si cela n’aide pas, faites-nous savoir.
Nettoyer les ressources
Lorsque vous en avez terminé avec l’exemple d’application, vous pouvez supprimer d’Azure toutes les ressources pour l’application. La suppression du groupe de ressources garantit que vous n’avez pas de frais supplémentaires et vous permet de conserver votre abonnement Azure non limité. Supprimer le groupe de ressources permet également de supprimer toutes les ressources qu’il contient. Cette méthode est la plus rapide pour supprimer toutes les ressources Azure de votre application.
Supprimez le groupe de ressources à l’aide de la commande az group delete.
az group delete \
--name msdocs-python-webapp-quickstart \
--no-wait
Avec l’argument --no-wait, la commande peut retourner une sortie avant la fin de l’opération.
Vous rencontrez des problèmes ? Faites-le nous savoir.