Erste Schritte mit Python in Azure

Verwenden Sie dieses Dokument als Prüfliste und einen Leitfaden, während Sie mit der Entwicklung von Python-Anwendungen beginnen, die in der Cloud gehostet werden oder Clouddienste nutzen. Wenn Sie den Links und Anweisungen in diesem Dokument folgen, gehen Sie wie folgt vor:

  • grundlegende Kenntnisse darüber, was die Cloud ist und wie Sie Ihre Anwendung mit der Cloud entwerfen.
  • Richten Sie Ihre lokale Entwicklungsumgebung ein, einschließlich der Tools und Bibliotheken, die Sie zum Erstellen von cloudbasierten Anwendungen benötigen.
  • Den Workflow beim Entwickeln von cloudbasierten Anwendungen verstehen.

Phase 1: Lernkonzepte

Wenn Sie noch nicht mit der Entwicklung von Anwendungen für die Cloud vertraut sind, hilft Ihnen diese kurze Reihe von Artikeln mit Videos, die Ihnen helfen, schnell auf dem neuesten Stand zu sein.

Sobald Sie die Grundlagen der Entwicklung von Anwendungen für die Cloud verstanden haben, sollten Sie Ihre Entwicklungsumgebung einrichten und eine Schnellstartanleitung oder ein Lernprogramm befolgen, um Ihre erste App zu erstellen.

Phase 2: Konfigurieren Ihrer lokalen Python-Umgebung für die Azure-Entwicklung

Um Python-Anwendungen mit Azure zu entwickeln, möchten Sie zuerst Ihre lokale Entwicklungsumgebung konfigurieren. Die Konfiguration umfasst das Erstellen eines Azure-Kontos, die Installation von Tools für die Azure-Entwicklung und das Verbinden dieser Tools mit Ihrem Azure-Konto.

Für die Entwicklung auf Azure ist Python 3.8 oder höher erforderlich. Um die Version von Python auf Ihrer Arbeitsstation zu überprüfen, geben Sie in einem Konsolenfenster den Befehl python3 --version für macOS/Linux oder py --version für Windows ein.

Erstellen eines Azure-Kontos

Um Python-Anwendungen mit Azure zu entwickeln, benötigen Sie ein Azure-Konto. Ihr Azure-Konto ist die Anmeldeinformationen, mit der Sie sich bei Azure anmelden und was Sie zum Erstellen von Azure-Ressourcen verwenden.

Wenn Sie Azure bei der Arbeit verwenden, wenden Sie sich an den Cloudadministrator Ihres Unternehmens, um Ihre Anmeldeinformationen für die Anmeldung bei Azure zu erhalten.

Andernfalls können Sie kostenlos ein Azure-Konto erstellen und 12 Monate beliebte Dienste kostenlos erhalten und eine Gutschrift von 200 $ erhalten, um Azure für 30 Tage zu erkunden.

Verwenden des Azure-Portals

Sobald Sie Ihre Anmeldeinformationen haben, können Sie sich bei der Azure-Portal anmelden unter https://portal.azure.com. Die Azure-Portal ist in der Regel die einfachste Möglichkeit, mit Azure zu beginnen, insbesondere, wenn Sie mit Azure und der Cloudentwicklung noch nicht vertraut sind. Im Azure-Portal können Sie verschiedene Verwaltungsaufgaben wie das Erstellen und Löschen von Ressourcen ausführen.

Wenn Sie bereits mit der Entwicklung von Azure und der Cloud vertraut sind, beginnen Sie wahrscheinlich mit der Verwendung von Tools wie Visual Studio Code und Azure CLI. Artikel im Python Developer Center zeigen, wie Sie mit den Azure-Portal, Visual Studio Code und Azure CLI arbeiten.

Visual Studio Code verwenden

Sie können einen beliebigen Editor oder eine beliebige IDE verwenden, um Python-Code zu schreiben, wenn Sie für Azure entwickeln. Sie können jedoch die Verwendung von Visual Studio Code für die Azure- und Python-Entwicklung in Betracht ziehen. Visual Studio Code bietet viele Erweiterungen und Anpassungen für Azure und Python, die Ihren Entwicklungszyklus und die Bereitstellung von einer lokalen Umgebung zu Azure vereinfachen.

Installieren Sie für die Python-Entwicklung mit Visual Studio Code:

  • Python-Erweiterung. Diese Erweiterung umfasst IntelliSense (Pylance), Linting, Debugging (Multithreaded, Remote), Jupyter-Notizbücher, Codeformatierung, Umgestaltung, Komponententests und vieles mehr.

  • Azure Tools-Erweiterungspaket. Das Erweiterungspaket enthält Erweiterungen für die Arbeit mit Azure-App Service, Azure Functions, Azure Storage, Azure Cosmos DB und Azure Virtual Machines in einem praktischen Paket. Die Azure-Erweiterungen erleichtern das Auffinden und Interagieren mit azure.

So installieren Sie Erweiterungen aus Visual Studio Code:

  1. Drücken Sie STRG+UMSCHALT+X, um das Fenster Erweiterungen zu öffnen.
  2. Suchen Sie nach der Erweiterung Azure-Tools.
  3. Wählen Sie die Schaltfläche Installieren aus.

Screenshot of the Visual Studio Code showing extensions panel searching for the Azure Tools extension pack.

Weitere Informationen zur Installation von Erweiterungen in Visual Studio Code finden Sie im Dokument zum Marketplace für Erweiterungen auf der Visual Studio Code-Website.

Melden Sie sich nach der Installation der Azure Tools-Erweiterung mit Ihrem Azure-Konto an. Im linken Panel wird ein Azure-Symbol angezeigt. Klicken Sie auf dieses Symbol, um Einstellungen für Azure-Dienste anzuzeigen. Wählen Sie "Bei Azure anmelden" aus, um den Authentifizierungsprozess abzuschließen.

Screenshot of the Visual Studio Code showing how to sign-in the Azure tools to Azure.

Hinweis

Wenn der Fehler Abonnement mit dem Namen [Abonnement-ID] nicht gefunden auftritt, kann dies daran liegen, dass Sie sich hinter einem Proxy befinden und die Azure-API nicht erreichen können. Konfigurieren Sie die Umgebungsvariablen HTTP_PROXY und HTTPS_PROXY in Ihrem Terminal mit Ihren Proxyinformationen:

# Windows
set HTTPS_PROXY=https://username:password@proxy:8080
set HTTP_PROXY=http://username:password@proxy:8080
# macOS/Linux
export HTTPS_PROXY=https://username:password@proxy:8080
export HTTP_PROXY=http://username:password@proxy:8080

Verwenden der Azure CLI

Zusätzlich zu den Azure-Portal und Visual Studio Code bietet Azure auch das Befehlszeilentool Azure CLI zum Erstellen und Verwalten von Azure-Ressourcen an. Die Azure CLI sorgt für Effizienz und Wiederholbarkeit und bietet die Möglichkeit zur Ausführung wiederkehrender Aufgaben in Skripts. In der Praxis verwenden die meisten Entwickler sowohl das Azure-Portal als auch die Azure CLI.

Melden Sie sich nach der Installation der Azure CLI bei Ihrem Azure-Konto über die Azure CLI an, indem Sie den Befehl az login in ein Terminalfenster auf Ihrer Arbeitsstation eingeben.

az login

Die Azure CLI öffnet Ihren Standardbrowser, um den Anmeldevorgang abzuschließen.

Konfigurieren der virtuellen Python-Umgebung

Beim Erstellen von Python-Anwendungen für Azure wird empfohlen, für jede Anwendung eine virtuelle Umgebung zu erstellen. Eine virtuelle Umgebung ist ein eigenständiges Verzeichnis für eine bestimmte Version von Python sowie die anderen Pakete, die für diese Anwendung benötigt werden.

Führen Sie die folgenden Schritte aus, um eine virtuelle Umgebung zu erstellen.

  1. Öffnen Sie ein Terminal oder eine Eingabeaufforderung.

  2. Erstellen Sie einen Ordner für Ihr Projekt.

  3. Erstellen der virtuellen Umgebung:

    # py -3 uses the global python interpreter. You can also use python3 -m venv .venv.
    py -3 -m venv .venv
    

    Dieser Befehl führt das Python-Modul venv aus und erstellt eine virtuelle Umgebung in einem Ordner ".venv". In der Regel haben GITIGnore-Dateien einen Eintrag ".venv", sodass die virtuelle Umgebung nicht mit Ihren Codeüberprüfungen eingecheckt wird.

  4. Aktivieren der virtuellen Umgebung:

    .venv\Scripts\activate
    

    Hinweis

    Wenn Sie die Windows-Befehlsshell verwenden, aktivieren Sie die virtuelle Umgebung mit .venv\Scripts\activate. Wenn Sie Git Bash in Visual Studio Code unter Windows verwenden, verwenden Sie stattdessen den Befehlsource .venv/Scripts/activate.

Sobald Sie diese Umgebung aktiviert haben (was in Visual Studio Code automatisch erfolgt), wird durch das Ausführen von pip install nur eine Bibliothek in dieser Umgebung installiert. Python-Code, der in einer virtuellen Umgebung ausgeführt wird, verwendet die in dieser virtuellen Umgebung installierten spezifischen Paketversionen. Die Verwendung verschiedener virtueller Umgebungen ermöglicht es verschiedenen Anwendungen, unterschiedliche Versionen eines Pakets zu verwenden, was manchmal erforderlich ist. Weitere Informationen zu virtuellen Umgebungen finden Sie unter "Virtuelle Umgebungen und Pakete " in den Python-Dokumenten.

Wenn sich Ihre Anforderungen beispielsweise in einer Datei "requirements.txt " befinden, können Sie sie in der aktivierten virtuellen Umgebung installieren:

pip install -r requirements.txt

Phase 3: Grundlegendes zum Azure-Entwicklungsworkflow

Vorheriger Artikel: Bereitstellen und Verwalten von und Zugreifen auf Ressourcen

Nachdem Sie nun das Azure-Modell der Dienste und Ressourcen verstanden haben, können Sie den Gesamtablauf der Entwicklung von Cloudanwendungen mit Azure nachvollziehen: Bereitstellung, Codierung, Tests, Implementierung und Verwaltung.

Schritt Primäre Tools Aktivitäten
bereitstellen Azure CLI, Azure-Portal, VS Code Azure Tools-Erweiterungen, Cloud Shell, Python-Skripts mit Azure SDK-Verwaltungsbibliotheken Erstellen von Ressourcengruppen und Erstellen von Ressourcen in diesen Gruppen; Konfigurieren Sie Ressourcen für die Verwendung aus App-Code und/oder bereit für den Empfang von Python-Code in Bereitstellungen.
Code Code-Editor (z. B. Visual Studio Code und PyCharm), Azure SDK-Clientbibliotheken, Referenzdokumentation Schreiben Sie Python-Code mithilfe der Azure SDK-Clientbibliotheken, um mit bereitgestellten Ressourcen zu interagieren.
Testen Python-Runtime, Debugger Lokales Ausführen von Python-Code für aktive Cloudressourcen (in der Regel für Entwicklungs- oder Testressourcen, nicht für Produktionsressourcen). Der Code selbst wird noch nicht in Azure gehostet, wodurch Sie schnell debuggen und durchlaufen können.
Bereitstellen VS Code, Azure CLI, GitHub Actions, Azure Pipelines Nachdem der Code lokal getestet wurde, stellen Sie ihn in einem geeigneten Azure-Hostingdienst bereit, in dem der Code selbst in der Cloud ausgeführt werden kann. Bereitgestellter Code wird normalerweise für Staging- oder Produktionsressourcen ausgeführt.
Verwalten Azure CLI, Azure-Portal, VS Code, Python-Skripts, Azure Monitor Überwachen der Leistung und Reaktionsfähigkeit von Apps, Vornehmen von Anpassungen in der Produktionsumgebung, Rückmigration von Verbesserungen in die Entwicklungsumgebung für die nächste Bereitstellungs- und Entwicklungsrunde.

Schritt 1: Bereitstellen und Konfigurieren von Ressourcen

Wie im vorherigen Artikel dieser Reihe beschrieben, besteht der erste Schritt bei der Entwicklung einer beliebigen Anwendung darin, die Ressourcen, die die Zielumgebung für Ihre Anwendung bilden, bereitzustellen und zu konfigurieren.

Die Bereitstellung beginnt mit dem Erstellen einer Ressourcengruppe in einer geeigneten Azure-Region. Sie können eine Ressourcengruppe über die Azure-Portal, VS Code mit Azure Tools-Erweiterungen, die Azure CLI oder mit einem benutzerdefinierten Skript erstellen, das die Azure SDK-Verwaltungsbibliotheken (oder REST-API) verwendet.

Innerhalb dieser Ressourcengruppe stellen Sie dann die benötigten einzelnen Ressourcen bereit und konfigurieren sie erneut über das Portal, VS Code, die CLI oder das Azure SDK. (Eine Übersicht über die Typen verfügbarer Ressourcen finden Sie wieder im Azure-Entwicklerhandbuch.)

Die Konfiguration umfasst das Festlegen von Zugriffsrichtlinien, die steuern, welche Identitäten (Dienstprinzipale und/oder Anwendungs-IDs) auf diese Ressourcen zugreifen können. Zugriffsrichtlinien werden über die rollenbasierte Zugriffssteuerung (Azure Role-Based Access Control, RBAC) verwaltet. Einige Dienste verfügen auch über spezifischere Zugriffssteuerungen. Stellen Sie als Cloudentwickler, der mit Azure arbeitet, sicher, dass Sie sich mit Azure RBAC vertraut machen, da Sie es mit genau jeder Ressource verwenden, die Sicherheitsbedenken hat.

In den meisten Anwendungsszenarien erstellen Sie in der Regel Bereitstellungsskripts mit dem Azure CLI- und/oder Python-Code mithilfe der Azure SDK-Verwaltungsbibliotheken. Diese Skripts beschreiben die Gesamtheit des Ressourcenbedarfs Ihrer Anwendung (und definieren im Wesentlichen den benutzerdefinierten Cloudcomputer, auf dem Sie die Anwendung bereitstellen). Mit einem Skript können Sie auf einfache Weise den gleichen Satz von Ressourcen in unterschiedlichen Umgebungen wie Entwicklung, Test, Staging und Produktion neu erstellen. Wenn Sie automatisieren, können Sie viele wiederholte Schritte in Azure-Portal oder VS-Code vermeiden. Mit solchen Skripts wird außerdem die Bereitstellung einer Umgebung in einer anderen Region oder die Verwendung anderer Ressourcengruppen vereinfacht. Wenn Sie diese Skripts in Quellcodeverwaltungsrepositorys verwalten, verfügen Sie über einen vollständigen Überwachungs- und Änderungsverlauf.

Schritt 2: Schreiben des App-Codes für die Verwendung von Ressourcen

Nachdem Sie die für Ihre Anwendung benötigten Ressourcen bereitgestellt haben, schreiben Sie den Anwendungscode, um mit den Laufzeitaspekten dieser Ressourcen zu arbeiten.

Beispielsweise haben Sie im Bereitstellungsschritt möglicherweise ein Azure-Speicherkonto erstellt, einen Blobcontainer in diesem Konto angelegt und Zugriffsrichtlinien für die Anwendung für diesen Container festgelegt. Dieser Bereitstellungsprozess wird unter Beispiel: Bereitstellen von Azure Storage mit den Azure-Bibliotheken für Python erläutert. Aus Ihrem Code können Sie sich dann mit diesem Speicherkonto authentifizieren und Blobs in diesem Container erstellen, aktualisieren oder löschen. Dieser Laufzeitprozess wird unter Beispiel: Bereitstellen von Azure Storage mit den Azure-Bibliotheken für Python veranschaulicht. Sie haben analog dazu möglicherweise auch eine Datenbank mit einem Schema und entsprechenden Berechtigungen bereitgestellt (wie unter Beispiel: Verwenden der Azure-Bibliotheken zum Bereitstellen einer Datenbank erläutert), damit der Anwendungscode eine Verbindung mit der Datenbank herstellen und die üblichen CRUD-Abfragen (Erstellen, Lesen, Aktualisieren und Löschen) ausführen kann.

App-Code verwendet in der Regel Umgebungsvariablen, um die Namen und URLs der zu verwendenden Ressourcen zu identifizieren. Mit Umgebungsvariablen können Sie problemlos zwischen Cloudumgebungen (Entwicklung, Test, Staging und Produktion) wechseln, ohne dass Änderungen am Code vorgenommen werden müssen. Die verschiedenen Azure-Dienste, die Anwendungscode hosten, bieten die Möglichkeit, die erforderlichen Variablen zu definieren. Beispielsweise definieren Sie in Azure-App Dienst (zum Hosten von Web-Apps) und Azure-Funktionen (serverlose Berechnung für Azure) Anwendungseinstellungen über die Azure-Portal, VS Code oder Azure CLI, die dann als Umgebungsvariablen angezeigt werden.

Als Python-Entwickler schreiben Sie wahrscheinlich Ihren Anwendungscode in Python mithilfe der Azure SDK-Clientbibliotheken für Python. Allerdings können alle unabhängigen Teile einer Cloudanwendung in einer beliebigen unterstützten Sprache geschrieben werden. Wenn Sie an einem Team mit mehreren Programmiersprachen arbeiten, ist es möglich, dass einige Teile der Anwendung Python, einige JavaScript, einige JavaScript und andere C# verwenden.

Anwendungscode kann die Azure SDK-Verwaltungsbibliotheken verwenden, um Bereitstellungs- und Verwaltungsvorgänge nach Bedarf auszuführen. Die Bereitstellung von Skripts kann auf ähnliche Weise die SDK-Clientbibliotheken verwenden, um Ressourcen mit bestimmten Daten zu initialisieren oder Hausaufgaben in Cloudressourcen durchzuführen, auch wenn diese Skripts lokal ausgeführt werden.

Schritt 3: Testen und Debuggen des App-Codes lokal

Entwickler testen App-Code in der Regel auf ihren lokalen Arbeitsstationen, bevor Sie diesen Code in der Cloud bereitstellen. Das lokale Testen von App-Code bedeutet, dass Sie in der Regel auf andere Ressourcen zugreifen, die Sie bereits in der Cloud bereitgestellt haben, z. B. Speicher, Datenbanken usw. Der Unterschied besteht darin, dass Sie den App-Code selbst noch nicht innerhalb eines Clouddiensts ausführen.

Indem Sie den Code lokal ausführen, können Sie auch die Debugfunktionen von Tools wie Visual Studio Code nutzen und Ihren Code in einem Quellcodeverwaltungsrepository verwalten.

Sie müssen Ihren Code nicht für lokale Tests ändern: Azure unterstützt die lokale Entwicklung und das Debuggen vollständig mit demselben Code, den Sie in der Cloud bereitstellen. Umgebungsvariablen sind erneut der Schlüssel: In der Cloud kann Ihr Code auf die Einstellungen der Hostressource als Umgebungsvariablen zugreifen. Wenn Sie dieselben Umgebungsvariablen lokal erstellen, wird derselbe Code ohne Änderung ausgeführt. Dieses Muster funktioniert für Authentifizierungsanmeldeinformationen, Ressourcen-URLs, Verbindungszeichenfolgen und eine beliebige Anzahl anderer Einstellungen, wodurch die Verwendung von Ressourcen in einer Entwicklungsumgebung beim lokalen Ausführen von Code und von Produktionsressourcen nach der Bereitstellung des Codes in der Cloud vereinfacht wird.

Schritt 4: Bereitstellen ihres App-Codes in Azure

Sobald Sie Ihren Code lokal getestet haben, können Sie den Code in der Azure-Ressource bereitstellen, die Sie für das Hosting bereitgestellt haben. Wenn Sie beispielsweise eine Django-Web-App schreiben, stellen Sie den Code entweder auf einem virtuellen Computer (auf dem Sie Ihren eigenen Webserver bereitstellen) oder in Azure App Service (dort wird der Webserver für Sie bereitgestellt) bereit. Nach der Bereitstellung wird der Code auf dem Server statt auf Ihrem lokalen Computer ausgeführt und kann auf alle Azure-Ressourcen zugreifen, für die er autorisiert ist.

Wie bereits im vorherigen Abschnitt erwähnt, stellen Sie in typischen Entwicklungsprozessen zuerst Ihren Code für die Ressourcen bereit, die Sie in einer Entwicklungsumgebung bereitgestellt haben. Nach einer Reihe von Tests stellen Sie Ihren Code in Ressourcen in einer Stagingumgebung bereit, sodass die Anwendung für das Testteam und möglicherweise für Vorschaukunden verfügbar ist. Wenn Sie mit der Leistung der Anwendung zufrieden sind, können Sie den Code in Ihrer Produktionsumgebung bereitstellen. All diese Bereitstellungen können auch mithilfe von Azure Pipelines und GitHub-Aktionen automatisiert werden.

Sobald der Code jedoch in der Cloud bereitgestellt wurde, wird er wirklich zu einer Cloudanwendung, die vollständig auf den Servercomputern in Azure-Rechenzentren ausgeführt wird.

Schritt 5: Verwalten, Überwachen und Überarbeiten

Nach der Bereitstellung sollten Sie sicherstellen, dass die Anwendung wie gewünscht funktioniert, auf Kundenanforderungen reagiert und Ressourcen effizient (und zu den niedrigsten Kosten) nutzt. Sie können verwalten, wie Azure Ihre Bereitstellung bei Bedarf automatisch skaliert, und Sie können Leistungsdaten mit Azure-Portal, VS Code, der Azure CLI oder benutzerdefinierten Skripts sammeln und überwachen, die mit den Azure SDK-Bibliotheken geschrieben wurden. Sie können dann Anpassungen an Ihren bereitgestellten Ressourcen in Echtzeit vornehmen, um die Leistung zu optimieren, indem Sie die gleichen Tools verwenden.

Die Überwachung gibt Aufschluss darüber, wie Sie Ihre Cloudanwendung ggf. neu strukturieren können. Beispielsweise können Sie feststellen, dass bestimmte Teile einer Web-App (z. B. eine Gruppe von API-Endpunkten) nur gelegentlich im Vergleich zu den primären Teilen verwendet werden. Sie können diese APIs dann separat als serverlose Azure-Funktionen bereitstellen. Als Funktionen verfügen sie über eigene Sicherungsberechnungsressourcen, die nicht mit der Standard Anwendung konkurrieren, sondern nur Pennies pro Monat kosten. Ihre Hauptanwendung kann dann auf eine größere Anzahl von Kunden reagieren, ohne dass Sie sie in einen höheren Kostentarif hochskalieren müssen.

Nächste Schritte

Sie sind jetzt mit der grundlegenden Struktur von Azure und dem allgemeinen Entwicklungsablauf vertraut: Bereitstellen von Ressourcen, Schreiben und Testen von Code, Bereitstellen des Codes in Azure und Überwachen und Verwalten dieser Ressourcen.