Megosztás a következőn keresztül:


A helyi környezet konfigurálása Python webalkalmazásokhoz az Azure-on

Ez a cikk bemutatja, hogyan állíthatja be a helyi környezetet Python webalkalmazások fejlesztéséhez és üzembe helyezéséhez Azure. A webalkalmazás lehet tiszta Python, vagy használhatja az egyik gyakori Python-alapú webes keretrendszert, például Django, Flask vagy FastAPI.

Helyileg fejlesztett Python webalkalmazásokat telepíthet olyan szolgáltatásokra, mint a Azure App Service, Azure Container Apps vagy Azure Static Web Apps. Az üzembe helyezésnek számos lehetősége van. Az App Service üzembe helyezéséhez például kódot, Docker-tárolót vagy statikus webalkalmazást használhat. Ha kódból telepít, üzembe helyezheti a Visual Studio Code, a Azure CLI, a helyi Git-adattár vagy GitHub műveletek használatával. Ha Docker-tárolóban helyezi üzembe, ezt megteheti Azure Container Registry, Docker Hub vagy bármely privát beállításjegyzékből.

A cikk folytatása előtt tekintse át a A fejlesztői környezet beállításához nyújtott útmutatót a Python és Azure környezetek beállításához. A következő szakaszok a Python webalkalmazás-fejlesztésre vonatkozó beállításokat és konfigurációt ismertetik.

Miután beállította a helyi környezetet Python webalkalmazás-fejlesztéshez, készen áll az alábbi cikkek kezelésére:

A Visual Studio Code használata

Az Visual Studio Code integrált fejlesztési környezet (IDE) segítségével egyszerűen fejleszthet Python webalkalmazásokat, és Azure webalkalmazások által használt erőforrásokkal dolgozhat.

Borravaló

Győződjön meg arról, hogy telepíti a Python bővítményt. Az Python VS Code-ban való használatának áttekintéséért lásd: A VS Code Python használatbavétele.

A VS Code-ban Azure erőforrásokkal VS Code-bővítményeken keresztül dolgozhat. Bővítményeket a Bővítmények nézetben vagy a Ctrl+Shift+X billentyűkombinációval telepíthet. A Python webalkalmazások esetében valószínűleg az alábbi bővítmények valamelyikével fog dolgozni:

  • A Azure App Service bővítmény lehetővé teszi a Azure App Service Visual Studio Code belülről történő interakciót. Az App Service teljes körűen felügyelt üzemeltetést biztosít webalkalmazásokhoz, beleértve a webhelyeket és a webes API-kat.

  • A Azure Static Web Apps bővítmény segítségével közvetlenül a VS Code-ból hozhat létre Azure Static Web Apps. Static Web Apps kiszolgáló nélküli, és jó választás a statikus tartalom üzemeltetéséhez.

  • Ha tárolókkal szeretne dolgozni, telepítse a következőt:

    • A Docker-bővítmény a tárolók helyi létrehozásához és használatához. Például, egy tárolóalapú Python-webalkalmazást futtathatja az Azure App Service-en a Web Apps for Containers használatával.

    • A Azure Container Apps bővítmény közvetlenül Visual Studio Code tárolóalapú alkalmazások létrehozásához és üzembe helyezéséhez.

  • További bővítmények például a Azure Storage, Azure Adatbázisok és Azure Erőforrások bővítmények. Ezeket és más bővítményeket igény szerint bármikor hozzáadhatja.

A Visual Studio Code bővítményei a várt módon érhetők el egy tipikus IDE-felületen. A VS Code parancskatalógusával gazdag kulcsszótámogatást használhat. A parancskatalógus eléréséhez használja a Ctrl+Shift+P billentyűkombinációt. A parancskatalógus segítségével megtekintheti az Azure-erőforrásokon elvégezhető összes lehetséges műveletet. Az alábbi képernyőképen az App Service néhány művelete látható.

Egy képernyőkép az App Service Visual Studio Code parancskatalógusáról.

A fejlesztői tárolók használata a Visual Studio Code-ban

Python fejlesztők gyakran virtuális környezetekre támaszkodnak egy adott projekt elkülönített és önálló környezetének létrehozásához. A virtuális környezetek lehetővé teszik a fejlesztők számára, hogy minden projekthez külön kezeljék a függőségeket, csomagokat és Python verziókat, elkerülve a különböző projektek közötti ütközéseket, amelyek eltérő csomagverziókat igényelhetnek.

Bár a Python népszerű lehetőségek érhetők el az olyan környezetek kezelésére, mint virtualenv vagy venv, a Visual Studio Code Dev Container bővítmény (a open Dev Container specifikációja alapján) lehetővé teszi, hogy egy Docker-tárolót használjon teljes körű tárolóalapú környezetként. Lehetővé teszi a fejlesztők számára, hogy konzisztens és könnyen reprodukálható eszközláncot definiáljanak az összes szükséges eszközzel, függőséggel és bővítménysel előre konfigurálva. Ez azt jelenti, hogy ha rendszerkövetelményekkel, rendszerhéjkonfigurációkkal vagy más nyelvekkel rendelkezik, a Dev Container használatával explicit módon konfigurálhatja a projekt azon részeit, amelyek egy alapszintű Python környezeten kívül is élnek.

Egy fejlesztő például konfigurálhat egyetlen Dev-tárolót úgy, hogy az tartalmazza a projekt működéséhez szükséges összes elemet, beleértve a PostgreSQL-adatbázis-kiszolgálót, a projektadatbázist és a mintaadatokat, a Redis-kiszolgálót, az Nginxet, az előtérbeli kódot, az ügyfélkódtárakat, például a Reactet stb. A tároló emellett tartalmazza a projektkódot, a Python futtatókörnyezetet és az összes Python projektfüggőséget a megfelelő verziókkal. Végül a tároló megadhatja Visual Studio Code telepíteni kívánt bővítményeket, hogy a teljes csapat ugyanazokat az eszközöket használja. Így amikor egy új fejlesztő csatlakozik a csapathoz, az egész környezet, beleértve az eszközhasználatot, a függőségeket és az adatokat, készen áll a helyi gép klónozására, és azonnal megkezdhetik a munkát.

Lásd: Fejlesztés konténeren belül.

A 2022-Visual Studio használata

Visual Studio 2022 egy teljes körű integrált fejlesztési környezet (IDE), amely támogatja Python alkalmazásfejlesztést, valamint számos beépített eszközt és bővítményt Azure erőforrások eléréséhez és üzembe helyezéséhez. Bár a Python webalkalmazások Azure készítésének legtöbb dokumentációja a Visual Studio Code használatára összpontosít, a 2022-Visual Studio nagyszerű lehetőség, ha már telepítve van, kényelmesen használhatja, és .NET vagy C++ projektekhez is használhatja.

  • Általánosságban a Visual Studio | Python dokumentáció résznél találhatók a Visual Studio 2022-ben a Python használatával kapcsolatos összes dokumentum.

  • A beállítási lépésekről lásd A Python támogatás telepítése a Visual Studio-ban, amely végigvezeti Önt a Python munkaterhelés Visual Studio 2022-be történő telepítésének lépésein.

  • A Python webfejlesztéshez való használatának általános munkafolyamatáról lásd a Gyorsútmutató: Az első Python webalkalmazás létrehozása a Visual Studio használatával. Ez a cikk a Python-webalkalmazások alapoktól való létrehozásának megértéséhez hasznos (de nem tartalmazza az üzembe helyezést Azure).

  • A Visual Studio 2022-ben Azure erőforrások kezeléséhez és az Azure üzembe helyezéséhez lásd: Az Azure fejlesztése Visual Studio-val. Bár az itt található dokumentáció nagy része kifejezetten említi a .NET, a Azure erőforrások kezelésére és a Azure való üzembe helyezésre szolgáló eszközök a programozási nyelvtől függetlenül ugyanúgy működnek.

  • Ha egy adott Azure felügyeleti vagy üzembe helyezési feladathoz nem érhető el beépített eszköz a 2022-Visual Studio, mindig használhat Azure CLI parancsokat.

Más fejlesztői környezetekkel való munka

Ha olyan ide-ben dolgozik, amely nem támogatja explicit módon a Azure, a Azure CLI segítségével kezelheti Azure erőforrásokat. Az alábbi képernyőképen egy egyszerű Flask-webalkalmazás nyílik meg a PyCharm IDE-ben. A webalkalmazást az az webapp up paranccsal helyezheti üzembe az Azure App Service-ben. A képernyőképen a CLI-parancs a PyCharm embedded terminálemulátoron belül fut. Ha az IDE-nek nincs beágyazott emulátora, bármelyik terminált és ugyanazt a parancsot használhatja. A Azure CLI telepíteni kell a számítógépre, és mindkét esetben elérhetőnek kell lennie.

A PyCharm IDE képernyőképe és egy Azure CLI parancs, amely egy webalkalmazás üzembe helyezését végzi.

Azure CLI parancsok

Ha helyileg dolgozik webalkalmazásokkal a Azure CLI parancsokkal, általában a következő parancsokat használja:

Parancs Leírás
a webalkalmazás Webalkalmazásokat kezel. Tartalmazza a webalkalmazások létrehozására és létrehozására , illetve helyi munkaterületről történő létrehozásra és üzembe helyezésre vonatkozó alparancsokat.
az konténer alkalmazás Kezeli a Azure Container Apps.
az statikus webalkalmazás Kezeli a Azure Static Web Apps.
a csoport Kezeli az erőforráscsoportokat és a sablontelepítéseket. A create alparancs használatával hozzon létre egy erőforráscsoportot a Azure-erőforrások elhelyezéséhez.
az alkalmazásszolgáltatás App Service-csomagokat kezel.
az config Kezeli Azure CLI konfigurációját. A billentyűleütések mentéséhez megadhat egy alapértelmezett helyet vagy erőforráscsoportot, amelyet más parancsok automatikusan használnak.

Az alábbi példa egy Azure CLI parancsra, amely egy webalkalmazást és a hozzá tartozó erőforrásokat hoz létre, majd az Az webapp up parancs használatával egy lépésben telepíthető az Azure-ra. Hajtsa végre a parancsot a webalkalmazás gyökérkönyvtárában.

az webapp up \
    --runtime PYTHON:3.9 \
    --sku B1 \
    --logs

A példával kapcsolatos további információkért lásd a Gyors útmutató: Python (Django vagy Flask) webalkalmazás üzembe helyezése az Azure App Service-be.

Ne feledje, hogy néhány Azure munkafolyamathoz az Azure CLI-t is használhatja egy Azure Cloud Shell-ből. Azure Cloud Shell egy interaktív, hitelesített, böngészőben elérhető rendszerhéj Azure erőforrások kezeléséhez.

Azure SDK kulcscsomagok

A Python-webalkalmazásokban a Python Azure SDK használatával programozott módon hivatkozhat Azure szolgáltatásokra. A Az Python című szakasz részletesen ismerteti ezt az SDK-t. Ebben a szakaszban megismerheti a webfejlesztésben használt SDK néhány kulcsfontosságú csomagját. Egy példát is láthat, amely a kód Azure erőforrásokkal való hitelesítésének ajánlott eljárásait követi.

Az alábbi táblázat felsorolja a webalkalmazás-fejlesztés során gyakran használt csomagokat. A csomagokat közvetlenül a virtuális környezetben is telepítheti a használatával pip. Vagy helyezze a Python csomagindex (PyPI) nevét a requirements.txt fájlba.

SDK-dokumentumok Felszerel Python csomagindex
Azure Identity pip install azure-identity azure-identity
Azure Storage blobok pip install azure-storage-blob azure-storage-blob
Azure Cosmos DB pip install azure-cosmos azure-cosmos
Azure Key Vault titkos kulcsok pip install azure-keyvault-secrets azure-keyvault-secrets

A azure-identity csomag lehetővé teszi a webalkalmazás hitelesítését a Microsoft Entra ID használatával. A webalkalmazás kódjában való hitelesítéshez használja a DefaultAzureCredential-t a azure-identity csomagban. Az alábbi példa bemutatja, hogyan férhet hozzá Azure Storage. A minta hasonló más Azure erőforrásokhoz.

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)

A DefaultAzureCredential előre meghatározott helyeken keres fiókinformációkat, például környezeti változókat vagy a Azure CLI bejelentkezést. A logikával kapcsolatos részletes információkért lásd: A Python alkalmazások Azure szolgáltatásokhoz való hitelesítése a Python.

Python-alapú webes keretrendszerek

A Python webalkalmazás-fejlesztés során gyakran Python-alapú webes keretrendszerekkel dolgozik. Ezek a keretrendszerek olyan funkciókat biztosítanak, mint a lapsablonok, a munkamenet-kezelés, az adatbázis-hozzáférés, valamint a HTTP-kérés- és válaszobjektumok egyszerű elérése. A keretrendszerek lehetővé teszik, hogy ne kelljen újra feltalálni a kereket a közös funkciókhoz.

Három gyakori Python webes keretrendszer a Django, Flask és FastAPI. Ezeket és más webes keretrendszereket Azure használhatja.

Az alábbi példa bemutatja, hogyan kezdheti el gyorsan ezeket a keretrendszereket helyileg. Amikor futtatja ezeket a parancsokat, egy alkalmazást kap, bár egy egyszerűt, amelyet üzembe helyezhet az Azure-ba. Futtassa ezeket a parancsokat egy virtuális környezetben.

1. lépés: Töltse le a keretrendszereket a pip használatával.

pip install Django

2. lépés: Hello World-alkalmazás létrehozása.

Hozzon létre egy mintaprojektet a django-admin startproject paranccsal. A projekt tartalmaz egy manage.py fájlt, amely az alkalmazás futtatásának belépési pontjaként szolgál.

django-admin startproject hello_world

3. lépés: Futtassa helyileg a kódot.

Django WSGI használatával futtatja az alkalmazást.

python hello_world\manage.py runserver

4. lépés: Böngésszen a hello world appban.

http://127.0.0.1:8000/

Ekkor adjon hozzá egy requirements.txt fájlt. Ezután helyezze üzembe a webalkalmazást az Azure-ba, vagy konténerizálja a Docker használatával, és úgy helyezze üzembe.

Következő lépések