Quickstart: Een Python-app maken met behulp van Azure App Service in Linux
In deze quickstart implementeert u een Python-web-app op App Service op Linux, een uiterst schaalbare webhostingservice van Azure. Gebruik de lokale Azure-opdrachtregelinterface (CLI) op een Mac-, Linux- of Windows-computer om een voorbeeld te implementeren met behulp van deFlask- of Django-frameworks. De web-app die u configureert, maakt gebruik van App Service basislaag die een kleine kostenpost in uw Azure-abonnement met zich mee kan brengen.
Uw eerste omgeving instellen
- U moet beschikken over een Azure-account met een actief abonnement. Gratis een account maken
- Installeer Python 3.6 of hoger.
- Installeer de Azure CLI,waarmee u opdrachten in een shell kunt uitvoeren om Azure-resources in terichten en te configureren.
Open een terminalvenster en controleer of uw Python-versie 3.6 of hoger is:
python3 --version
Controleer of uw Azure CLI-versie 2.0.80 of hoger is:
az --version
Meld u vervolgens aan bij Azure via de CLI:
az login
Met deze opdracht wordt een browser geopend om uw referenties te verzamelen. Wanneer de opdracht is voltooid, wordt JSON-uitvoer weergegeven met informatie over uw abonnementen.
Zodra u bent aangemeld, kunt u Azure-opdrachten uitvoeren met de Azure CLI om te werken met resources in uw abonnement.
Ondervindt u problemen? Laat het ons weten.
Het voorbeeld klonen
Kloon de opslagplaats met voorbeelden met de volgende opdracht en ga dan naar de map met voorbeelden. (Installeer git als u nog geen git hebt.)
git clone https://github.com/Azure-Samples/python-docs-hello-world
git clone https://github.com/Azure-Samples/python-docs-hello-django
Het voorbeeld bevat framework-specifieke code die door Azure App Service wordt herkend bij het starten van de app. Zie Opstartprocessen van container voor meer informatie.
Ondervindt u problemen? Laat het ons weten.
De voorbeeldtoepassing uitvoeren
Open de map python-docs-hello-world:
cd python-docs-hello-worldMaak een virtuele omgeving en installeer afhankelijkheden:
# Linux systems only python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt # Git Bash on Windows only py -3 -m venv .venv source .venv\\scripts\\activate pip install -r requirements.txtAls u een Windows-systeem gebruikt en de fout ' source ' wordt niet herkend als een interne of externe opdracht, moet u controleren of u in de Git Bash-shell werkt of de opdrachten gebruiken die worden weer gegeven op het tabblad cmd hierboven.
Als u het foutbericht '[Errno 2] Bestand of map bestaat niet: 'requirements.txt'' krijgt, controleert u of u zich in de map python-docs-hello-world bevindt.
Voer de ontwikkelaarsserver uit.
flask runDe server gaat er standaard vanuit dat de invoermodule van de app zich in app.py bevindt, zoals in het voorbeeld wordt gebruikt.
Als u een andere modulenaam gebruikt, stelt u omgevingsvariabele
FLASK_APPin op die naam.Als de fout 'Kan geen Flask-toepassing vinden. U hebt niet de omgevingsvariabele 'FLASK_APP' opgegeven en er is geen 'wsgi.py'- of 'app.py'-module gevonden in de huidige map.' optreedt, controleert u of u zich in de map
python-docs-hello-worldbevindt waarin het voorbeeld is opgenomen.Open een webbrowser en ga naar de voorbeeld-app op
http://localhost:5000/. In de app wordt het bericht Hallo wereld weergegeven.
Druk in het terminalvenster op Ctrl+C om de ontwikkelingsserver af te sluiten.
Open de map python-docs-hello-django:
cd python-docs-hello-djangoMaak een virtuele omgeving en installeer afhankelijkheden:
# Linux systems only python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt # Git Bash on Windows only py -3 -m venv .venv source .venv\\scripts\\activate pip install -r requirements.txtAls u een Windows-systeem gebruikt en de fout ' source ' wordt niet herkend als een interne of externe opdracht, moet u controleren of u in de Git Bash-shell werkt of de opdrachten gebruiken die worden weer gegeven op het tabblad cmd hierboven.
Als u het foutbericht '[Errno 2] Bestand of map bestaat niet: 'requirements.txt'' krijgt, controleert u of u zich in de map python-docs-hello-django bevindt.
Voer de ontwikkelaarsserver uit.
python manage.py runserverOpen een webbrowser en ga naar de voorbeeld-app op
http://localhost:8000/. In de app wordt het bericht Hallo wereld weergegeven.
Druk in het terminalvenster op Ctrl+C om de ontwikkelingsserver af te sluiten.
Ondervindt u problemen? Laat het ons weten.
Het voorbeeld implementeren
Implementeer de code in uw lokale map (python-docs-hello-world) met behulp van de az webapp up-opdracht:
az webapp up --sku B1 --name <app-name>
- Als de
az-opdracht niet wordt herkend, controleert u of de Azure CLI is geïnstalleerd volgens de beschrijving in Uw initiële omgeving instellen. - Als de
webapp-opdracht niet wordt herkend, komt dat omdat uw Azure CLI-versie 2.0.80 of hoger is. Als dat niet zo is, installeert u de nieuwste versie. - Vervang
<app_name>door een naam die in de volledige Azure-omgeving uniek is (geldige tekens zijna-z,0-9en-). Het is handig om een combinatie van uw bedrijfsnaam en een app-id te gebruiken. - Met het argument
--sku B1maakt u de web-app voor de prijscategorie Basic, waarvoor een kleine vergoeding per uur wordt gevraagd. Laat dit argument weg om een snellere Premium-laag te gebruiken. - U kunt eventueel het argument
--location <location-name>toevoegen, waarbij<location_name>een beschikbare Azure-regio is. U kunt een lijst met toegestane regio's voor uw Azure-account ophalen door deaz account list-locations-opdracht uit te voeren. - Als de fout 'Kan de runtimestack van uw app niet automatisch detecteren' wordt weergegeven, moet u controleren of u de opdracht uitvoert in de map python-docs-hello-world (Flask) of de map python-docs-hello-django (Django), die het bestand requirements.txt bevat. (Zie Problemen met automatische detectie oplossen met az webapp up (GitHub) voor meer informatie.)
Het volledig uitvoeren van de opdracht kan even duren. Terwijl de opdracht wordt uitgevoerd, krijgt u berichten over het maken van de resourcegroep, het App Service-plan en de hosting-app, het configureren van de logboekfunctie en het vervolgens uitvoeren van de ZIP-implementatie. Vervolgens krijgt u het volgende bericht: 'U kunt de app starten op http://<app-name>.azurewebsites.net'. Dit is de URL van de app op Azure.

Ondervindt u problemen? Raadpleeg eerst de Handleiding voor het oplossen van problemen. Als u er niet uitkomt, laat het ons weten.
Notitie
Met de opdracht az webapp up worden de volgende acties uitgevoerd:
Er wordt een standaardresourcegroep gemaakt.
Maak een standaard App Service abonnement.
Er wordt een app met de opgegeven naam gemaakt.
Zip implementeert alle bestanden uit de huidige werkmap, met buildautomatisering ingeschakeld.
Cache de parameters lokaal in het .azure/config-bestand, zodat u ze niet opnieuw hoeft op te geven wanneer u ze later implementeert met of andere
az webapp upAzure CLI-opdrachten. De waarden in de cache worden standaard automatisch gebruikt.
Bladeren naar de app
Blader naar de geïmplementeerde toepassing in uw webbrowser op de URL http://<app-name>.azurewebsites.net. Het kan een paar minuten duren voordat de app wordt gestart. Wacht dus een minuut en vernieuw de browser als u de pagina van een standaard-app ziet.
Met de Python-voorbeeldcode wordt een Linux-container uitgevoerd in App Service via een ingebouwde installatiekopie.

Gefeliciteerd! U hebt uw Python-app geïmplementeerd in App Service.
Ondervindt u problemen? Raadpleeg eerst de Handleiding voor het oplossen van problemen. Als u er niet uitkomt, laat het ons weten.
Updates opnieuw implementeren
In deze sectie brengt u een kleine codewijziging aan en implementeert u de code opnieuw in Azure. Met deze codewijziging wordt een print-instructie opgenomen waardoor logboekuitvoer wordt gegenereerd waarmee u in de volgende sectie gaat werken.
Open app.py in een editor en werk de functie hello bij zodat deze overeenkomt met de volgende code.
def hello():
print("Handling request to home page.")
return "Hello, Azure!"
Open hello/views.py in een editor en werk de functie hello bij zodat deze overeenkomt met de volgende code.
def hello(request):
print("Handling request to home page.")
return HttpResponse("Hello, Azure!")
Sla de wijzigingen op en implementeer de app opnieuw met de opdracht az webapp up:
az webapp up
Met deze opdracht worden waarden gebruikt die lokaal in de cache worden opgeslagen in het bestand .azure/config, met inbegrip van de app-naam, de resourcegroep en het App Service-plan.
Zodra de implementatie is voltooid, schakelt u terug naar het browservenster om http://<app-name>.azurewebsites.net te openen. Vernieuw de pagina. Als het goed is, wordt hier het volgende aangepast bericht weergegeven:

Ondervindt u problemen? Raadpleeg eerst de Handleiding voor het oplossen van problemen. Als u er niet uitkomt, laat het ons weten.
Tip
Visual Studio Code biedt krachtige extensies voor Python en Azure App Service, waarmee het implementatieproces van Python-web-apps in App Service wordt vereenvoudigd. Zie Python-apps implementeren in App Service vanuit Visual Studio Code voor meer informatie.
Logboeken streamen
U hebt toegang tot de consolelogboeken die zijn gegenereerd vanuit de app en de container waarin deze wordt uitgevoerd. Logboeken bevatten uitvoer die wordt gegenereerd met behulp van print-instructies.
Als u logboeken wilt streamen, voert u de opdracht az webapp log tail uit:
az webapp log tail
U kunt ook parameter --logs opnemen door middel van opdracht az webapp up, zodat tijdens de implementatie de logboekstroom automatisch wordt geopend.
Vernieuw de app in de browser om consolelogboeken te genereren. Deze omvatten berichten waarin HTTP-aanvragen voor de app worden beschreven. Als er niet direct uitvoer wordt weergegeven, probeert u het over 30 seconden nog eens.
U kunt ook de logboekbestanden van de browser inspecteren op https://<app-name>.scm.azurewebsites.net/api/logs/docker.
Als u het streamen van logboeken op een bepaald moment wilt stoppen, drukt u in de terminal op Ctrl+C.
Ondervindt u problemen? Raadpleeg eerst de Handleiding voor het oplossen van problemen. Als u er niet uitkomt, laat het ons weten.
De Azure-app beheren
Ga naar Azure Portal om de app te beheren die u hebt gemaakt. Zoek en selecteer App Services.

Selecteer de naam van uw Azure-app.

Wanneer u de app selecteert, wordt de pagina Overzicht van deze app weergegeven. Hier kunt u algemene beheertaken uitvoeren, zoals bladeren, stoppen, starten, opnieuw starten en verwijderen.

Het App Service-menu biedt verschillende pagina's voor het configureren van uw app.
Ondervindt u problemen? Raadpleeg eerst de Handleiding voor het oplossen van problemen. Als u er niet uitkomt, laat het ons weten.
Resources opschonen
In de voorgaande stappen hebt u Azure-resources in een resourcegroep gemaakt. De naam van de resourcegroep lijkt op 'appsvc_rg_Linux_CentralUS', afhankelijk van uw locatie. Als u de web-app blijvend uitvoert, worden er enige kosten in rekening gebracht (zie Prijzen voor App Service).
Als u denkt dat u deze resources niet meer gaat gebruiken, verwijdert u de resourcegroep door de volgende opdracht uit te voeren:
az group delete --no-wait
Voor de opdracht wordt de resourcegroepnaam gebruikt die in het bestand .azure/config in de cache is opgeslagen.
Met argument --no-wait kan de opdracht worden geretourneerd voordat de bewerking wordt voltooid.
Ondervindt u problemen? Laat het ons weten.