Dela via


Ö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:

  1. 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.
  2. 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. Kommandot azd auth login krävs bara första gången du använder Azure Developer CLI (azd) per session.
  3. azd up – etablerar molnresurserna och distribuerar appen till dessa resurser.
  4. azd deploy – distribuerar ändringar i programmets källkod till resurser som redan har etablerats av azd up.
  5. 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:

  1. 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:

  1. 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:

Eller om du letar efter en självstudiekurs från slutpunkt till slutpunkt som innehåller Python-webbutvecklingsramverk kan du kolla in:

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