Dela via


Översikt över Python web azd-mallar

Python Web Azure Developer CLI-mallar (azd) är det snabbaste och enklaste sättet att skapa, konfigurera och distribuera Python-webbprogram till Azure. Den här artikeln innehåller sammanhangsbaserad bakgrundsinformation som hjälper dig att förstå de komponenter som ingår och hur mallarna förenklar distributionen.

Det bästa sättet att börja är att följa snabbstarten för att skapa din första Python-webbapp och distribuera den till Azure på några minuter med azd mallar. Om du föredrar att inte konfigurera en lokal utvecklingsmiljö kan du följa snabbstarten med hjälp av GitHub Codespaces för en helt molnbaserad upplevelse med alla förkonfigurerade verktyg.

Vilka är Python web azd-mallar?

Mallarna azd är utformade för erfarna Python-webbutvecklare som vill distribuera skalbara, molnklara program i Azure med minimal konfigurationstid.

Dessa mallar är den enklaste möjliga utgångspunkten för att skapa och distribuera Python-webbprogram genom att:

  • Konfigurera snabbt en komplett lokal utvecklings- och värdmiljö.
  • Automatisera skapandet av en matchande Azure-distributionsmiljö.
  • Använda ett enkelt och minnesvärt CLI-arbetsflöde.

När du har konfigurerat dina miljöer är mallarna det snabbaste sättet att börja skapa python-webbappen. Du kan:

  • Ändra de angivna kodfilerna så att de matchar appens krav.
  • Distribuera uppdateringar med minimalt arbete med azd-kommandon.
  • Utöka mallen så att den passar din arkitektur.

Dessa mallar återspeglar beprövade designmönster och metodtips så att du kan:

  • Skapa med tillförsikt på en solid arkitektonisk grund.
  • Följ vägledningen som utvecklats av branschexperter med djup erfarenhet av Python och Azure.
  • Säkerställ underhåll, skalbarhet och säkerhet från början.

Vilka uppgifter kan jag göra med mallarna?

När du kör en Python-webbmall azd slutför du snabbt flera uppgifter:

  • Skapa startprogram. Du skapar en webbplats för ett fiktivt företag med namnet Relecloud. I det här startprojektet ingår:

    • Välorganiserad, produktionsklar kod
    • Metodtips för Python-webbramverk (till exempel Flask, Django).
    • Korrekt användning av beroenden, konfiguration och struktur.

    Mallen är utformad för att vara en startpunkt – du kan fritt anpassa logiken och expandera eller ta bort Azure-resurser så att den passar ditt projekt.

  • Etablera Azure-resurser. Med hjälp av Bicep, ett modernt IaC-språk (infrastructure-as-code), etablerar mallen alla nödvändiga Azure-resurser för:

    • Värd för din webbapp (till exempel App Service, Container Apps)
    • Ansluta till databaser (till exempel PostgreSQL, Cosmos DB)

    Bicep-filerna är helt redigerbara – du kan lägga till eller anpassa Azure-tjänster när din app utvecklas. Precis som i föregående uppgift kan du ändra Bicep-mallarna för att lägga till fler Azure-tjänster efter behov.

  • Distribuera startappen till etablerade Azure-resurser. När resurser har etablerats distribueras ditt program automatiskt till Azure-miljön. Du kan nu:

    • Se hur din app körs i molnet inom några minuter.
    • Testa dess beteende.
    • Bestäm vilka funktioner eller konfigurationer som ska uppdateras härnäst.
  • (Valfritt) Konfigurera GitHub-lagringsplats och CI/CD-pipeline. Du kan också skapa ett GitHub-arkiv med en GitHub Actions CI/CD-pipeline (kontinuerlig integrering/kontinuerlig leverans) för att:

    • Automatisera distributioner vid kodändringar.
    • Samarbeta med teammedlemmar.
    • Skicka uppdateringar till Azure genom att slå samman till huvudgrenen.

    Den här integreringen hjälper dig att använda Metodtips för DevOps från början.

Var kommer jag åt mallarna?

Många azd mallar finns i galleriet Awesome Azure Developer CLI Templates. Dessa mallar ger färdiga Python-webbappsprojekt med funktionsparitet i populära kombinationer av Azure-tjänster och Python-webbramverk.

Varje mall innehåller:

  • Ett exempelprogram med ren, underhållsbar kod.
  • Förkonfigurerad infrastruktur som kod med Bicep.
  • Sömlösa distributionsarbetsflöden med hjälp av Azure Developer CLI.
  • Valfri integrering av CI/CD via GitHub Actions

I följande tabeller visas de Python-webbmallsmonikers azd som är tillgängliga för användning med azd init kommandot . Tabellerna identifierar de tekniker som implementeras i varje mall och ger en länk till motsvarande GitHub-lagringsplats, där du kan bidra med ändringar.

Följande azd mallar är tillgängliga för Django-webbramverket.

Mall Databas Värdplattform GitHub-lagringsplats
azure-django-postgres-flexible-aca Flexibel Server för Azure Database for PostgreSQL Azure Container Apps https://github.com/Azure-Samples/azure-django-postgres-flexible-aca
azure-django-postgres-flexible-appservice Flexibel server för Azure Database for PostgreSQL Azure App Service https://github.com/Azure-Samples/azure-django-postgres-flexible-appservice
azure-django-cosmos-postgres-aca Azure Cosmos DB för Azure-databas för PostgreSQL Azure Container-applikationer https://github.com/Azure-Samples/azure-django-cosmos-postgres-aca
azure-django-cosmos-postgres-appservice Azure Cosmos DB for Azure Database for PostgreSQL Azure App Service https://github.com/Azure-Samples/azure-django-cosmos-postgres-appservice
Addon för Azure, Django och Postgres - ACA Azure Container Apps med Azure Database for PostgreSQL Azure Container-applikationer https://github.com/Azure-Samples/azure-django-postgres-addon-aca

Hur ska jag använda mallarna?

Varje azd mall 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. Mallen innehåller också den konfiguration som krävs för att konfigurera en GitHub-lagringsplats med en CI/CD-pipeline.

Viktiga komponenter i varje mall är:

  • Programkod: Skrivet i Python och byggt med ett populärt webbramverk (till exempel Flask, Django, FastAPI). Exempelappen visar metodtips för routning, dataåtkomst och konfiguration.

  • Infrastruktur som kod (IaC): Tillhandahålls via Bicep-filer för att definiera och etablera nödvändiga Azure-resurser, till exempel:

    • App Service eller Container Apps
    • Azure Databases (till exempel PostgreSQL, Cosmos DB)
    • Azure AI-tjänster, lagring med mera
  • CI/CD-konfiguration (valfritt): Innehåller filer för att konfigurera en GitHub-lagringsplats med en GitHub Actions CI/CD-pipeline, vilket aktiverar:

    • Automatisk distribution till Azure vid varje push- eller pull-begäran till huvudgrenen.
    • Sömlös integrering i ditt DevOps-arbetsflöde

    Dessa mallar är helt anpassningsbara, vilket ger dig en stark grund att bygga vidare på och anpassa efter projektets specifika behov.

Om du vill utföra de uppgifter som definierats av en azd webbmall använder du olika Python-kommandon azd . Detaljerade beskrivningar av dessa kommandon finns i Snabbstart: Distribuera en Azure Developer CLI-mall. Snabbstarten vägleder dig genom stegen för att använda en specifik azd mall. Du behöver bara köra fem viktiga kommandon till produktionsmiljön och lokala utvecklingsmiljön.

I följande tabell sammanfattas de fem viktiga kommandona:

Befallning Uppgiftsbeskrivning
azd init --template <template name> Skapa ett nytt projekt från en mall och skapa en kopia av programkoden på den lokala datorn. Kommandot uppmanar dig att ange ett miljönamn (till exempel "myapp") som används som prefix i namngivningen av de distribuerade resurserna.
azd auth login Logga in på 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.
azd up Etablera molnresurserna och distribuera appen till dessa resurser.
azd deploy Distribuera ändringar i programmets källkod till resurser som redan har tillhandahållits av kommandot azd up.
azd down Ta bort Azure-resurserna och CI/CD-pipelinen om den användes.

Tips/Råd

När du arbetar med azd kommandona kan du titta efter uppmaningar för att ange mer information. När du har kört azd up kommandot kan du uppmanas att välja en prenumeration om du har fler än en. Du kan också uppmanas att ange din region. Du kan ändra svar på frågor genom att redigera miljövariablerna som lagras i mappen /.azure/ i mallen.

När du har slutfört de viktiga uppgifter som tillhandahålls av mallen azd har du en personlig kopia av den ursprungliga mallen där du kan ändra alla filer efter behov.

  • Programkod: Anpassa Python-projektkoden för att implementera din egen design, vägar och affärslogik.
  • Infrastruktur som kod (Bicep): Uppdatera Bicep-filerna för att etablera ytterligare Azure-tjänster, ändra konfigurationer eller ta bort onödiga resurser.

Med den här flexibla utgångspunkten kan du bygga vidare på en välstrukturerad grund samtidigt som du anpassar appen efter ditt verkliga användningsfall.

Du kan också ändra konfigurationen infrastruktur som kod om du behöver ändra Azure-resurserna. Mer information finns i avsnittet Vad kan jag redigera eller ta bort senare i den här artikeln.

Valfria malluppgifter

Förutom de fem viktiga kommandona finns det valfria uppgifter som du kan utföra med mallarna azd .

Omprovisionera och ändra Azure-resurser

När du har etablerat Azure-resurser med en azd mall kan du ändra och återskapa en resurs.

Konfigurera CI/CD-pipeline

Azure Developer CLI (azd) är ett enkelt sätt att konfigurera en CI/CD-pipeline för din nya Python-webbapp. När du sammanfogar incheckningar eller pull-begäranden till din huvudgren skapar och publicerar pipelinen automatiskt ändringarna i dina Azure-resurser.

  • Om du vill konfigurera CI/CD-pipelinen anger du GitHub-lagringsplatsen och önskade inställningar för att aktivera pipelinen.
  • Använd kommandot för att skapa pipelinen azd pipeline config .

När du har konfigurerat pipelinen distribuerar pipelinen ändringarna till dina etablerade Azure-tjänster varje gång kodändringar slås samman till huvudgrenen på lagringsplatsen.

Alternativ till mallarna

Om du föredrar att inte använda Python-webbmallarna azd finns det alternativa metoder för att distribuera Python-webbappar till Azure och etablera Azure-resurser.

Du kan skapa många resurser och slutföra distributionsstegen med hjälp av flera verktyg:

Du kan också följa en heltäckande handledning som innehåller Python-webbutvecklingsramverk.

Vanliga frågor

I följande avsnitt sammanfattas svar på vanliga frågor om hur du arbetar med Python-webbmallarna azd .

Måste jag använda Dev Containers?

Nej. Python-webbmallarna azd använder Visual Studio Code Dev Containers som standard. Dev Containers ger många fördelar, men de kräver viss nödvändig kunskap och programvara. Om du föredrar att inte använda Dev Containers och i stället använder din lokala utvecklingsmiljö läser du filen README.md i rotkatalogen i exempelappen för miljökonfigurationsinstruktioner.

Vad kan jag redigera eller ta bort?

Innehållet i varje Python-webbmall azd kan variera beroende på vilken typ av projekt och den underliggande teknikstacken som används. Mallarna som identifieras i den här artikeln följer en gemensam mapp och filkonvention enligt beskrivningen i följande tabell.

Mapp/fil(er) Avsikt Beskrivning
/ Rotkatalog Rotmappen för varje mall innehåller många olika typer av filer och mappar för olika ändamål.
/.blått azd konfigurationsfiler Mappen .azure skapas när du har kört azd init kommandot. Mappen lagrar konfigurationsfiler för de miljövariabler som används av kommandona azd . 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. Mappen .devcontainer skapas när Visual Studio Code genererar en Dev Container-konfigurationsfil som svar på ett mallkommando.
/.github Konfigurationsfiler för GitHub Actions Den här mappen innehåller konfigurationsinställningar för valfria GitHub Actions CI/CD-pipeline, linting och tester. Om du inte vill konfigurera GitHub Actions-pipelinen med hjälp azd pipeline config av kommandot kan du ändra eller ta bort filen azure-dev.yaml .
/infra Bicep-filer Mappen infra innehåller Bicep-konfigurationsfilerna. 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 . Mer information finns i Snabbstart: Skalningstjänster som distribueras med azd Python-webbmallar med hjälp av Bicep.
/Src Startprojektkodfiler Mappen src innehåller olika kodfiler som krävs för att förbereda startprojektet. Exempel på filer är mallar som krävs av webbramverket, statiska filer, Python-filer (.py) för kodlogik och datamodeller, en requirements.txt fil med mera. De specifika filerna beror på webbramverket, dataåtkomstramverket och så vidare. Du kan ändra filerna så att de passar dina projektkrav.
/.cruft.json Mallgenereringsfil .cruft JSON-filen används internt för att generera Python-webbmallarnaazd. Du kan ta bort den här filen på ett säkert sätt efter behov.
/.gitattributes Fil med attributinställningar för git Den här filen tillhandahåller git med viktiga konfigurationsinställningar för hantering av filer och mappar. Du kan ändra den här filen efter behov.
/.gitignore Fil med ignorerade objekt för git Gitignore-filen informerar git om vilka filer och mappar som ska undantas (ignorera) när du skriver till GitHub-lagringsplatsen för mallen. Du kan ändra den här filen efter behov.
/azure.yaml azd up konfigurationsfil Den här konfigurationsfilen innehåller konfigurationsinställningarna för azd up kommandot. Den anger vilka tjänster och projektmappar som ska distribueras. Viktigt: Den här filen får inte tas bort.
/*.Md Markdown-formatfiler En mall kan innehålla olika Markdown-formatfiler (.md) för olika syften. Du kan ta bort Markdown-filer på ett säkert sätt.
/docker-compose.yml Compose-inställningar för Docker Den här YML-filen skapar containerpaketet för Python-webbprogrammet innan appen distribueras till Azure.
/pyproject.toml Fil för Python-bygginställningar TOML-filen innehåller byggsystemkraven för Python-projekt. Du kan ändra den här filen för att identifiera dina verktygsinställningar, till exempel ett specifikt linter- eller enhetstestningsramverk.
/requirements-dev.in fil med pip-krav Den här filen används för att skapa en utvecklingsmiljöversion av kraven med hjälp pip install -r av kommandot . Du kan ändra den här filen så att den innehåller andra paket efter behov.

Tips/Råd

När du ändrar mallfiler för ditt program bör du använda bra versionskontroll. Den här metoden kan hjälpa dig att återställa lagringsplatsen till en tidigare fungerande version, om nya ändringar orsakar programproblem.

Hur hanterar jag mallfel?

Om du får ett fel när du använder en mall azd, läs de beskrivna alternativen i artikeln Felsöka Azure Developer CLI. Du kan också rapportera problem på GitHub-lagringsplatsen som är associerad med mallen azd .