Schnellstart: Erstellen einer Python-App in Azure App Service für LinuxQuickstart: Create a Python app in Azure App Service on Linux

In diesem Schnellstart stellen Sie eine Python-Web-App für App Service für Linux bereit. Dies ist der überaus skalierbare Webhostingdienst von Azure mit automatisiertem Patchen.In this quickstart, you deploy a Python web app to App Service on Linux, Azure's highly scalable, self-patching web hosting service. Sie verwenden auf einem Mac-, Linux- oder Windows-Computer die lokale Azure-Befehlszeilenschnittstelle (CLI).You use the local Azure command-line interface (CLI) on a Mac, Linux, or Windows computer. Die Web-App, die Sie konfigurieren, nutzt einen kostenlosen App-Service-Tarif, sodass Ihnen im Laufe dieses Artikels keine Kosten entstehen.The web app you configure uses a free App Service tier, so you incur no costs in the course of this article.

Wenn Sie Apps lieber über eine IDE bereitstellen möchten, lesen Sie Bereitstellen von Python-Apps in App Service aus Visual Studio Code.If you prefer to deploy apps through an IDE, see Deploy Python apps to App Service from Visual Studio Code.

VoraussetzungenPrerequisites

Herunterladen des BeispielsDownload the sample

Führen Sie in einem Terminalfenster den folgenden Befehl aus, um die Beispielanwendung auf Ihren lokalen Computer zu klonen.In a terminal window, run the following command to clone the sample application to your local computer.

git clone https://github.com/Azure-Samples/python-docs-hello-world

Wechseln Sie dann zu diesem Ordner:Then go into that folder:

cd python-docs-hello-world

Das Repository enthält die Datei application.py, die App Service informiert, dass der Code eine Flask-App enthält.The repository contains an application.py file, which tells App Service that the code contains a Flask app. Weitere Informationen finden Sie unter Startprozess und Anpassungen für Container.For more information, see Container startup process and customizations.

Ausführen des BeispielsRun the sample

Öffnen Sie ein Terminalfenster, und verwenden Sie die folgenden Befehle (entsprechend Ihrem Betriebssystem), um die erforderlichen Abhängigkeiten zu installieren und den integrierten Entwicklungsserver zu starten.In a terminal window, use the commands below (as appropriate for your operating system) to install the required dependencies and launch the built-in development server.

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
export FLASK_APP=application.py
flask run

Öffnen Sie einen Webbrowser, und navigieren Sie zu der Beispiel-App unter http://localhost:5000/.Open a web browser, and go to the sample app at http://localhost:5000/. Die App zeigt die Meldung Hello World! .The app displays the message Hello World!.

Lokales Ausführen einer Python-Beispiel-App

Drücken Sie in Ihrem Terminalfenster STRG+C, um den Webserver zu beenden.In your terminal window, press Ctrl+C to exit the web server.

Anmelden bei AzureSign in to Azure

Die Azure CLI bietet viele praktische Befehle, die Sie über ein lokales Terminal ausführen, um Azure-Ressourcen über die Befehlszeile bereitzustellen und zu verwalten.The Azure CLI provides you with many convenient commands that you use from a local terminal to provision and manage Azure resources from the command line. Sie können mithilfe von Befehlen die gleichen Aufgaben wie über das Azure-Portal in einem Browser ausführen.You can use commands to complete the same tasks that you would through the Azure portal in a browser. Sie können auch CLI-Befehle in Skripts verwenden, um Verwaltungsprozesse zu automatisieren.You can also use CLI commands in scripts to automate management processes.

Um Azure-Befehle in der Azure CLI auszuführen, müssen Sie sich zunächst mit dem Befehl az login anmelden.To run Azure commands in the Azure CLI, you must first sign in using the az login command. Dieser Befehl öffnet einen Browser zum Erfassen Ihrer Anmeldeinformationen.This command opens a browser to gather your credentials.

az login

Bereitstellen des BeispielsDeploy the sample

Mit dem Befehl az webapp up wird die Web-App in App Service erstellt und Ihr Code bereitgestellt.The az webapp up command creates the web app on App Service and deploys your code.

Führen Sie im Ordner python-docs-hello-world, der den Beispielcode enthält, den folgenden Befehl az webapp up aus.In the python-docs-hello-world folder that contains the sample code, run the following az webapp up command. Ersetzen Sie <app-name> durch einen global eindeutigen App-Namen (gültige Zeichen sind a-z, 0-9 und - ).Replace <app-name> with a globally unique app name (valid characters are a-z, 0-9, and -). Ersetzen Sie außerdem <location-name> durch eine Azure-Region wie centralus, eastasia, westeurope, koreasouth, brazilsouth, centralindia oder dergleichen.Also replace <location-name> with an Azure region such as centralus, eastasia, westeurope, koreasouth, brazilsouth, centralindia, and so on. (Sie können eine Liste der zulässigen Regionen für Ihr Azure-Konto abrufen, indem Sie den Befehl az account list-locations ausführen.)(You can retrieve a list of allowable regions for your Azure account by running the az account list-locations command.)

az webapp up --sku F1 -n <app-name> -l <location-name>

Die Ausführung dieses Befehls kann einige Minuten in Anspruch nehmen.This command may take a few minutes complete run. Während der Ausführung werden Informationen angezeigt, die den Informationen im folgenden Beispiel ähneln:While running, it displays information similar to the following example:

The behavior of this command has been altered by the following extension: webapp
Creating Resource group 'appsvc_rg_Linux_centralus' ...
Resource group creation complete
Creating App service plan 'appsvc_asp_Linux_centralus' ...
App service plan creation complete
Creating app '<app-name>' ....
Webapp creation complete
Creating zip with contents of dir /home/username/quickstart/python-docs-hello-world ...
Preparing to deploy contents to app.
All done.
{
  "app_url": "https:/<app-name>.azurewebsites.net",
  "location": "Central US",
  "name": "<app-name>",
  "os": "Linux",
  "resourcegroup": "appsvc_rg_Linux_centralus ",
  "serverfarm": "appsvc_asp_Linux_centralus",
  "sku": "BASIC",
  "src_path": "/home/username/quickstart/python-docs-hello-world ",
  "version_detected": "-",
  "version_to_create": "python|3.7"
}

Hinweis

Der Befehl az webapp up bewirkt Folgendes:The az webapp up command does the following actions:

Navigieren zur AppBrowse to the app

Navigieren Sie in Ihrem Webbrowser zur an der URL http://<app-name>.azurewebsites.net bereitgestellten Anwendung.Browse to the deployed application in your web browser at the URL http://<app-name>.azurewebsites.net.

Der Python-Beispielcode führt einen Linux-Container in App Service mit einem integrierten Image aus.The Python sample code is running a Linux container in App Service using a built-in image.

Ausführen einer Python-Beispiel-App in Azure

Glückwunsch!Congratulations! Sie haben Ihre Python-App in App Service unter Linux bereitgestellt.You've deployed your Python app to App Service on Linux.

Erneutes Bereitstellen von UpdatesRedeploy updates

Öffnen Sie in Ihrem bevorzugten Code-Editor application.py, und ändern Sie die Anweisung return in der letzten Zeile so, dass Sie mit dem folgenden Code übereinstimmt.In your favorite code editor, open application.py and change the return statement on the last line to match the following code. Die Anweisung print ist hier enthalten, um die Protokollierungsausgabe zu erzeugen, mit der Sie im nächsten Abschnitt arbeiten.The print statement is included here to generate logging output that you work with in the next section.

print("Handling request to home page.")
return "Hello Azure!"

Speichern Sie Ihre Änderungen, und beenden Sie den Editor.Save your changes and exit the editor.

Stellen Sie die Anwendung mit dem folgenden Befehl az webapp up erneut bereit. Verwenden Sie dabei den gleichen Befehl, den Sie beim ersten Bereitstellen der Anwendung verwendet haben, und ersetzen Sie <app-name> und <location-name> durch die gleichen Namen, die Sie zuvor verwendet haben.Redeploy the app using the following az webapp up command, using the same command you used to deploy the app the first time, replacing <app-name> and <location-name> with the same names you used before.

az webapp up --sku F1 -n <app-name> -l <location-name>

Wechseln Sie nach Abschluss der Bereitstellung zurück zum Browserfenster, in dem http://<app-name>.azurewebsites.net geöffnet ist, und aktualisieren Sie die Seite, auf der die geänderte Meldung angezeigt werden sollte:Once deployment has completed, switch back to the browser window open to http://<app-name>.azurewebsites.net and refresh the page, which should display the modified message:

Ausführen einer aktualisierten Python-Beispiel-App in Azure

Tipp

Visual Studio Code bietet leistungsstarke Erweiterungen für Python und Azure App Service, die die Bereitstellung von Python-Web-Apps in App Service vereinfachen.Visual Studio Code provides powerful extensions for Python and Azure App Service, which simplify the process of deploying Python web apps to App Service. Weitere Informationen finden Sie unter Bereitstellen von Python-Apps in App Service aus Visual Studio Code.For more information, see Deploy Python apps to App Service from Visual Studio Code.

Streaming von ProtokollenStream logs

Sie können auf die Konsolenprotokolle zugreifen, die innerhalb der App und des Containers, in dem sie ausgeführt wird, generiert wurden.You can access the console logs generated from inside the app and the container in which it runs. Protokolle enthalten alle Ausgaben, die mit print-Anweisungen generiert werden.Logs include any output generated using print statements.

Aktivieren Sie als Erstes die Containerprotokollierung, indem Sie den folgenden Befehl in einem Terminal ausführen. Ersetzen Sie <app-name> durch den Namen Ihrer App und <resource-group-name> durch den Namen der Ressourcengruppe, die in der Ausgabe des von Ihnen verwendeten Befehls az webapp up angezeigt wird (Beispiel: appsvc_rg_Linux_centralus):First, turn on container logging by running the following command in a terminal, replacing <app-name> with the name of your app and <resource-group-name> with the name of the resource group shown in the output of the az webapp up command you used (such as "appsvc_rg_Linux_centralus"):

az webapp log config --name <app-name> --resource-group <resource-group-name> --docker-container-logging filesystem

Führen Sie den folgenden Befehl aus, um den Protokolldatenstrom anzuzeigen, nachdem die Containerprotokollierung aktiviert wurde:Once container logging is turned on, run the following command to show the log stream:

az webapp log tail --name <app-name> --resource-group <resource-group-name>

Aktualisieren Sie die App im Browser, um Konsolenprotokolle zu erstellen, die Zeilen ähnlich dem folgenden Text enthalten sollten.Refresh the app in the browser to generate console logs, which should include lines similar to the following text. Wenn Sie die Ausgabe nicht sofort sehen, versuchen Sie es nach 30 Sekunden erneut.If you don't see output immediately, try again in 30 seconds.

2019-10-23T12:40:03.815574424Z Handling request to home page.
2019-10-23T12:40:03.815602424Z 172.16.0.1 - - [23/Oct/2019:12:40:03 +0000] "GET / HTTP/1.1" 200 12 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.63 Safari/537.36 Edg/78.0.276.19"

Sie können die Protokolldateien auch im Browsen unter https://<app-name>.scm.azurewebsites.net/api/logs/docker untersuchen.You can also inspect the log files from the browser at https://<app-name>.scm.azurewebsites.net/api/logs/docker.

Um das Protokollstreaming jederzeit zu beenden, geben Sie Ctrl+C ein.To stop log streaming at any time, type Ctrl+C.

Verwalten der Azure-AppManage the Azure app

Wechseln Sie zum Azure-Portal, um die erstellte App zu verwalten.Go to the Azure portal to manage the app you created. Suchen Sie nach App Services, und wählen Sie diese Option aus.Search for and select App Services.

Navigieren zu App Services im Azure-Portal

Wählen Sie den Namen Ihrer Azure-App aus.Select the name of your Azure app.

Navigieren zu Ihrer Python-App in App Services im Azure-Portal

Die Übersichtsseite Ihrer App wird angezeigt.You see your app's Overview page. Hier können Sie einfache Verwaltungsaufgaben wie Durchsuchen, Beenden, Neustarten und Löschen durchführen.Here, you can perform basic management tasks like browse, stop, start, restart, and delete.

Verwalten Ihrer Python-App auf der Seite „Übersicht“ im Azure-Portal

Im Menü „App Service“ werden verschiedene Seiten für die Konfiguration Ihrer App angezeigt.The App Service menu provides different pages for configuring your app.

Bereinigen von RessourcenClean up resources

In den vorherigen Schritten haben Sie Azure-Ressourcen in einer Ressourcengruppe erstellt.In the preceding steps, you created Azure resources in a resource group. Die Ressourcengruppe hat abhängig von Ihrem Standort einen Namen wie appsvc_rg_Linux_CentralUS.The resource group has a name like "appsvc_rg_Linux_CentralUS" depending on your location. Wenn Sie eine andere App Service-SKU als den kostenlosen Tarif F1 verwenden, fallen für diese Ressourcen laufende Kosten an.If you use an App Service SKU other than the free F1 tier, these resources will incur ongoing costs.

Wenn Sie diese Ressourcen in Zukunft nicht mehr benötigen, löschen Sie die Ressourcengruppe, indem Sie den folgenden Befehl ausführen. Ersetzen Sie <resource-group-name> durch die in der Ausgabe des Befehls az webapp up gezeigte Ressourcengruppe, wie z. B. appsvc_rg_Linux_centralus.If you don't expect to need these resources in the future, delete the resource group by running the following command, replacing <resource-group-name> with the resource group shown in the output of the az webapp up command, such as "appsvc_rg_Linux_centralus". Die Ausführung des Befehls kann eine Minute in Anspruch nehmen.The command may take a minute to complete.

az group delete -n <resource-group-name>

Nächste SchritteNext steps