Konfigurace místního prostředí pro nasazení webových aplikací v Pythonu v Azure
Tento článek vás provede nastavením místního prostředí pro vývoj webových aplikací Pythonu a jejich nasazením do Azure. Vaše webová aplikace může být čistě Python nebo používat některou z běžných webových architektur založených na Pythonu, jako je Django, Flask nebo FastAPI.
Webové aplikace v Pythonu vyvinuté místně je možné nasadit do služeb, jako je služba Aplikace Azure Service, Azure Container Apps nebo Azure Static Web Apps. Existuje mnoho možností nasazení. Například pro nasazení služby App Service můžete zvolit nasazení z kódu, kontejneru Dockeru nebo statické webové aplikace. Pokud nasadíte z kódu, můžete ho nasadit pomocí editoru Visual Studio Code, pomocí Azure CLI, z místního úložiště Git nebo pomocí GitHub Actions. Pokud nasadíte v kontejneru Dockeru, můžete to udělat z Azure Container Registry, Docker Hubu nebo libovolného privátního registru.
Než budete pokračovat v tomto článku, doporučujeme si projít vývojové prostředí a pokyny k nastavení vývojového prostředí pro Python a Azure. Níže probereme nastavení a konfiguraci specifické pro vývoj webových aplikací v Pythonu.
Jakmile získáte nastavení místního prostředí pro vývoj webových aplikací v Pythonu, budete připraveni začít s těmito články:
- Rychlý start: Vytvoření webové aplikace v Pythonu (Django nebo Flask) ve službě Aplikace Azure Service
- Kurz: Nasazení webové aplikace Pythonu (Django nebo Flask) pomocí PostgreSQL v Azure
- Vytvoření a nasazení webové aplikace Flask do Azure se spravovanou identitou přiřazenou systémem
Práce se sadou Visual Studio Code
Integrované vývojové prostředí (IDE) editoru Visual Studio Code představuje snadný způsob vývoje webových aplikací v Pythonu a práci s prostředky Azure, které webové aplikace používají.
Tip
Ujistěte se, že máte nainstalované rozšíření Pythonu . Přehled práce s Pythonem ve VS Code najdete v tématu Začínáme s Pythonem ve VS Code.
Ve VS Code pracujete s prostředky Azure prostřednictvím rozšíření VS Code. Rozšíření můžete nainstalovat ze zobrazení rozšíření nebo kombinace kláves Ctrl+Shift+X. U webových aplikací v Pythonu budete pravděpodobně pracovat s jedním nebo více z následujících rozšíření:
Rozšíření Aplikace Azure Service umožňuje pracovat se službou Aplikace Azure Service z editoru Visual Studio Code. App Service poskytuje plně spravované hostování webových aplikací včetně webů a webových rozhraní API.
Rozšíření Azure Static Web Apps umožňuje vytvářet azure Static Web Apps přímo z VS Code. Static Web Apps je bezserverová a dobrá volba pro hostování statického obsahu.
Pokud plánujete pracovat s kontejnery, nainstalujte:
Rozšíření Dockeru pro místní sestavení a práci s kontejnery. Můžete například spustit kontejnerizovanou webovou aplikaci v Pythonu ve službě Aplikace Azure pomocí Služby Web Apps for Containers.
Rozšíření Azure Container Apps pro vytváření a nasazování kontejnerizovaných aplikací přímo ze sady Visual Studio Code.
Existují další rozšíření, jako jsou rozšíření Azure Storage, Azure Databases a Prostředky Azure. Podle potřeby můžete tato a další rozšíření kdykoli přidat.
Rozšíření v editoru Visual Studio Code jsou přístupná tak, jak byste očekávali v typickém rozhraní IDE a s bohatou podporou klíčových slov pomocí palety příkazů VS Code. Pro přístup k paletě příkazů použijte kombinaci kláves Ctrl+Shift+P. Paleta příkazů je dobrý způsob, jak zobrazit všechny možné akce, které můžete provést u prostředku Azure. Následující snímek obrazovky ukazuje některé akce služby App Service.
Práce s Dev Containers v editoru Visual Studio Code
Vývojáři Pythonu často spoléhají na virtuální prostředí k vytvoření izolovaného a samostatného prostředí pro konkrétní projekt. Virtuální prostředí umožňují vývojářům spravovat závislosti, balíčky a verze Pythonu samostatně pro každý projekt a vyhnout se konfliktům mezi různými projekty, které mohou vyžadovat různé verze balíčků.
I když jsou v Pythonu k dispozici oblíbené možnosti pro správu prostředí, jako je virtualenv
nebo venv
, rozšíření Visual Studio Code Dev Container (založené na otevřené specifikaci dev containeru) umožňuje používat kontejner Dockeru jako plnohodnotné kontejnerizované prostředí. Umožňuje vývojářům definovat konzistentní a snadno reprodukovatelnou sadu nástrojů se všemi potřebnými nástroji, závislostmi a rozšířeními předem nakonfigurovanými. To znamená, že pokud máte systémové požadavky, konfigurace prostředí nebo zcela používáte jiné jazyky, můžete pomocí vývojového kontejneru explicitně nakonfigurovat všechny tyto části projektu, které můžou žít mimo základní prostředí Pythonu.
Vývojář může například nakonfigurovat jeden vývojový kontejner tak, aby zahrnoval všechno potřebné k práci na projektu, včetně databázového serveru PostgreSQL spolu s projektovou databází a ukázkovými daty, serveru Redis, serveru Nginx, front-endového kódu, klientských knihoven, jako je React atd. Kontejner by navíc obsahoval kód projektu, modul runtime Pythonu a všechny závislosti projektu Pythonu se správnými verzemi. Kontejner může také určit rozšíření editoru Visual Studio Code, která se mají nainstalovat, aby byl k dispozici stejný nástroj pro celý tým. Takže když se nový vývojář připojí k týmu, celé prostředí, včetně nástrojů, závislostí a dat, je připravené naklonovat na místní počítač a může okamžitě začít pracovat.
Podívejte se na vývoj uvnitř kontejneru.
Práce se sadou Visual Studio 2022
Visual Studio 2022 je plnohodnotné integrované vývojové prostředí (IDE) s podporou vývoje aplikací v Pythonu a mnoho integrovaných nástrojů a rozšíření pro přístup k prostředkům Azure a jejich nasazení. I když se většina dokumentace k vytváření webových aplikací Pythonu v Azure zaměřuje na používání editoru Visual Studio Code, je Visual Studio 2022 skvělou volbou, pokud ji už máte nainstalovanou, můžete ji používat a používat ji pro projekty .NET nebo C++.
Obecně viz Visual Studio | Dokumentace k Pythonu pro veškerou dokumentaci související s používáním Pythonu v sadě Visual Studio 2022
Postup nastavení najdete v tématu Instalace podpory Pythonu v sadě Visual Studio , která vás provede postupem instalace úlohy Pythonu do sady Visual Studio 2022.
Obecný pracovní postup použití Pythonu pro vývoj webů najdete v tématu Rychlý start: Vytvoření první webové aplikace v Pythonu pomocí sady Visual Studio. Tento článek je užitečný pro pochopení toho, jak vytvořit webovou aplikaci Pythonu od začátku (ale nezahrnuje nasazení do Azure).
Informace o použití sady Visual Studio 2022 ke správě prostředků Azure a nasazení do Azure najdete v tématu Vývoj pro Azure pomocí sady Visual Studio. I když se v této dokumentaci konkrétně uvádí .NET, nástroje pro správu prostředků Azure a nasazení do Azure fungují stejně bez ohledu na programovací jazyk.
Pokud pro danou úlohu správy nebo nasazení Azure není k dispozici žádný integrovaný nástroj v sadě Visual Studio 2022, můžete vždy použít příkazy Azure CLI.
Práce s jinými prostředími IDE
Pokud pracujete v jiném integrovaném vývojovém prostředí, které nemá explicitní podporu pro Azure, můžete ke správě prostředků Azure použít Azure CLI. Na následujícím snímku obrazovky je v integrovaném vývojovém prostředí PyCharm otevřená jednoduchá webová aplikace Flask. Pomocí příkazu je možné webovou aplikaci nasadit do služby az webapp up
Aplikace Azure. Na snímku obrazovky se příkaz rozhraní příkazového řádku spustí v emulátoru integrovaného terminálu PyCharm. Pokud integrované vývojové prostředí nemá integrovaný emulátor, můžete použít libovolný terminál a stejný příkaz. Rozhraní příkazového řádku Azure musí být nainstalované na vašem počítači a musí být přístupné v obou případech.
Příkazy Azure CLI
Při práci s webovými aplikacemi pomocí příkazů Azure CLI obvykle budete pracovat s následujícími příkazy:
Příkaz | Popis |
---|---|
az webapp | Spravuje webové aplikace. Zahrnuje podpříkazy vytvořené k vytvoření webové aplikace a vytvoření a nasazení z místního pracovního prostoru. |
az container app | Spravuje azure Container Apps. |
az staticwebapp | Spravuje Azure Static Web Apps. |
az group | Spravuje skupiny prostředků a nasazení šablon. Pomocí podpříkazu vytvořte skupinu prostředků, do které umístíte prostředky Azure. |
az appservice | Spravuje plány služby App Service. |
az config | Spravovaná konfigurace Azure CLI Pokud chcete uložit stisknutí kláves, můžete definovat výchozí umístění nebo skupinu prostředků, které ostatní příkazy používají automaticky. |
Tady je ukázkový příkaz Azure CLI pro vytvoření webové aplikace a přidružených prostředků a jeho nasazení do Azure v jednom příkazu pomocí příkazu az webapp up. Spusťte příkaz v kořenovém adresáři vaší webové aplikace.
az webapp up \
--runtime PYTHON:3.9 \
--sku B1 \
--logs
Další informace o tomto příkladu najdete v tématu Rychlý start: Nasazení webové aplikace Pythonu (Django nebo Flask) do služby Aplikace Azure Service.
Nezapomeňte, že pro některý pracovní postup Azure můžete také použít Azure CLI z Azure Cloud Shellu. Azure Cloud Shell je interaktivní ověřené prostředí, které je přístupné prostřednictvím prohlížeče a umožňuje spravovat prostředky Azure.
Balíčky klíčů sady Azure SDK
Ve webových aplikacích v Pythonu můžete prostřednictvím kódu programu odkazovat na služby Azure pomocí sady Azure SDK pro Python. Tato sada SDK je podrobně popsána v části Použití knihoven Azure (SDK) pro Python. V této části stručně zmíníme některé klíčové balíčky sady SDK, které použijete při vývoji webu. A ukážeme si příklad s osvědčeným postupem pro ověřování kódu pomocí prostředků Azure.
Níže jsou uvedené některé balíčky, které se běžně používají při vývoji webových aplikací. Balíčky můžete do svého virtuálního prostředí nainstalovat přímo pomocí pip
nástroje . Nebo do souboru requirements.txt vložte název indexu balíčků Pythonu (Pypi).
Dokumentace k sadě SDK | Instalace | Index balíčků Pythonu |
---|---|---|
Identita Azure | pip install azure-identity |
azure-identity |
Objekty blob služby Azure Storage | pip install azure-storage-blob |
azure-storage-blob |
Azure Cosmos DB | pip install azure-cosmos |
azure-cosmos |
Tajné kódy služby Azure Key Vault | pip install azure-keyvault-secrets |
azure-keyvault-secrets |
Balíček azure-identity umožňuje webové aplikaci ověřit pomocí ID Microsoft Entra. Pro ověřování v kódu webové aplikace se doporučuje použít v azure-identity
balíčku defaultAzureCredential. Tady je příklad přístupu ke službě Azure Storage. Tento model je podobný pro ostatní prostředky 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)
Informace DefaultAzureCredential
o účtu se budou hledat v předdefinovaných umístěních, například v proměnných prostředí nebo v přihlášení k Azure CLI. Podrobné informace o logice DefaultAzureCredential
najdete v tématu Ověřování aplikací Pythonu ve službách Azure pomocí sady Azure SDK pro Python.
Webové architektury založené na Pythonu
Ve vývoji webových aplikací v Pythonu často pracujete s webovými architekturami založenými na Pythonu. Tyto architektury poskytují funkce, jako jsou šablony stránek, správa relací, přístup k databázi a snadný přístup k objektům požadavků a odpovědí HTTP. Architektury umožňují vyhnout se nutnosti znovu vymyslet kolo pro běžné funkce.
Tři běžné webové architektury Pythonu jsou Django, Flask nebo FastAPI. Tyto a další webové architektury je možné použít s Azure.
Níže je příklad toho, jak můžete rychle začít s těmito architekturami místně. Spuštěním těchto příkazů skončíte s aplikací, i když je to jednoduchý příkaz, který by se dal nasadit do Azure. Tyto příkazy spusťte ve virtuálním prostředí.
Krok 1: Stáhněte si architektury s pipem.
Krok 2: Vytvoření aplikace Hello World
Vytvořte ukázkový projekt pomocí příkazu django-admin startproject . Projekt obsahuje manage.py soubor, který je vstupním bodem pro spuštění aplikace.
django-admin startproject hello_world
Krok 3: Místní spuštění kódu
Django ke spuštění aplikace používá WSGI.
python hello_world\manage.py runserver
Krok 4: Procházení aplikace Hello World
V tomto okamžiku přidejte soubor requirements.txt a pak můžete webovou aplikaci nasadit do Azure nebo ji kontejnerizovat pomocí Dockeru a pak ji nasadit.
Další kroky
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro