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:
- Rövid útmutató: Python (Django vagy Flask) webalkalmazás létrehozása Azure-alkalmazás Szolgáltatásban.
- Oktatóanyag: Python (Django vagy Flask) webalkalmazás üzembe helyezése a PostgreSQL-lel az Azure-ban
- Flask-webalkalmazás létrehozása és üzembe helyezése az Azure-ban rendszer által hozzárendelt felügyelt identitással
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ó.
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 virtualenv
venv
a 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.
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.
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.
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
- Rövid útmutató: Python (Django vagy Flask) webalkalmazás létrehozása Azure-alkalmazás Szolgáltatásban.
- Oktatóanyag: Python (Django vagy Flask) webalkalmazás üzembe helyezése a PostgreSQL-lel az Azure-ban
- Flask-webalkalmazás létrehozása és üzembe helyezése az Azure-ban rendszer által hozzárendelt felügyelt identitással
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: