Szybki start: tworzenie aplikacji w języku Python przy użyciu Azure App Service dla systemu LinuxQuickstart: Create a Python app using Azure App Service on Linux

W tym przewodniku Szybki start wdrożysz aplikację internetową w języku Python App Service dla systemu Linux wysoce skalowalnej i samonadajnej usłudze hostingu w Internecie na platformie Azure.In this quickstart, you deploy a Python web app to App Service on Linux, Azure's highly scalable, self-patching web hosting service. Użyj lokalnego interfejsu wiersza polecenia platformy Azure na komputerze Mac, Linux lub Windows, aby wdrożyć przykład za pomocą platformy Flask lub Django.You use the local Azure command-line interface (CLI) on a Mac, Linux, or Windows computer to deploy a sample with either the Flask or Django frameworks. Skonfigurowana aplikacja internetowa używa podstawowej warstwy App Service, która wiąże się z niewielkimi kosztami w ramach subskrypcji platformy Azure.The web app you configure uses a basic App Service tier that incurs a small cost in your Azure subscription.

Konfigurowanie początkowego środowiskaSet up your initial environment

  1. Konto platformy Azure z aktywną subskrypcją.Have an Azure account with an active subscription. Utwórz bezpłatne konto.Create an account for free.
  2. Zainstaluj język Python w wersji 3.6 lub wyższej.Install Python 3.6 or higher.
  3. Zainstaluj interfejs wiersza polecenia platformy Azure w wersji 2.0.80 lub wyższej, za pomocą którego uruchamiasz polecenia w dowolnej powłoki w celu aprowizowania i konfigurowania zasobów platformy Azure.Install the Azure CLI 2.0.80 or higher, with which you run commands in any shell to provision and configure Azure resources.

Otwórz okno terminalu i sprawdź, czy wersja języka Python to 3.6 lub nowsza:Open a terminal window and check your Python version is 3.6 or higher:

python3 --version

Sprawdź, czy interfejs wiersza polecenia platformy Azure jest w wersji 2.0.80 lub wyższej:Check that your Azure CLI version is 2.0.80 or higher:

az --version

Następnie zaloguj się do platformy Azure za pomocą interfejsu wiersza polecenia:Then sign in to Azure through the CLI:

az login

To polecenie powoduje otwarcie przeglądarki w celu zebrania poświadczeń.This command opens a browser to gather your credentials. Po zakończeniu polecenie wyświetla dane wyjściowe JSON zawierające informacje o twoich subskrypcjach.When the command finishes, it shows JSON output containing information about your subscriptions.

Po zalogowaniu można uruchamiać polecenia platformy Azure za pomocą interfejsu wiersza polecenia platformy Azure, aby pracować z zasobami w ramach subskrypcji.Once signed in, you can run Azure commands with the Azure CLI to work with resources in your subscription.

Masz problemy?Having issues? Daj nam znać.Let us know.

Klonowanie przykładuClone the sample

Sklonuj przykładowe repozytorium przy użyciu następującego polecenia i przejdź do folderu sample.Clone the sample repository using the following command and navigate into the sample folder. (Zainstalujrepozytorium git, jeśli nie masz jeszcze narzędzia git).(Install git if you don't have git already.)

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

Przykład zawiera kod specyficzny dla struktury, który Azure App Service rozpoznawczy podczas uruchamiania aplikacji.The sample contains framework-specific code that Azure App Service recognizes when starting the app. Aby uzyskać więcej informacji, zobacz Proces uruchamiania kontenera.For more information, see Container startup process.

Masz problemy?Having issues? Daj nam znać.Let us know.

Uruchamianie aplikacji przykładowejRun the sample

  1. Przejdź do folderu python-docs-hello-world:Navigate into in the python-docs-hello-world folder:

    cd python-docs-hello-world
    
  2. Utwórz środowisko wirtualne i zainstaluj zależności:Create a virtual environment and install dependencies:

    # 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.txt
    

    Jeśli korzystasz z systemu Windows i widzisz błąd "Źródło" nie został rozpoznany jako polecenie wewnętrzne lub zewnętrzne, "Upewnij się, że uruchomiono w powłoce bash git, lub Użyj poleceń pokazanych na karcie cmd powyżej.If you're on a Windows system and see the error "'source' is not recognized as an internal or external command," make sure you're either running in the Git Bash shell, or use the commands shown in the Cmd tab above.

    Jeśli napotkasz komunikat "[Errno 2] No such file or directory: 'requirements.txt'".", upewnij się, że jesteś w folderze python-docs-hello-world.If you encounter "[Errno 2] No such file or directory: 'requirements.txt'.", make sure you're in the python-docs-hello-world folder.

  3. Uruchom serwer dewelopera.Run the development server.

    flask run
    

    Domyślnie serwer zakłada, że moduł wprowadzania aplikacji znajduje się w app.py , jak w przykładzie.By default, the server assumes that the app's entry module is in app.py, as used in the sample.

    Jeśli używasz innej nazwy modułu, ustaw zmienną FLASK_APP środowiskową na wartość tej nazwy.If you use a different module name, set the FLASK_APP environment variable to that name.

    Jeśli wystąpi błąd "Nie można zlokalizować aplikacji Flask.If you encounter the error, "Could not locate a Flask application. Zmienna środowiskowa "FLASK_APP" nie została udostępniona, a moduł "wsgi.py" lub "app.py" nie został znaleziony w bieżącym katalogu". Upewnij się, że jesteś w folderze zawierającym python-docs-hello-world przykład.You did not provide the 'FLASK_APP' environment variable, and a 'wsgi.py' or 'app.py' module was not found in the current directory.", make sure you're in the python-docs-hello-world folder that contains the sample.

  4. Otwórz przeglądarkę internetową i przejdź do przykładowej aplikacji na stronie http://localhost:5000/ .Open a web browser and go to the sample app at http://localhost:5000/. W aplikacji zostanie wyświetlony komunikat Hello, World!.The app displays the message Hello, World!.

    Uruchamianie przykładowej aplikacji w języku Python lokalnie

  5. W oknie terminalu naciśnij klawisze Ctrl + C, aby zamknąć serwer dewelopera.In your terminal window, press Ctrl+C to exit the development server.

  1. Przejdź do folderu python-docs-hello-django:Navigate into the python-docs-hello-django folder:

    cd python-docs-hello-django
    
  2. Utwórz środowisko wirtualne i zainstaluj zależności:Create a virtual environment and install dependencies:

    # 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.txt
    

    Jeśli korzystasz z systemu Windows i widzisz błąd "Źródło" nie został rozpoznany jako polecenie wewnętrzne lub zewnętrzne, "Upewnij się, że uruchomiono w powłoce bash git, lub Użyj poleceń pokazanych na karcie cmd powyżej.If you're on a Windows system and see the error "'source' is not recognized as an internal or external command," make sure you're either running in the Git Bash shell, or use the commands shown in the Cmd tab above.

    Jeśli napotkasz błąd "[Errno 2] No such file or directory: 'requirements.txt'".", upewnij się, że jesteś w folderze python-docs-hello-django.If you encounter "[Errno 2] No such file or directory: 'requirements.txt'.", make sure you're in the python-docs-hello-django folder.

  3. Uruchom serwer dewelopera.Run the development server.

    python manage.py runserver
    
  4. Otwórz przeglądarkę internetową i przejdź do przykładowej aplikacji na stronie http://localhost:8000/ .Open a web browser and go to the sample app at http://localhost:8000/. W aplikacji zostanie wyświetlony komunikat Hello, World!.The app displays the message Hello, World!.

    Uruchamianie przykładowej aplikacji w języku Python lokalnie

  5. W oknie terminalu naciśnij klawisze Ctrl + C, aby zamknąć serwer projektowy.In your terminal window, press Ctrl+C to exit the development server.

Masz problemy?Having issues? Daj nam znać.Let us know.

Wdrażanie przykładuDeploy the sample

Wd wdrażaj kod w folderze lokalnym (python-docs-hello-world) przy użyciu az webapp up polecenia :Deploy the code in your local folder (python-docs-hello-world) using the az webapp up command:

az webapp up --sku B1 --name <app-name>
  • Jeśli polecenie nie zostanie rozpoznane, upewnij się, że masz zainstalowany interfejs wiersza polecenia platformy Azure zgodnie z opisem w tesłudze az Set up your initial environment (Konfigurowanie początkowego środowiska).If the az command isn't recognized, be sure you have the Azure CLI installed as described in Set up your initial environment.
  • Jeśli polecenie nie zostanie rozpoznane, ponieważ interfejs wiersza polecenia platformy Azure ma webapp wersję 2.0.80 lub nowszą.If the webapp command isn't recognized, because that your Azure CLI version is 2.0.80 or higher. Jeśli nie, zainstaluj najnowszą wersjęprogramu .If not, install the latest version.
  • Zastąp <app_name> nazwą unikatową na całej platformie Azure (prawidłowe znaki to , a-z 0-9 i -).Replace <app_name> with a name that's unique across all of Azure (valid characters are a-z, 0-9, and -). Dobrym wzorcem jest użycie kombinacji nazwy firmy i identyfikatora aplikacji.A good pattern is to use a combination of your company name and an app identifier.
  • Argument --sku B1 tworzy aplikację internetową w warstwie cenowej Podstawowa, co powoduje naliczanie małego kosztu godzinowego.The --sku B1 argument creates the web app on the Basic pricing tier, which incurs a small hourly cost. Pomiń ten argument, aby użyć szybszej warstwy Premium.Omit this argument to use a faster premium tier.
  • Opcjonalnie możesz dołączyć argument --location <location-name> , gdzie <location_name> jest dostępnym regionem świadczenia usługi Azure.You can optionally include the argument --location <location-name> where <location_name> is an available Azure region. Listę regionów, w których można zezwolić na korzystanie z konta platformy Azure, możesz pobrać, uruchamiając az account list-locations polecenie .You can retrieve a list of allowable regions for your Azure account by running the az account list-locations command.
  • Jeśli zostanie wyświetlony błąd "Nie można automatycznie wykryć stosu środowiska uruchomieniowego aplikacji", upewnij się, że uruchamiasz polecenie w folderze python-docs-hello-world (Flask) lub w folderze python-docs-hello-django (Django), który zawiera plikrequirements.txt.If you see the error, "Could not auto-detect the runtime stack of your app," make sure you're running the command in the python-docs-hello-world folder (Flask) or the python-docs-hello-django folder (Django) that contains the requirements.txt file. (Zobacz Troubleshooting auto-detect issues with az webapp up (GitHub) (Rozwiązywanie problemów z automatycznym wykrywaniem problemów z usługą az webapp up (GitHub).)(See Troubleshooting auto-detect issues with az webapp up (GitHub).)

Ukończenie polecenia może potrwać kilka minut.The command may take a few minutes to complete. Podczas działania program udostępnia komunikaty dotyczące tworzenia grupy zasobów, planu App Service hostowania aplikacji, konfigurowania rejestrowania, a następnie wdrażania pliku ZIP.While running, it provides messages about creating the resource group, the App Service plan and hosting app, configuring logging, then performing ZIP deployment. Następnie jest wyświetlany komunikat "Możesz uruchomić aplikację pod nazwą http:// .azurewebsites.net", który jest adresem URL aplikacji na < > platformie Azure.It then gives the message, "You can launch the app at http://<app-name>.azurewebsites.net", which is the app's URL on Azure.

Przykładowe dane wyjściowe polecenia az webapp up

Masz problemy?Having issues? Zapoznaj się najpierw z przewodnikiem rozwiązywaniaproblemów. W przeciwnym razie daj nam znać.Refer first to the Troubleshooting guide, otherwise, let us know.

Uwaga

Polecenie az webapp up wykonuje następujące akcje:The az webapp up command does the following actions:

Przechodzenie do aplikacjiBrowse to the app

Przejdź do wdrożonej aplikacji w przeglądarce internetowej pod adresem URL http://<app-name>.azurewebsites.net .Browse to the deployed application in your web browser at the URL http://<app-name>.azurewebsites.net. Uruchomienie aplikacji może potrwać minutę lub dwie, więc jeśli zobaczysz domyślną stronę aplikacji, zaczekaj chwilę i odśwież przeglądarkę.It can take a minute or two for the the app to start, so if you see a default app page, wait a minute and refresh the browser.

Przykładowy kod w języku Python uruchamia kontener systemu Linux App Service użyciu wbudowanego obrazu.The Python sample code is running a Linux container in App Service using a built-in image.

Uruchamianie przykładowej aplikacji w języku Python na platformie Azure

Gratulacje!Congratulations! Aplikacja w języku Python została wdrożona do App Service.You've deployed your Python app to App Service.

Masz problemy?Having issues? W pierwszej kolejności zapoznaj się z przewodnikiem rozwiązywaniaproblemów. W przeciwnym razie daj nam znać.Refer first to the Troubleshooting guide, otherwise, let us know.

Ponowne wdychaj aktualizacjeRedeploy updates

W tej sekcji dokonasz niewielkiej zmiany kodu, a następnie ponownie wdepniesz kod na platformie Azure.In this section, you make a small code change and then redeploy the code to Azure. Zmiana kodu zawiera instrukcje służące do generowania danych wyjściowych rejestrowania, z których będziesz print pracować w następnej sekcji.The code change includes a print statement to generate logging output that you work with in the next section.

Otwórz app.py w edytorze i zaktualizuj hello funkcję, aby dopasować go do poniższego kodu.Open app.py in an editor and update the hello function to match the following code.

def hello():
    print("Handling request to home page.")
    return "Hello, Azure!"

Otwórz w edytorze element hello/views.py i zaktualizuj funkcję tak, hello aby dopasować go do poniższego kodu.Open hello/views.py in an editor and update the hello function to match the following code.

def hello(request):
    print("Handling request to home page.")
    return HttpResponse("Hello, Azure!")

Zapisz zmiany, a następnie ponownie wdeń aplikację przy użyciu az webapp up polecenia :Save your changes, then redeploy the app using the az webapp up command again:

az webapp up

To polecenie używa wartości buforowanych lokalnie w pliku .azure/config, w tym nazwy aplikacji, grupy zasobów i App Service planu.This command uses values that are cached locally in the .azure/config file, including the app name, resource group, and App Service plan.

Po zakończeniu wdrażania wróć do okna przeglądarki otwartego http://<app-name>.azurewebsites.net na .Once deployment is complete, switch back to the browser window open to http://<app-name>.azurewebsites.net. Odśwież stronę, na której powinien zostać wyświetlony zmodyfikowany komunikat:Refresh the page, which should display the modified message:

Uruchamianie zaktualizowanej przykładowej aplikacji w języku Python na platformie Azure

Masz problemy?Having issues? Zapoznaj się najpierw z przewodnikiem rozwiązywania problemów.W przeciwnym razie daj nam znać.Refer first to the Troubleshooting guide, otherwise, let us know.

Porada

Visual Studio Code zapewnia zaawansowane rozszerzenia dla języka Python i Azure App Service, które upraszczają proces wdrażania aplikacji internetowych w języku Python w App Service.Visual Studio Code provides powerful extensions for Python and Azure App Service, which simplify the process of deploying Python web apps to App Service. Aby uzyskać więcej informacji, zobacz Deploy Python apps to App Service from Visual Studio Code(Wdrażanie aplikacji w języku Python App Service z Visual Studio Code .For more information, see Deploy Python apps to App Service from Visual Studio Code.

Strumieniowe przesyłanie dziennikówStream logs

Możesz uzyskać dostęp do dzienników konsoli wygenerowanych wewnątrz aplikacji i kontenera, w którym jest uruchamiana.You can access the console logs generated from inside the app and the container in which it runs. Dzienniki zawierają wszystkie dane wyjściowe wygenerowane przy użyciu print instrukcji .Logs include any output generated using print statements.

Aby przesyłać strumieniowo dzienniki, uruchom polecenie az webapp log tail:To stream logs, run the az webapp log tail command:

az webapp log tail

Możesz również dołączyć parametr --logs z az webapp up poleceniem , aby automatycznie otworzyć strumień dzienników podczas wdrażania.You can also include the --logs parameter with then az webapp up command to automatically open the log stream on deployment.

Odśwież aplikację w przeglądarce, aby wygenerować dzienniki konsoli, które zawierają komunikaty opisujące żądania HTTP wysyłane do aplikacji.Refresh the app in the browser to generate console logs, which include messages describing HTTP requests to the app. Jeśli dane wyjściowe nie pojawiają się natychmiast, spróbuj ponownie za 30 sekund.If no output appears immediately, try again in 30 seconds.

Pliki dzienników można także sprawdzać w przeglądarce pod adresem https://<app-name>.scm.azurewebsites.net/api/logs/docker.You can also inspect the log files from the browser at https://<app-name>.scm.azurewebsites.net/api/logs/docker.

Aby w dowolnym momencie zatrzymać przesyłanie strumieniowe dzienników, naciśnij klawisze Ctrl + C w terminalu.To stop log streaming at any time, press Ctrl+C in the terminal.

Masz problemy?Having issues? Zapoznaj się najpierw z przewodnikiem rozwiązywania problemów.W przeciwnym razie daj nam znać.Refer first to the Troubleshooting guide, otherwise, let us know.

Zarządzanie aplikacją platformy AzureManage the Azure app

Przejdź do witryny Azure Portal, aby zarządzać utworzoną aplikacją.Go to the Azure portal to manage the app you created. Wyszukaj i wybierz App Services.Search for and select App Services.

Przejdź do App Services w Azure Portal

Wybierz nazwę aplikacji platformy Azure.Select the name of your Azure app.

Przejdź do aplikacji w języku Python w App Services w Azure Portal

Wybranie aplikacji powoduje otwarcie jej strony Przegląd, na której można wykonywać podstawowe zadania zarządzania, takie jak przeglądanie, zatrzymywanie, uruchamianie, ponowne uruchamianie i usuwanie.Selecting the app opens its Overview page, where you can perform basic management tasks like browse, stop, start, restart, and delete.

Zarządzanie aplikacją w języku Python na stronie Przegląd w Azure Portal

Menu App Service zawiera różne strony służące do konfigurowania aplikacji.The App Service menu provides different pages for configuring your app.

Masz problemy?Having issues? Zapoznaj się najpierw z przewodnikiem rozwiązywania problemów.W przeciwnym razie daj nam znać.Refer first to the Troubleshooting guide, otherwise, let us know.

Czyszczenie zasobówClean up resources

W poprzednich krokach utworzono zasoby platformy Azure w grupie zasobów.In the preceding steps, you created Azure resources in a resource group. Grupa zasobów ma nazwę, na przykład "appsvc_rg_Linux_CentralUS" w zależności od lokalizacji.The resource group has a name like "appsvc_rg_Linux_CentralUS" depending on your location. Jeśli aplikacja internetowa będzie nadal działać, poniesiesz pewne bieżące koszty (zobacz cennik usługi App Service ).If you keep the web app running, you will incur some ongoing costs (see App Service pricing).

Jeśli te zasoby nie będą potrzebne w przyszłości, usuń grupę zasobów, uruchamiając następujące polecenie:If you don't expect to need these resources in the future, delete the resource group by running the following command:

az group delete --no-wait

Polecenie używa nazwy grupy zasobów buforowanej w pliku .azure/config.The command uses the resource group name cached in the .azure/config file.

Argument --no-wait umożliwia zwrócenie polecenia przed ukończeniem operacji.The --no-wait argument allows the command to return before the operation is complete.

Masz problemy?Having issues? Daj nam znać.Let us know.

Następne krokiNext steps