Teilen über


Übersicht über die Python-Web-Azd-Vorlagen

Python Web Azure Developer CLI (azd)-Vorlagen sind die schnellste und einfachste Möglichkeit zum Erstellen, Konfigurieren und Bereitstellen von Python-Webanwendungen in Azure. Dieser Artikel enthält kontextbezogene Hintergrundinformationen, die Ihnen helfen, die beteiligten Komponenten zu verstehen und wie die Vorlagen die Bereitstellung vereinfachen.

Am besten können Sie mit der Schnellstartanleitung beginnen , um Ihre erste Python-Web-App zu erstellen und sie in Wenigen Minuten mit azd Vorlagen in Azure bereitzustellen. Wenn Sie eine lokale Entwicklungsumgebung nicht einrichten möchten, können Sie die Schnellstartanleitung mithilfe von GitHub Codespaces für eine vollständig cloudbasierte Erfahrung mit allen vorkonfigurierten Tools befolgen.

Was sind die Python-Web-Azd-Vorlagen?

Die azd Vorlagen sind für erfahrene Python-Webentwickler konzipiert, die skalierbare, cloudfähige Anwendungen in Azure mit minimaler Einrichtungszeit bereitstellen möchten.

Diese Vorlagen bieten den einfachsten Ausgangspunkt zum Erstellen und Bereitstellen von Python-Webanwendungen durch:

  • Schnelle Einrichtung einer vollständigen lokalen Entwicklungs- und Hostingumgebung.
  • Automatisieren der Erstellung einer entsprechenden Azure-Bereitstellungsumgebung.
  • Verwenden eines einfachen und einprägsamen CLI-Workflows.

Sobald Ihre Umgebungen eingerichtet sind, bieten die Vorlagen die schnellste Möglichkeit zum Erstellen Ihrer Python-Web-App. Sie haben folgende Möglichkeiten:

  • Ändern Sie die bereitgestellten Codedateien so, dass sie den Anforderungen Ihrer App entsprechen.
  • Bereitstellen von Updates mit minimalem Aufwand mithilfe von azd-Befehlen.
  • Erweitern Sie die Vorlage so, dass sie ihrer Architektur entspricht.

Diese Vorlagen spiegeln bewährte Entwurfsmuster und bewährte Methoden wider, sodass Sie:

  • Bauen Sie mit Vertrauen auf eine solide architektonische Grundlage.
  • Befolgen Sie anleitungen, die von Branchenexperten mit umfassender Erfahrung in Python und Azure entwickelt wurden.
  • Sicherstellen der Wartung, Skalierbarkeit und Sicherheit von Anfang an.

Welche Aufgaben kann ich mit den Vorlagen ausführen?

Wenn Sie eine Python-Webvorlage azd ausführen, führen Sie schnell mehrere Aufgaben aus:

  • Erstellen Sie eine Startanwendung. Sie erstellen eine Website für ein fiktives Unternehmen namens Relecloud. Dieses Startprojekt umfasst:

    • Gut organisierter, produktionsfähiger Code
    • Bewährte Methoden für Python-Webframeworks (z. B. Flask, Django).
    • Ordnungsgemäße Verwendung von Abhängigkeiten, Konfiguration und Struktur.

    Die Vorlage ist als Ausgangspunkt konzipiert– Sie können die Logik frei anpassen und Azure-Ressourcen erweitern oder entfernen, um ihr Projekt anzupassen.

  • Bereitstellen von Azure-Ressourcen. Mithilfe von Bicep, einer modernen IaC-Sprache (Infrastructure-as-Code) stellt die Vorlage alle erforderlichen Azure-Ressourcen bereit für:

    • Hosten Ihrer Web-App (z. B. App Service, Container-Apps)
    • Herstellen einer Verbindung mit Datenbanken (z. B. PostgreSQL, Cosmos DB)

    Die Bicep-Dateien können vollständig bearbeitet werden. Sie können Azure-Dienste hinzufügen oder anpassen, während Sich Ihre App weiterentwickelt. Ähnlich wie bei der vorherigen Aufgabe können Sie die Bicep-Vorlagen ändern , um bei Bedarf weitere Azure-Dienste hinzuzufügen.

  • Bereitstellen der Start-App für bereitgestellte Azure-Ressourcen. Sobald Ressourcen bereitgestellt wurden, wird Ihre Anwendung automatisch in der Azure-Umgebung bereitgestellt. Sie können jetzt:

    • Sehen Sie Ihre App innerhalb von Minuten in der Cloud laufen.
    • Testen Sie das Verhalten.
    • Entscheiden Sie, welche Funktionalität oder Konfiguration als Nächstes aktualisiert werden soll.
  • (Optional) Einrichten des GitHub-Repositorys und der CI/CD-Pipeline. Sie können ein GitHub-Repository optional mit einer GitHub Actions Pipeline für kontinuierliche Integration und Bereitstellung (CI/CD) initialisieren, um:

    • Automatisieren Sie Bereitstellungen bei Codeänderungen.
    • Zusammenarbeiten mit Teammitgliedern.
    • Push-Updates auf Azure durch Zusammenführung mit dem Main Branch.

    Diese Integration hilft Ihnen bei der Einführung bewährter DevOps-Methoden von Anfang an.

Wo kann ich auf die Vorlagen zugreifen?

Viele azd Vorlagen sind im Katalog der Fantastischen Azure Developer CLI-Vorlagen verfügbar. Diese Vorlagen bieten einsatzbereite Python-Web-App-Projekte mit Featureparität in gängigen Kombinationen von Azure-Diensten und Python-Webframeworks.

Jede Vorlage enthält Folgendes:

  • Eine Beispielanwendung mit sauberem, verwaltetem Code.
  • Vorkonfigurierte Infrastructure-as-Code mit Bicep.
  • Nahtlose Bereitstellungsworkflows mithilfe der Azure Developer CLI.
  • Optionale CI/CD-Integration über GitHub Actions

In den folgenden Tabellen sind die Python-Webvorlagenmoniker azd aufgeführt, die für die Verwendung mit dem azd init Befehl verfügbar sind. Die Tabellen identifizieren die in jeder Vorlage implementierten Technologien und stellen einen Link zum entsprechenden GitHub-Repository bereit, in dem Sie Änderungen beitragen können.

Die folgenden azd Vorlagen sind für das Django-Webframework verfügbar.

Schablone Datenbank Hostingplattform GitHub-Repository
azure-django-postgres-flexible-aca Azure-Datenbank für PostgreSQL Flexible Server Azure Container Apps https://github.com/Azure-Samples/azure-django-postgres-flexible-aca
azure-django-postgres-flexible-appservice Azure Database for PostgreSQL Flexible Server Azure App Service https://github.com/Azure-Samples/azure-django-postgres-flexible-appservice
azure-django-cosmos-postgres-aca Azure Cosmos DB für Azure-Datenbank für PostgreSQL Azure Container Apps – ein Dienst für containerbasierte Anwendungen https://github.com/Azure-Samples/azure-django-cosmos-postgres-aca
Azure-Django-Cosmos-Postgres-AppService Azure Cosmos DB für Azure-Datenbank für PostgreSQL Azure App Service https://github.com/Azure-Samples/azure-django-cosmos-postgres-appservice
azure-django-postgres-addon-aca Azure-Container-Apps mit Azure-Datenbank für PostgreSQL Azure Container Apps – ein Dienst für containerbasierte Anwendungen https://github.com/Azure-Samples/azure-django-postgres-addon-aca

Wie sollte ich die Vorlagen verwenden?

Jede azd Vorlage besteht aus einem GitHub-Repository, das den Anwendungscode (Python-Code, der ein beliebtes Webframework verwendet) und die Infrastruktur-as-Code-Dateien (d. h. Bicep) enthält, um die Azure-Ressourcen zu erstellen. Die Vorlage enthält auch die Konfiguration, die zum Einrichten eines GitHub-Repositorys mit einer CI/CD-Pipeline erforderlich ist.

Zu den wichtigsten Komponenten jeder Vorlage gehören:

  • Anwendungscode: Geschrieben in Python und erstellt mit einem beliebten Webframework (z. B. Flask, Django, FastAPI). Die Beispiel-App veranschaulicht bewährte Methoden für Routing, Datenzugriff und Konfiguration.

  • Infrastructure-as-Code (IaC): Über Bicep-Dateien bereitgestellt, um die erforderlichen Azure-Ressourcen zu definieren und bereitzustellen, z. B.:

    • App-Dienst oder Container-Apps
    • Azure-Datenbanken (z. B. PostgreSQL, Cosmos DB)
    • Azure AI-Dienste, Speicher und vieles mehr
  • CI/CD-Konfiguration (Optional): Enthält Dateien zum Einrichten eines GitHub-Repositorys mit einer GitHub Actions CI/CD-Pipeline, die Folgendes ermöglicht:

    • Automatische Bereitstellung in Azure bei jeder Push- oder Pullanforderung an den Hauptzweig.
    • Nahtlose Integration in Ihren DevOps-Workflow

    Diese Vorlagen sind vollständig anpassbar, sodass Sie eine starke Grundlage für die Erstellung und Anpassung an die spezifischen Anforderungen Ihres Projekts haben.

Um die von einer azd Webvorlage definierten Aufgaben auszuführen, verwenden Sie verschiedene Python-Befehle azd . Ausführliche Beschreibungen dieser Befehle finden Sie in der Schnellstartanleitung: Bereitstellen einer Azure Developer CLI-Vorlage. Die Schnellstartanleitung führt Sie durch die Schritte zur Verwendung einer bestimmten azd Vorlage. Sie müssen nur fünf grundlegende Befehlszeilenanweisungen für die Produktionshosting-Umgebung und die lokale Entwicklungsumgebung ausführen.

In der folgenden Tabelle sind die fünf wesentlichen Befehle zusammengefasst:

Befehl Aufgabenbeschreibung
azd init --template <template name> Erstellen Sie ein neues Projekt aus einer Vorlage, und erstellen Sie eine Kopie des Anwendungscodes auf Ihrem lokalen Computer. Sie werden aufgefordert, einen Umgebungsnamen (z. B. "myapp") anzugeben, der als Präfix bei der Benennung der bereitgestellten Ressourcen verwendet wird.
azd auth login Melden Sie sich bei Azure an. Der Befehl öffnet ein Browserfenster, in dem Sie sich bei Azure anmelden können. Nach der Anmeldung wird das Browserfenster geschlossen, und der Befehl wird abgeschlossen. Der azd auth login Befehl ist nur bei der ersten Verwendung der Azure Developer CLI (azd) pro Sitzung erforderlich.
azd up Stellen Sie die Cloudressourcen bereit und stellen Sie die App für diese Ressourcen bereit.
azd deploy Stellen Sie Änderungen am Anwendungsquellcode bereit für Ressourcen, die bereits vom azd up Befehl provisioniert wurden.
azd down Löschen Sie die Azure-Ressourcen und die CI/CD-Pipeline, falls sie verwendet wurde.

Tipp

Wenn Sie mit den azd Befehlen arbeiten, achten Sie auf Eingabeaufforderungen, um weitere Informationen einzugeben. Nachdem Sie den azd up Befehl ausgeführt haben, werden Sie möglicherweise aufgefordert, ein Abonnement auszuwählen, wenn Sie mehrere haben. Möglicherweise werden Sie auch aufgefordert, Ihre Region anzugeben. Sie können die Antworten auf Eingabeaufforderungen ändern, indem Sie die Umgebungsvariablen bearbeiten, die im Ordner "/.azure/ " der Vorlage gespeichert sind.

Nachdem Sie die wesentlichen Aufgaben der azd Vorlage abgeschlossen haben, verfügen Sie über eine persönliche Kopie der ursprünglichen Vorlage, in der Sie jede Datei nach Bedarf ändern können.

  • Anwendungscode: Passen Sie den Python-Projektcode an, um Ihr eigenes Design, Routen und Geschäftslogik zu implementieren.
  • Infrastructure-as-Code (Bicep): Aktualisieren Sie die Bicep-Dateien, um zusätzliche Azure-Dienste bereitzustellen, Konfigurationen zu ändern oder nicht benötigte Ressourcen zu entfernen.

Mit diesem flexiblen Ausgangspunkt können Sie auf einer gut strukturierten Grundlage aufbauen und die App auf Ihren realen Anwendungsfall anpassen.

Sie können auch die Infrastruktur-as-Code-Konfiguration ändern , wenn Sie die Azure-Ressourcen ändern müssen. Weitere Informationen finden Sie weiter unten in diesem Artikel im Abschnitt "Was kann ich bearbeiten oder löschen ".

Optionale Vorlagenaufgaben

Zusätzlich zu den fünf wesentlichen Befehlen gibt es optionale Aufgaben, die Sie mit den azd Vorlagen ausführen können.

Reprovisionierung und Änderung von Azure-Ressourcen

Nachdem Sie Azure-Ressourcen mit einer azd Vorlage bereitgestellt haben, können Sie eine Ressource ändern und neu bereitstellen.

  • Zum Ändern einer bereitgestellten Ressource bearbeiten Sie die entsprechenden Bicep-Dateien in der Vorlage.
  • Verwenden Sie den azd provision Befehl, um die Reprovisioning-Aufgabe zu starten.

Einrichten von CI-/CD-Pipelines

Die Azure Developer CLI (azd) bietet eine einfache Möglichkeit zum Einrichten einer CI/CD-Pipeline für Ihre neue Python-Web-App. Wenn Sie Commits oder Pull-Requests in Ihrem Main Branch zusammenführen, erstellt und veröffentlicht die Pipeline automatisch die Änderungen an Ihren Azure-Ressourcen.

  • Um die CI/CD-Pipeline einzurichten, legen Sie das GitHub-Repository und die gewünschten Einstellungen fest, um die Pipeline zu aktivieren.
  • Verwenden Sie den azd pipeline config Befehl, um die Pipeline zu erstellen.

Nachdem Sie die Pipeline konfiguriert haben, stellt die Pipeline jedes Mal, wenn Code-Änderungen in den Main Branch des Repositorys zusammengeführt werden, die Änderungen für Ihre bereitgestellten Azure Services bereit.

Alternativen zu den Vorlagen

Wenn Sie die Python-Webvorlagen azd nicht verwenden möchten, gibt es alternative Methoden zum Bereitstellen von Python-Web-Apps für Azure und die Bereitstellung von Azure-Ressourcen.

Sie können viele Ressourcen erstellen und die Bereitstellungsschritte ausführen, indem Sie mehrere Tools verwenden:

Sie können auch einem End-to-End-Lernprogramm folgen, das Python-Webentwicklungsframeworks enthält:

Häufig gestellte Fragen

In den folgenden Abschnitten werden Antworten auf häufig gestellte Fragen zum Arbeiten mit den Python-Webvorlagen azd zusammengefasst.

Muss ich Dev-Container verwenden?

Nein. Die Python-Webvorlagen azd verwenden standardmäßig Visual Studio Code Dev Containers . Dev Containers bieten viele Vorteile, aber sie erfordern einige erforderliche Kenntnisse und Software. Wenn Sie Dev-Container nicht verwenden und stattdessen Ihre lokale Entwicklungsumgebung verwenden möchten, lesen Sie die README.md Datei im Stammverzeichnis der Beispiel-App, um Anweisungen zum Einrichten der Umgebung zu erhalten.

Was kann ich bearbeiten oder löschen?

Die Inhalte jeder Python-Webvorlage azd können je nach Art des Projekts und dem zugrunde liegenden Technologiestapel variieren. Die in diesem Artikel identifizierten Vorlagen folgen einer allgemeinen Ordner- und Dateikonvention, wie in der folgenden Tabelle beschrieben.

Ordner/Datei(en) Zweck BESCHREIBUNG
/ Stammverzeichnis Der Stammordner für jede Vorlage enthält viele verschiedene Arten von Dateien und Ordnern für unterschiedliche Zwecke.
/.azure azd Konfigurationsdateien Der Azure-Ordner wird erstellt, nachdem Sie den azd init Befehl ausgeführt haben. Der Ordner speichert Konfigurationsdateien für die Von den azd Befehlen verwendeten Umgebungsvariablen. Sie können die Werte der Umgebungsvariablen ändern, um die App und die Azure-Ressourcen anzupassen. Weitere Informationen finden Sie in der umgebungsspezifischen env-Datei.
/.devcontainer Dev Container-Konfigurationsdateien Mit Dev Containers können Sie eine containerbasierte Entwicklungsumgebung erstellen, die vollständig mit allen Ressourcen ist, die Sie für die Softwareentwicklung innerhalb von Visual Studio Code benötigen. Der Ordner ".devcontainer " wird erstellt, nachdem Visual Studio Code als Reaktion auf einen Vorlagenbefehl eine Dev Container-Konfigurationsdatei generiert hat.
/.github Konfigurationsdateien für GitHub-Aktionen Dieser Ordner enthält Konfigurationseinstellungen für die optionale GitHub Actions CI/CD-Pipeline, Linting und Tests. Wenn Sie die GitHub Actions-Pipeline nicht mithilfe azd pipeline config des Befehls einrichten möchten, können Sie die Datei "azure-dev.yaml " ändern oder löschen.
/infra Bicep-Dateien Der Infrastrukturordner enthält die Bicep-Konfigurationsdateien. Mit Bicep können Sie die Azure-Ressourcen deklarieren, die Sie in Ihrer Umgebung bereitstellen möchten. Sie sollten nur die Dateien "main.bicep " und "web.bicep " ändern. Weitere Informationen finden Sie in der Schnellstartanleitung: Skalierungsdienste, die mit den azd Python-Webvorlagen mithilfe von Bicep bereitgestellt werden.
/Src Startprojektcodedateien Der Ordner "src " enthält verschiedene Codedateien, die zum Vorbereiten des Startprojekts erforderlich sind. Beispiele für die Dateien sind Vorlagen, die vom Webframework benötigt werden, statische Dateien, Python-Dateien (.py) für die Codelogik und Datenmodelle, eine requirements.txt Datei und vieles mehr. Die spezifischen Dateien hängen vom Webframework, dem Datenzugriffsframework usw. ab. Sie können diese Dateien an Ihre Projektanforderungen anpassen.
/.cruft.json Vorlagengenerierungsdatei Die CRUFT-JSON-Datei wird intern verwendet, um die Python-Webvorlagen azd zu generieren. Sie können diese Datei nach Bedarf sicher löschen.
/.gitattributes Datei mit Attributeinstellungen für Git Diese Datei bietet Git wichtige Konfigurationseinstellungen für die Verarbeitung von Dateien und Ordnern. Sie können diese Datei nach Bedarf ändern.
/.gitignore Datei mit ignorierten Elementen für Git Die Gitignore-Datei informiert Git über die Dateien und Ordner, die ausgeschlossen werden sollen (ignorieren), wenn Sie in das GitHub-Repository für die Vorlage schreiben. Sie können diese Datei nach Bedarf ändern.
/azure.yaml azd up Konfigurationsdatei Diese Konfigurationsdatei enthält die Konfigurationseinstellungen für den azd up Befehl. Es gibt die Dienste und Projektordner an, die bereitgestellt werden sollen. Wichtig: Diese Datei darf nicht gelöscht werden.
/*.md Markdown-Formatdateien Eine Vorlage kann verschiedene Markdown-Formatdateien (.md) für unterschiedliche Zwecke enthalten. Sie können Markdown-Dateien sicher löschen.
/docker-compose.yml Docker-Compose-Einstellungen Diese YML-Datei erstellt das Containerpaket für die Python-Webanwendung, bevor die App in Azure bereitgestellt wird.
/pyproject.toml Python Build-Einstellungsdatei Die TOML-Datei enthält die Buildsystemanforderungen von Python-Projekten. Sie können diese Datei ändern, um Ihre Tooleinstellungen zu identifizieren, z. B. ein bestimmtes Linter- oder Komponententestframework.
/requirements-dev.in Pip-Anforderungsdatei Diese Datei wird verwendet, um eine Entwicklungsumgebungsversion der Anforderungen mithilfe des pip install -r Befehls zu erstellen. Sie können diese Datei nach Bedarf so ändern, dass sie andere Pakete enthält.

Tipp

Achten Sie beim Ändern von Vorlagendateien für Ihr Programm darauf, eine gute Versionssteuerung zu üben. Dieser Ansatz kann Ihnen helfen, Ihr Repository auf eine frühere funktionierende Version wiederherzustellen, wenn neue Änderungen Programmprobleme verursachen.

Wie kann ich Vorlagenfehler behandeln?

Wenn beim Verwenden einer azd Vorlage eine Fehlermeldung angezeigt wird, lesen Sie die Optionen, die im Artikel Problembehandlung für die Azure Developer CLI beschrieben sind. Sie können auch Probleme im GitHub-Repository melden, das der azd Vorlage zugeordnet ist.