Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule pokazano, jak skonfigurować środowisko lokalne do tworzenia aplikacji Python web i wdrażania ich w Azure. Aplikacja internetowa może być czysta Python lub używać jednej z typowych platform internetowych opartych na Python, takich jak DjangoFlask lub FastAPI.
Aplikacje internetowe Python opracowane lokalnie można wdrażać w usługach, takich jak Azure App Service, Azure Container Apps lub Azure Static Web Apps. Istnieje wiele opcji wdrażania. Na przykład w przypadku wdrożenia usługi App Service można wybrać wdrożenie z kodu, kontenera platformy Docker lub statycznej aplikacji internetowej. W przypadku wdrażania z kodu można wdrożyć za pomocą Visual Studio Code, Azure CLI, lokalnego repozytorium Git lub akcji GitHub. W przypadku wdrożenia w kontenerze platformy Docker można to zrobić z poziomu Azure Container Registry, Docker Hub lub dowolnego rejestru prywatnego.
Przed kontynuowaniem pracy z tym artykułem zapoznaj się z Konsekguruj środowisko deweloperskie aby uzyskać wskazówki dotyczące konfigurowania środowiska deweloperskiego dla Python i Azure. W poniższych sekcjach omówione są ustawienia i konfiguracja specyficzna dla tworzenia aplikacji internetowych w Pythonie.
Po skonfigurowaniu środowiska lokalnego na potrzeby tworzenia aplikacji internetowych Python możesz radzić sobie z następującymi artykułami:
- Quickstart: tworzenie aplikacji internetowej Python (Django lub Flask) w Azure App Service.
- Tutorial: wdrażanie aplikacji internetowej Python (Django lub Flask) za pomocą bazy danych PostgreSQL w Azure
- Utwórz i wdrażaj aplikację webową Flask na Azure z użyciem tożsamości zarządzanej przypisanej przez system
Praca z Visual Studio Code
Visual Studio Code zintegrowane środowisko projektowe (IDE) to prosty sposób tworzenia Python aplikacji internetowych i pracy z zasobami Azure używanymi przez aplikacje internetowe.
Napiwek
Upewnij się, że zainstalowano rozszerzenie Python. Aby zapoznać się z omówieniem pracy z Python w programie VS Code, zobacz temat Poprowadzenie pracy z Python w programie VS Code.
W programie VS Code pracujesz z zasobami Azure za pomocą rozszerzeń VS Code. Rozszerzenia można zainstalować w widoku Rozszerzenia lub za pomocą kombinacji klawiszy Ctrl+Shift+X. W przypadku Python aplikacji internetowych prawdopodobnie będziesz pracować z co najmniej jednym z następujących rozszerzeń:
Rozszerzenie Azure App Service umożliwia interakcję z Azure App Service z poziomu Visual Studio Code. Usługa App Service zapewnia w pełni zarządzany hosting dla aplikacji internetowych, w tym witryn i interfejsów API dla sieci.
Rozszerzenie Azure Static Web Apps umożliwia tworzenie Azure Static Web Apps bezpośrednio z poziomu programu VS Code. Static Web Apps jest bezserwerowa i dobrym wyborem dla hostingu zawartości statycznej.
Jeśli planujesz pracę z kontenerami, zainstaluj następujące elementy:
Rozszerzenie platformy Docker do kompilowania i pracy z kontenerami lokalnie. Na przykład można uruchomić konteneryzowaną aplikację internetową Python w Azure App Service przy użyciu Web Apps for Containers.
Rozszerzenie Azure Container Apps do tworzenia i wdrażania konteneryzowanych aplikacji bezpośrednio z Visual Studio Code.
Inne rozszerzenia obejmują Azure Storage, Azure Databases i Azure Resources. Zawsze można dodawać te i inne rozszerzenia zgodnie z potrzebami.
Rozszerzenia w Visual Studio Code są dostępne zgodnie z oczekiwaniami w typowym interfejsie IDE. Obsługę zaawansowanych słów kluczowych można używać przy użyciu palety poleceń programu VS Code. Aby uzyskać dostęp do palety poleceń, użyj kombinacji Ctrl+Shift+P. Paleta poleceń to dobry sposób na sprawdzenie wszystkich możliwych akcji, które można wykonać na zasobie Azure. Poniższy zrzut ekranu przedstawia niektóre akcje usługi App Service.
Praca z kontenerami deweloperskimi w Visual Studio Code
Python deweloperzy często polegają na środowiskach wirtualnych w celu utworzenia izolowanego i samodzielnego środowiska dla określonego projektu. Środowiska wirtualne umożliwiają deweloperom zarządzanie zależnościami, pakietami i wersjami Python osobno dla każdego projektu, co pozwala uniknąć konfliktów między różnymi projektami, które mogą wymagać różnych wersji pakietów.
Chociaż w Python są dostępne popularne opcje zarządzania środowiskami, takimi jak virtualenv lub venv, rozszerzenie Visual Studio Code Dev Container (oparte na otwórz specyfikację kontenera deweloperskiego) umożliwia użycie kontenera Docker jako w pełni funkcjonalnego środowiska konteneryzowanego. Dzięki temu deweloperzy mogą definiować spójny i łatwy do odtworzenia łańcuch narzędzi ze wszystkimi niezbędnymi narzędziami, zależnościami i rozszerzeniami wstępnie skonfigurowanymi. Oznacza to, że jeśli masz wymagania systemowe, konfiguracje powłoki lub całkowicie używasz innych języków, możesz użyć kontenera deweloperskiego do jawnego skonfigurowania wszystkich tych części projektu, które mogą znajdować się poza podstawowym środowiskiem Python.
Na przykład deweloper może skonfigurować pojedynczy kontener deweloperski tak, aby zawierał wszystkie elementy potrzebne do pracy nad projektem, w tym serwer bazy danych PostgreSQL wraz z bazą danych projektu i przykładowymi danymi, serwerem Redis, serwerem Nginx, kodem frontonu, bibliotekami klienta, takimi jak React itd. Ponadto kontener zawiera kod projektu, środowisko uruchomieniowe Python i wszystkie zależności projektu Python z odpowiednimi wersjami. Na koniec kontener może określić Visual Studio Code rozszerzenia do zainstalowania, aby cały zespół miał dostępne te same narzędzia. Kiedy nowy deweloper dołącza do zespołu, całe środowisko, w tym narzędzia, zależności i dane, jest gotowe do sklonowania na jego/jej maszynę lokalną, i on/ona może natychmiast rozpocząć pracę.
Zobacz Praca w środowisku kontenera.
Praca z programem Visual Studio 2022
Visual Studio 2022 jest w pełni funkcjonalnym zintegrowanym środowiskiem projektowym (IDE) obsługującym tworzenie aplikacji Python oraz wiele wbudowanych narzędzi i rozszerzeń w celu uzyskiwania dostępu do zasobów Azure i wdrażania ich. Podczas gdy większość dokumentacji tworzenia aplikacji internetowych Python na Azure koncentruje się na używaniu Visual Studio Code, Visual Studio 2022 r. jest doskonałą opcją, jeśli masz już zainstalowaną aplikację, dobrze się z nią korzystasz i używasz jej w projektach .NET lub C++.
Ogólnie rzecz biorąc, zobacz Visual Studio | dokumentację Pythona dla całą dokumentację związaną z używaniem Pythona w Visual Studio 2022.
Aby uzyskać instrukcje konfiguracji, zobacz Install Python support in Visual Studio który przeprowadzi Cię przez kroki instalowania obciążenia Python do Visual Studio 2022.
Aby uzyskać ogólny przepływ pracy dotyczący używania Python do tworzenia aplikacji internetowych, zobacz Quickstart: Tworzenie pierwszej aplikacji internetowej Python przy użyciu Visual Studio. Ten artykuł jest przydatny do zrozumienia, jak utworzyć aplikację internetową Python od podstaw (ale nie obejmuje wdrożenia do Azure).
Aby zarządzać zasobami Azure i wdrażać je w Azure przy użyciu Visual Studio 2022 r., zobacz
Azure Development with Visual Studio (Programowanie za pomocą Visual Studio. Chociaż większość dokumentacji w tym miejscu wspomina .NET, narzędzia do zarządzania zasobami Azure i wdrażania w Azure działają tak samo niezależnie od języka programowania.Jeśli w Visual Studio 2022 nie ma wbudowanego narzędzia dla danego zadania zarządzania lub wdrażania Azure, zawsze możesz użyć poleceń Azure CLI.
Praca z innymi środowiskami IDE
Jeśli pracujesz w innym środowisku IDE, które nie ma jawnej obsługi Azure, użyj Azure CLI do zarządzania zasobami Azure. Na poniższym zrzucie ekranu prosta aplikacja internetowa platformy Flask jest otwarta w środowisku IDE PyCharm . Aplikację internetową można wdrożyć w Azure App Service przy użyciu polecenia az webapp up. Na zrzucie ekranu polecenie CLI działa w osadzonym emulatorze terminalu PyCharm. Jeśli środowisko IDE nie ma osadzonego emulatora, możesz użyć dowolnego terminalu i tego samego polecenia. Azure CLI należy zainstalować na komputerze i być dostępny w obu sytuacjach.
Azure CLI polecenia
W przypadku pracy lokalnej z aplikacjami internetowymi przy użyciu poleceń Azure CLI zazwyczaj są używane następujące polecenia:
| Polecenie | Opis |
|---|---|
| az webapp | Zarządza aplikacjami internetowymi. Zawiera podpolecenia create i up do utworzenia aplikacji internetowej lub do utworzenia i wdrożenia z lokalnego obszaru roboczego. |
| az container app | Zarządza Azure Container Apps. |
| az staticwebapp | Zarządza Azure Static Web Apps. |
| az group | Zarządza grupami zasobów i wdrożeniami szablonów. Użyj podpolecenia utwórz, aby stworzyć grupę zasobów w celu umieszczenia zasobów Azure. |
| az appservice | Zarządza planami usługi App Service. |
| az config | Zarządza konfiguracją Azure CLI. Aby zapisać naciśnięcia, możesz zdefiniować domyślną lokalizację lub grupę zasobów, której używają inne polecenia automatycznie. |
Oto przykładowe polecenie Azure CLI umożliwiające utworzenie aplikacji internetowej i skojarzonych zasobów oraz wdrożenie jej w Azure w jednym poleceniu przy użyciu az webapp up. Uruchom polecenie w katalogu głównym aplikacji internetowej.
az webapp up \
--runtime PYTHON:3.9 \
--sku B1 \
--logs
Aby uzyskać więcej informacji na temat tego przykładu, zobacz Quickstart: Deploy a Python (Django or Flask) web app to Azure App Service (Wdrażanie aplikacji internetowej Django lub Flask).
Należy pamiętać, że w przypadku niektórych przepływów pracy Azure można również użyć Azure CLI z Azure Cloud Shell. Azure Cloud Shell to interaktywna, uwierzytelniona, dostępna w przeglądarce powłoka do zarządzania zasobami Azure.
pakiety kluczy Azure SDK
W aplikacjach internetowych Python można programowo odwoływać się do usług Azure przy użyciu Azure SDK Python. Sekcja Użyj biblioteki Azure (SDK) dla Python szeroko omawia ten zestaw SDK. W tej sekcji poznasz niektóre kluczowe pakiety zestawu SDK używanego w tworzeniu aplikacji internetowych. Zostanie również wyświetlony przykład, który jest zgodny z najlepszymi rozwiązaniami dotyczącymi uwierzytelniania kodu przy użyciu zasobów Azure.
W poniższej tabeli wymieniono niektóre pakiety często używane w tworzeniu aplikacji internetowych. Pakiety można instalować bezpośrednio w środowisku wirtualnym przy użyciu polecenia pip. Możesz też umieścić nazwę indeksu pakietów Python (PyPI) w pliku requirements.txt.
| Dokumentacja zestawu SDK | Instalować | indeks pakietu Python |
|---|---|---|
| Azure Identity | pip install azure-identity |
azure-identity |
| Azure Storage Blobs | pip install azure-storage-blob |
azure-storage-blob |
| Azure Cosmos DB | pip install azure-cosmos |
azure-cosmos |
| Azure Key Vault Wpisy tajne | pip install azure-keyvault-secrets |
azure-keyvault-secrets |
Pakiet azure-identity umożliwia aplikacji internetowej uwierzytelnianie przy użyciu Microsoft Entra ID. Aby uwierzytelnić się w kodzie aplikacji internetowej, użyj klasy DefaultAzureCredential w pakiecie azure-identity. W poniższym przykładzie pokazano, jak uzyskać dostęp do Azure Storage. Wzorzec jest podobny dla innych zasobów Azure.
from azure.identity import DefaultAzureCredential
from azure.storage.blob import BlobServiceClient
azure_credential = DefaultAzureCredential()
blob_service_client = BlobServiceClient(
account_url=account_url,
credential=azure_credential)
DefaultAzureCredential wyszukuje wstępnie zdefiniowane lokalizacje informacji o koncie, takich jak zmienne środowiskowe lub logowanie Azure CLI. Aby uzyskać szczegółowe informacje na temat logiki DefaultAzureCredential, zobacz Authenticate Python apps to Azure services by using the Azure SDK for Python.
Pythonowe frameworki internetowe
Podczas tworzenia aplikacji internetowych Python często pracujesz z platformami internetowymi opartymi na Python. Te struktury zapewniają funkcje, takie jak szablony stron, zarządzanie sesjami, dostęp do bazy danych i łatwy dostęp do obiektów żądań i odpowiedzi HTTP. Struktury umożliwiają uniknięcie ponownego wynalezienia koła pod kątem typowych funkcji.
Trzy typowe frameworki internetowe Python to Django, Flask i FastAPI. Tych i innych struktur internetowych można używać z Azure.
W poniższym przykładzie pokazano, jak szybko rozpocząć pracę z tymi strukturami lokalnie. Po uruchomieniu tych poleceń kończy się aplikacja, choć prosta, którą można wdrożyć w Azure. Uruchom te polecenia w środowisku wirtualnym.
Krok 1: Pobierz frameworki za pomocą pip.
Krok 2. Utwórz aplikację hello world.
Utwórz przykładowy projekt przy użyciu polecenia django-admin startproject . Projekt zawiera plik manage.py , który służy jako punkt wejścia do uruchamiania aplikacji.
django-admin startproject hello_world
Krok 3: Uruchom kod lokalnie.
Platforma Django używa usługi WSGI do uruchamiania aplikacji.
python hello_world\manage.py runserver
Krok 4: Przeglądaj aplikację hello world.
W tym momencie dodaj plik requirements.txt . Następnie wdróż aplikację internetową do Azure lub skonteneryzuj ją przy użyciu Dockera, a następnie wdroż.
Następne kroki
- Quickstart: tworzenie aplikacji internetowej Python (Django lub Flask) w Azure App Service.
- Tutorial: wdrażanie aplikacji internetowej Python (Django lub Flask) za pomocą bazy danych PostgreSQL w Azure
- Utwórz i wdrażaj aplikację webową Flask na Azure z użyciem tożsamości zarządzanej przypisanej przez system