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


A helyi környezet konfigurálása Python-webalkalmazások Azure-ban való üzembe helyezéséhez

Ez a cikk végigvezeti a helyi környezet beállításán a Python webalkalmazások fejlesztéséhez és az Azure-ban való üzembe helyezéséhez. A webalkalmazás lehet tiszta Python, vagy használhatja az egyik gyakori Python-alapú webes keretrendszert, például Django, Flaskvagy FastAPI.

A helyileg fejlesztett Python-webalkalmazások üzembe helyezhetők olyan szolgáltatásokban, mint Azure App Service, Azure Container Appsvagy 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-ot, az Azure CLI-vel, egy helyi Git-adattárból vagy GitHub-műveletekkel. Ha Docker-tárolóban helyezi üzembe, ezt megteheti az Azure Container Registryből, a Docker Hubból vagy bármely magánregisztrációs adatbázisból.

A cikk folytatása előtt javasoljuk, hogy tekintse át a A fejlesztői környezet beállítása útmutatót a Pythonhoz és az Azure-hoz készült fejlesztői környezet beállításához. Az alábbiakban a Python-webalkalmazások fejlesztésére vonatkozó beállításokat és konfigurációt tárgyaljuk.

Miután elvégezte a Helyi környezet beállítását a Python-webalkalmazások fejlesztéséhez, készen áll az alábbi cikkek kezelésére:

A Visual Studio Code használata

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

Borravaló

Győződjön meg arról, hogy telepítve van a Python bővítmény. A Python VS Code-ban való használatának áttekintését A Python használatának első lépései a VS Code-bancímű témakörben talál.

A VS Code-ban az Azure-erőforrásokat VS Code-bővítményekkel. A bővítményeket a Bővítmények Nézet vagy a Ctrl+Shift+X billentyűkombinációval telepítheti. Python-webalkalmazások esetén valószínűleg az alábbi bővítmények valamelyikével fog dolgozni:

  • Az Azure App Service bővítmény lehetővé teszi az Azure App Service használatát a Visual Studio Code-ban. Az App Service teljes körűen felügyelt üzemeltetést biztosít webalkalmazásokhoz, beleértve a webhelyeket és a webes API-kat.

  • Az Azure Static Web Apps bővítmény lehetővé teszi az Azure Static Web Apps közvetlen létrehozását a VS Code-ból. A 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ényt a tárolók helyi létrehozásához és használatához. Futtathat például egy tárolóalapú Python-webalkalmazást az Azure App Service-ben Web Apps for Containershasználatával.

    • A Azure Container Apps bővítményt, amely közvetlenül a Visual Studio Code-ból hoz létre és helyez üzembe tárolóalapú alkalmazásokat.

  • Vannak más bővítmények is, például az Azure Storage, az Azure Databasesés az Azure Resources kiegészítők. Ezeket és más bővítményeket igény szerint bármikor hozzáadhatja.

A Visual Studio Code bővítményei úgy érhetők el, ahogyan egy tipikus IDE-felületen elvárnánk, és a VS Code parancskatalógusánaksegítségével gazdag kulcsszótámogatással rendelkezik. A parancskatalógus eléréséhez használja a Ctrl+Shift+P billentyűkombinációt. A parancskatalógus jó módszer az Azure-erőforrásokon elvégezhető összes lehetséges művelet megtekintésére. Az alábbi képernyőképen az App Service néhány művelete látható.

Képernyőkép az App Service Visual Studio Code parancspalettájáról.

Fejlesztői konténerek használata a Visual Studio Code-ban

A Python-fejlesztők gyakran virtuális környezetekre támaszkodnak, hogy egy adott projekthez izolált és önálló környezetet hozzanak létre. 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, a csomagokat és a 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 Pythonban népszerű lehetőségek érhetők el az olyan környezetek kezelésére, mint a virtualenv vagy a venv, a Visual Studio Code Dev Container bővítmény (az nyílt Dev Container specifikációjaalapján) lehetővé teszi egy Docker-tároló teljes körű tárolóalapú környezetként való használatát. 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 a telepíteni kívánt Visual Studio Code-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 egy tárolón belül.

A Visual Studio 2022-vel való munka

Visual Studio 2022 egy teljes körű integrált fejlesztési környezet (IDE), amely támogatja a Python-alkalmazások fejlesztését, valamint számos beépített eszközt és bővítményt az Azure-erőforrások eléréséhez és üzembe helyezéséhez. Bár a Python-webalkalmazások Azure-ra történő készítésének legtöbb dokumentációja a Visual Studio Code használatára összpontosít, a Visual Studio 2022 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 lásd: Visual Studio | A Python dokumentációja a Python Visual Studio 2022-ben való használatával kapcsolatos összes dokumentációhoz.

  • A beállítási lépésekről a Python-támogatás telepítése a Visual Studio-ben című témakörben olvashat, amely végigvezeti a Python-számítási feladatok Visual Studio 2022-be való telepítésének lépésein.

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

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

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

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

Ha egy másik IDE-ben dolgozik, amely nem támogatja explicit módon az Azure-t, az Azure CLI használatával kezelheti az 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ás üzembe helyezhető egy Azure App Service-ben a az webapp up paranccsal. 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. Az Azure CLI-t telepíteni kell a számítógépre, és mindkét esetben elérhetőnek kell lennie.

Képernyőkép a PyCharm IDE-ről egy webalkalmazást üzembe helyező Azure CLI-paranccsal.

Azure CLI-parancsok

Ha helyileg dolgozik webalkalmazásokkal az Azure CLI parancsaival, általában a következő parancsokkal fog dolgozni:

Parancs Leírás
a webalkalmazás Webalkalmazásokat kezel. Tartalmazza az alparancsokat, és webalkalmazás létrehozásához vagy helyi munkaterületről történő létrehozásához és üzembe helyezéséhez.
az konténer alkalmazás Az Azure Container Apps kezelése.
az statikus webalkalmazás Az Azure Static Web Apps kezelése.
a csoport Kezeli az erőforráscsoportokat és a sablontelepítéseket. A alparancs használatával hozzon létre egy erőforráscsoportot az Azure-erőforrások elhelyezéséhez.
az alkalmazásszolgáltatás App Service-csomagokat kezel.
az config Kezeli az Azure CLI-konfiguráció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.

Íme egy példa Azure CLI-parancs egy webalkalmazás és a kapcsolódó erőforrások létrehozásához, és üzembe helyezése az Azure-ban egy parancsban az az webapp uphasználatával. 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áról további információt a rövid útmutatóban talál: Python -webalkalmazás (Django vagy Flask) üzembe helyezése az Azure App Service.

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

Azure SDK-kulcscsomagok

A Python-webalkalmazásokban programozott módon hivatkozhat az Azure-szolgáltatásokra az Azure SDK for Pythonhasználatával. Ezt az SDK-t részletesen Python-Azure-kódtárak (SDK) használata című szakaszban tárgyaljuk. Ebben a szakaszban röviden megemlítjük a webfejlesztésben használni kívánt SDK néhány kulcsfontosságú csomagját. Bemutatunk egy példát a kód Azure-erőforrásokkal való hitelesítésének ajánlott eljárásaira.

Az alábbiakban a webalkalmazás-fejlesztés során gyakran használt csomagok közül íme néhány. A csomagokat közvetlenül a pipsegítségével telepítheti a virtuális környezetbe. 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 tárolási 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

Az azure-identity csomag lehetővé teszi a webalkalmazás számára, hogy a Microsoft Entra ID-vel hitelesítse magát. A webalkalmazás kódjában való hitelesítéshez ajánlott a DefaultAzureCredential használata a azure-identity csomagban. Íme egy példa az Azure Storage elérésére. 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ókban vagy az Azure CLI-bejelentkezésben. A DefaultAzureCredential logikával kapcsolatos részletes információkért lásd: Python-alkalmazások hitelesítése az Azure-szolgáltatásokban az Azure SDK for Pythonhasználatával.

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 a közös funkciókhoz ne kelljen újra feltalálnia a kereket.

Három gyakori Python-webes keretrendszer Django, Flaskvagy FastAPI. Ezek és más webes keretrendszerek az Azure-ral is használhatók.

Az alábbiakban egy példát mutatunk be arra, hogyan kezdheti el gyorsan ezeket a keretrendszereket helyileg. Ezeknek a parancsoknak a futtatása után egy alkalmazással fog rendelkezni, bár egy egyszerű, az Azure-ban üzembe helyezhető alkalmazással. Hajtson végre ezeket a parancsokat egy virtuális környezetben.

1. lépés: Töltse le a keretrendszereket pip.

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 pontja.

django-admin startproject hello_world

3. lépés: A kód helyi futtatása.

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

python hello_world\manage.py runserver

4. lépés: Tallózás a hello world appban.

http://127.0.0.1:8000/

Ezen a ponton adjon hozzá egy requirements.txt fájlt, majd üzembe helyezheti a webalkalmazást az Azure-ban, vagy tárolóba helyezheti a Dockerrel, majd üzembe helyezheti.

Következő lépések