Översikt över Python Web azd-mallar
Python Web Azure Developer CLI-mallar (azd
) är det snabbaste och enklaste sättet att komma igång med att skapa och distribuera Python-webbprogram till Azure. Den här artikeln innehåller sammanhangsberoende bakgrundsinformation när du kommer igång.
Det bästa sättet att komma igång är att följa snabbstarten för att skapa ditt första Python-webbprogram och distribuera det till Azure på några minuter med azd
mallar. Om du inte vill konfigurera en lokal utvecklingsmiljö kan du fortfarande följa snabbstarten med GitHub Codespaces i stället.
Vilka är Python web azd-mallar?
Det finns många azd
tillgängliga mallar i galleriet Awesome AZD Templates. Den här samlingen av Python-webbmallar azd
är dock unik eftersom de ger ett exempel på webbprogram med funktionsparitet i många olika populära kombinationer av Azure-resurser och Python-webbramverk.
När du kör en Python-webbmall azd
gör du följande:
- Skapa ett startprogram – Mer specifikt en webbplats för ett fiktivt företag med namnet Relecloud. Projektkoden innehåller många metodtips för de angivna Python-ramverken och paketen som krävs för den specifika stacken med tekniker. Mallen är avsedd att vara en startpunkt för ditt program. Du lägger till eller tar bort programlogik och Azure-resurser efter behov.
- Etablera Azure-resurser – Mallen etablerar Azure-resurser för att vara värd för din webbapp och databas med hjälp av Bicep, ett populärt infrastruktur-som-kod-verktyg. Återigen ändrar du Bicep-mallarna om du behöver lägga till fler Azure-tjänster.
- Distribuera startprogrammet till de nyligen etablerade Azure-resurserna – Startprogrammet distribueras automatiskt så att du kan se att allt fungerar på några minuter och bestämma vad du vill ändra.
- Valfritt: Konfigurera en GitHub-lagringsplats och en CI/CD-pipeline – Om du vill innehåller mallen logiken för att konfigurera en GitHub-lagringsplats åt dig, inklusive en Ci/CD-pipeline för GitHub Actions. Inom några minuter kan du göra ändringar i webbprojektkoden. När du sammanfogar ändringarna till huvudgrenen på din GitHub-lagringsplats publicerar CI/CD-pipelinen dem till din nya Azure-värdmiljö.
Vem är det här till?
Mallarna är avsedda att användas av erfarna Python-webbutvecklare som vill börja skapa ett nytt Python-webbprogram för Azure-distribution.
Varför skulle jag vilja använda det här?
Om du använder mallarna azd
får du flera fördelar:
- Snabbast möjliga start – Med din lokala utvecklingsmiljö och värdmiljön ur vägen kan du fokusera på att skapa ditt program inom några minuter.
- Enklast möjliga start – Kör bara några få kommandoradsinstruktioner för att skapa en hel lokal utvecklings-, värd- och distributionsmiljö. Arbetsflödet är enkelt att använda och lätt att komma ihåg.
- Bygga vidare på metodtips – Varje mall skapas och underhålls av Python på Azure-branschveteraner. Lägg till din kod genom att följa deras designmetoder för att bygga vidare på en solid grund.
Index för mallar
I följande tabell visas tillgängliga Python-webbmallsmonikers azd
som ska användas med kommandot, teknikerna som implementeras i varje mall och en länk till GitHub-lagringsplatsen om du vill bidra med azd init
ändringar.
Template | Web Framework | Databas | Värdplattform | GitHub-lagringsplats |
---|---|---|---|---|
azure-django-postgres-flexible-aca | Django | Flexibel PostgreSQL-server | Azure Container Apps | lagringsplats |
azure-django-postgres-flexible-appservice | Django | Flexibel PostgreSQL-server | Azure App Service | lagringsplats |
azure-django-cosmos-postgres-aca | Django | Cosmos DB (PostgreSQL Adapter) | Azure Container Apps | lagringsplats |
azure-django-cosmos-postgres-appservice | Django | Cosmos DB (PostgreSQL Adapter) | Azure App Service | lagringsplats |
azure-django-postgres-addon-aca | Django | PostgreSQL-tillägg för Azure Container Apps | Azure Container Apps | lagringsplats |
Hur fungerar mallarna?
Du använder olika azd
kommandon för att utföra uppgifter som definieras av en azd
mall. Dessa kommandon beskrivs i detalj i Kom igång med Azure Developer CLI.
Mallen azd
består av en GitHub-lagringsplats som innehåller programkoden (Python-kod som använder ett populärt webbramverk) och filerna infrastruktur som kod (nämligen Bicep) för att skapa Azure-resurserna. Den innehåller också den konfiguration som krävs för att konfigurera en GitHub-lagringsplats med en CI/CD-pipeline.
Snabbstarten vägleder dig genom stegen för att använda en specifik azd
mall. Det kräver bara att du kör fem kommandoradsinstruktioner till produktionsvärdmiljön och den lokala utvecklingsmiljön:
azd init --template <template name>
– skapar ett nytt projekt från en mall och skapar en kopia av programkoden på den lokala datorn. Kommandot uppmanar dig att ange ett miljönamn (till exempel "myapp") som används som ett prefix i namngivningen av de distribuerade resurserna.azd auth login
– loggar in dig i Azure. Kommandot öppnar ett webbläsarfönster där du kan logga in på Azure. När du har loggat in stängs webbläsarfönstret och kommandot har slutförts. Kommandotazd auth login
krävs bara första gången du använder Azure Developer CLI (azd
) per session.azd up
– etablerar molnresurserna och distribuerar appen till dessa resurser.azd deploy
– distribuerar ändringar i programmets källkod till resurser som redan har etablerats avazd up
.azd down
– tar bort Azure-resurserna och CI/CD-pipelinen om den användes.
Dricks
Titta på utdata för azd
frågor som du behöver besvara. När du har kört azd up
kommandot kan du till exempel uppmanas att välja en prenumeration om du tillhör fler än en. Dessutom uppmanas du att välja en region. Du kan ändra svar på frågor genom att redigera miljövariablerna som lagras i mappen /.azure/ i mallen.
När mallen är klar har du en personlig kopia av den ursprungliga mallen där du kan ändra varje fil efter behov. Du kan åtminstone ändra Python-projektkoden så att projektet har din design- och programlogik. Du kan också ändra konfigurationen infrastruktur som kod om du behöver ändra Azure-resurserna. Se avsnittet Med titeln Vad kan jag redigera eller ta bort?
Valfritt: Ändra och återskapa Azure-resurser
Om du vill ändra de Azure-resurser som har etablerats kan du redigera lämpliga Bicep-filer i mallen och använda:
azd provision
– återskapar Azure-resurser till önskat tillstånd enligt definitionen i Bicep-filerna.
Konfigurera en CI/CD-pipeline
Azure Developer CLI (azd
) är ett enkelt sätt att konfigurera en CI/CD-pipeline för ditt nya Python-webbprogram. Varje gång du sammanfogar incheckningar eller hämtningsbegäranden till huvudgrenen skapar och publicerar CI/CD-pipelinen automatiskt dina ändringar i dina Azure-resurser.
Valfritt: Konfigurera Ci/CD-pipelinen för GitHub Actions automatiskt
Om du vill implementera CI/CD-pipelinefunktionerna för GitHub Actions använder du följande kommando:
azd pipeline config
– Gör att du kan ange en GitHub-lagringsplats och inställningar för att aktivera CI\CD-pipelinen. När de har konfigurerats distribuerar pipelinen ändringarna till dina etablerade Azure-tjänster varje gång kodändringar slås samman till lagringsplatsens huvudgren .
Vilka är mina andra alternativ?
Om du inte vill använda azd
mallar kan du distribuera din Python-app till Azure och skapa Azure-resurser på många sätt.
Du kan utföra många av stegen för att skapa och distribuera resurser med något av följande verktyg:
- Azure-portalen
- Azure CLI
- Visual Studio Code med Azure Tools-tillägget
Eller om du letar efter en självstudiekurs från slutpunkt till slutpunkt som innehåller Python-webbutvecklingsramverk kan du kolla in:
- Distribuera en Flask- eller FastAPI-webbapp i Azure App Service
- Containerbaserad Python-webbapp i Azure med MongoDB
Måste jag använda Dev Containers?
Nej. Python-webbmallarna azd
använder Dev Containers som standard. Dev Containers ger många fördelar, men kräver viss nödvändig kunskap och programvara. Om du inte vill använda Dev Containers och föredrar att använda din lokala utvecklingsmiljö i stället kan du läsa README.md filen i rotkatalogen i exempelappen för miljökonfigurationsinstruktioner.
Vad kan jag redigera eller ta bort?
Innehållet i varje azd
mall kan variera beroende på vilken typ av projekt och den underliggande teknikstacken som används. Mallarna i den här artikeln följer en gemensam konvention:
Mapp/filer | Syfte | beskrivning |
---|---|---|
/ | Rotkatalogen | Rotkatalogen innehåller många olika typer av filer och mappar för många olika syften. |
/.Azure | azd konfigurationsfiler |
Innehåller de miljövariabler som används av Azure Developer CLI-kommandona (azd ). Den här mappen skapas när du har kört azd init kommandot. Du kan ändra miljövariablernas värden för att anpassa appen och Azure-resurserna. Mer information finns i Miljöspecifik .env-fil. |
/.devcontainer | Konfigurationsfiler för Dev Container | Med Dev Containers kan du skapa en containerbaserad utvecklingsmiljö komplett med alla resurser du behöver för programvaruutveckling i Visual Studio Code. |
/.Github | GitHub Actions-konfiguration | Innehåller konfigurationsinställningarna för den valfria Ci/CD-pipelinen för GitHub Actions samt linting och tester. Filen azure-dev.yaml kan ändras eller tas bort om du inte vill konfigurera GitHub Actions-pipelinen med kommandot azd pipeline config . |
/Infra | Bicep-filer | Med Bicep kan du deklarera de Azure-resurser som du vill distribuera till din miljö. Du bör bara ändra filerna main.bicep och web.bicep . Se Snabbstart: Skalningstjänster som distribueras med azd Python-webbmallar med Bicep. |
/Src | startprojektkodfiler | Innehåller alla mallar som krävs av webbramverket, statiska filer, .py-filer för kodlogik och datamodeller, en requirements.txt och så vidare. De specifika filerna beror på webbramverket, dataåtkomstramverket och så vidare. Du kan ändra filerna så att de passar dina projektkrav. |
/.cruft.json | mallgenereringsfil | Används internt för att generera azd mallarna. Du kan ta bort den här filen på ett säkert sätt. |
/.gitattributes | git-attribut | Tillhandahåller git med viktig konfiguration om hantering av filer och mappar. Du kan ändra den här filen efter behov. |
/.gitignore | git ignore | Anger att git ska ignorera filer och mappar från att ingå i lagringsplatsen. Du kan ändra den här filen efter behov. |
/azure.yaml | azd konfigurationsfil |
Innehåller konfigurationsinställningarna för azd up att deklarera vilka tjänster och projektmappar som ska distribueras. Den här filen FÅR INTE tas bort. |
/*.Md | markdown-filer | Det finns flera markdown-filer för olika syften. Du kan ta bort dessa filer på ett säkert sätt. |
/docker-compose.yml | Docker compose | Skapar containerpaketet för programmet innan det distribueras till Azure. |
/pyproject.toml | Python-byggsystem | Innehåller byggsystemkraven för Python-projekt. Du kan ändra den här filen till att inkludera dina önskade verktyg (till exempel för att använda ett ramverk för linter- och enhetstestning). |
/requirements-dev.in | pip-kravfil | Används för att skapa en utvecklingsmiljöversion av kraven med hjälp av pip install -r kommandot . Du kan ändra den här filen så att den innehåller andra paket efter behov. |
Dricks
Använd bra metoder för versionskontroll så att du kan komma tillbaka till en tidpunkt då projektet fungerade om du oförklarligt skulle bryta något.
Vanliga frågor och svar
F: Jag fick ett fel när jag använde en azd
mall. Vad ska jag göra?
S: Se Felsöka Azure Developer CLI. Du kan också rapportera problem på respektive azd
malls GitHub-lagringsplats.