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 a Django-t, a Flaskot vagy a FastAPI-t.

A helyileg fejlesztett Python-webalkalmazások üzembe helyezhetők olyan szolgáltatásokban, mint a Azure-alkalmazás Service, az Azure Container Apps vagy az 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 Fejlesztői környezet beállítása című témakört, amely útmutatást nyújt 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ői környezete (IDE) egyszerű módszer a Python-webalkalmazások fejlesztésére és a webalkalmazások által használt Azure-erőforrások használatára.

Tipp.

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-ban című témakörben tekintheti meg.

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

  • A Azure-alkalmazás szolgáltatásbővítmény lehetővé teszi a Azure-alkalmazás Szolgáltatással való interakciót a Visual Studio Code-on belül. 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ény a tárolók helyi létrehozásához és használatához. Futtathat például egy tárolóalapú Python-webalkalmazást Azure-alkalmazás Szolgáltatásban a Web Apps for Containers használatával.

    • Az Azure Container Apps bővítmény, 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 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 úgy érhetők el, ahogy egy tipikus IDE-felületen elvárnánk, és a VS Code parancskatalógusának használatával gazdag kulcsszótámogatással. 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ó.

A screenshot of the Visual Studio Code command palette for App Service.

Dev Containers 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 állnak rendelkezésre az olyan környezetek kezelésére, mint például virtualenvvenva Visual Studio Code Dev Container bővítmény (a nyílt Dev Container specifikációja alapján) lehetővé teszi, hogy docker-tárolót használjon teljes értékű 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 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 tárolón belül.

A Visual Studio 2022 használata

A 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ában lásd: Visual Studio | Python-dokumentáció a Python Visual Studio 2022-ben való használatával kapcsolatos összes dokumentációhoz.

  • A beállítási lépésekért lásd a Python-támogatás telepítése a Visual Studióban című témakört, amely végigvezeti a Python-számítási feladatok Visual Studio 2022-be való telepítésének lépésein.

  • A Python webfejlesztéshez való használatának általános munkafolyamatáról a rövid útmutatóban olvashat : Az első Python-webalkalmazás létrehozása a Visual Studió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 Development with 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 az Azure CLI-parancsokat.

Más azonosítók használata

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-alkalmazás szolgáltatásban 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.

A screenshot of the PyCharm IDE with an Azure CLI command deploying a web app.

Az Azure CLI parancsai

Amikor az Azure CLI-parancsokat használó webalkalmazásokkal dolgozik helyileg, általában a következő parancsokkal fog dolgozni:

Parancs Leírás
az webapp Webalkalmazásokat kezel. Tartalmazza a webalkalmazás létrehozásához létrehozott alparancsokat, valamint a helyi munkaterületről történő létrehozáshoz és üzembe helyezéshez szükséges beállításokat
az container app Az Azure Container Apps kezelése.
az staticwebapp Az Azure Static Web Apps kezelése.
az group Kezeli az erőforráscsoportokat és a sablontelepítéseket. Az alparancs létrehozása egy erőforráscsoportban az Azure-erőforrások elhelyezéséhez használható.
az appservice App Service-csomagokat kezel.
az config Felügyelt Azure CLI-konfiguráció. 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ára, és üzembe helyezésére az Azure-ban egy parancsban az az webapp up használatával. Futtassa 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ó: Python -webalkalmazás (Django vagy Flask) üzembe helyezése Azure-alkalmazás Szolgáltatásban.

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

Azure SDK-kulcscsomagok

A Python-webalkalmazásokban programozott módon hivatkozhat az Azure-szolgáltatásokra a Pythonhoz készült Azure SDK használatával. Ezt az SDK-t a Pythonhoz készült Azure-kódtárak (SDK) használata című szakaszban tárgyaljuk részletesen. 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 virtuális környezetben telepítheti.pip Vagy helyezze a Python-csomagindex (Pypi) nevét a requirements.txt fájlba .

SDK-dokumentumok Telepítés 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

Az azure-identity csomag lehetővé teszi a webalkalmazás számára a Microsoft Entra-azonosítóval való hitelesítést. A webalkalmazás kódjában való hitelesítéshez ajánlott a DefaultAzureCredentialt használni 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 fiókadatok előre meghatározott helyeken jelennek meg, például környezeti változókban vagy az Azure CLI-bejelentkezésben. A logikával kapcsolatos részletes információkért tekintse meg a DefaultAzureCredential Python-alkalmazások Azure-szolgáltatásokba való hitelesítését a Pythonhoz készült Azure SDK haszná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 ne kelljen újra feltalálnia a kereket a közös funkciókhoz.

A Python három gyakori webes keretrendszere a Django, a Flask vagy a 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. Futtassa ezeket a parancsokat egy virtuális környezetben.

1. lépés: A keretrendszerek letöltése 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 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.

További lépések