Delen via


Aan de slag met Python in Azure

Gebruik dit document als een controlelijst en een handleiding wanneer u begint met het ontwikkelen van Python-toepassingen die worden gehost in de cloud of cloudservices gebruiken. Als u de koppelingen en instructies in dit document volgt, gaat u het volgende doen:

  • hebben een fundamenteel begrip van wat de cloud is en hoe u uw toepassing ontwerpt met de cloud in gedachten.
  • stel uw lokale ontwikkelomgeving in, inclusief de hulpprogramma's en bibliotheken die u nodig hebt om cloudtoepassingen te bouwen.
  • inzicht in de werkstroom bij het ontwikkelen van cloudtoepassingen.

Fase 1: Leerconcepten

Als u geen kennis hebt met het ontwikkelen van toepassingen voor de cloud, helpt deze korte reeks artikelen met video's u snel aan de slag te gaan.

Zodra u de basisprincipes van het ontwikkelen van toepassingen voor de cloud begrijpt, moet u uw ontwikkelomgeving instellen en een quickstart of zelfstudie volgen om uw eerste app te bouwen.

Fase 2: Uw lokale Python-omgeving configureren voor Azure-ontwikkeling

Als u Python-toepassingen wilt ontwikkelen met behulp van Azure, moet u eerst uw lokale ontwikkelomgeving configureren. Configuratie omvat het maken van een Azure-account, het installeren van hulpprogramma's voor Azure-ontwikkeling en het verbinden van deze hulpprogramma's met uw Azure-account.

Voor ontwikkelen in Azure is Python 3.8 of hoger vereist. Als u de versie van Python op uw werkstation wilt controleren, typt u in een consolevenster de opdracht python3 --version voor macOS/Linux of py --version voor Windows.

Een Azure-account maken

Als u Python-toepassingen wilt ontwikkelen met Azure, hebt u een Azure-account nodig. Uw Azure-account is de referenties waarmee u zich aanmeldt bij Azure en waarmee u Azure-resources maakt.

Als u Azure op het werk gebruikt, neem dan contact op met de cloudbeheerder van uw bedrijf om uw referenties op te halen die worden gebruikt om u aan te melden bij Azure.

Anders kunt u gratis een Azure-account maken en 12 maanden gratis populaire services en een tegoed van $ 200 ontvangen om Azure gedurende 30 dagen te verkennen.

De Azure-portal gebruiken

Zodra u uw referenties hebt, kunt u zich aanmelden bij Azure Portal op https://portal.azure.com. Azure Portal is doorgaans de eenvoudigste manier om aan de slag te gaan met Azure, met name als u geen toegang hebt tot Azure en cloudontwikkeling. In Azure Portal kunt u verschillende beheertaken uitvoeren, zoals het maken en verwijderen van resources.

Als u al ervaring hebt met Azure en cloudontwikkeling, gaat u waarschijnlijk aan de slag met hulpprogramma's zoals Visual Studio Code en Azure CLI. Artikelen in het Python-ontwikkelaarscentrum laten zien hoe u kunt werken met Azure Portal, Visual Studio Code en Azure CLI.

Visual Studio Code gebruiken

U kunt elke editor of IDE gebruiken om Python-code te schrijven bij het ontwikkelen voor Azure. U kunt echter overwegen om Visual Studio Code te gebruiken voor Azure- en Python-ontwikkeling. Visual Studio Code biedt veel extensies en aanpassingen voor Azure en Python, waardoor uw ontwikkelingscyclus en de implementatie van een lokale omgeving naar Azure eenvoudiger worden.

Voor Python-ontwikkeling met Visual Studio Code installeert u:

  • Python-extensie. Deze extensie omvat IntelliSense (Pylance), Linting, Foutopsporing (meerdere threads, extern), Jupyter Notebooks, codeopmaak, herstructureren, eenheidstests en meer.

  • Azure Tools-extensiepakket. Het extensiepakket bevat extensies voor het werken met Azure-app Service, Azure Functions, Azure Storage, Azure Cosmos DB en Azure Virtual Machines in één handig pakket. Met de Azure-extensies kunt u eenvoudig azure detecteren en ermee werken.

Extensies installeren vanuit Visual Studio Code:

  1. Druk op Ctrl+Shift+X om het venster Extensies te openen.
  2. Zoek naar de Azure Tools-extensie .
  3. Selecteer de knop Installeren .

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

Raadpleeg het document Extension Marketplace op de website van Visual Studio Code voor meer informatie over het installeren van extensies in Visual Studio Code.

Nadat u de Azure Tools-extensie hebt geïnstalleerd, meldt u zich aan met uw Azure-account. In het linkerdeelvenster ziet u een Azure-pictogram. Selecteer dit pictogram en er wordt een configuratiescherm voor Azure-services weergegeven. Kies Aanmelden bij Azure... om het verificatieproces te voltooien.

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

Notitie

Als u de fout 'Kan abonnement met de naam [abonnements-id] niet vinden' ziet, kan dit komen doordat u zich achter een proxy bevindt en de Azure-API niet kunt bereiken. Configureer HTTP_PROXY en HTTPS_PROXY omgevingsvariabelen met uw proxygegevens in uw terminal:

# 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

De Azure CLI gebruiken

Naast Azure Portal en Visual Studio Code biedt Azure ook het azure CLI-opdrachtregelprogramma voor het maken en beheren van Azure-resources. De Azure CLI biedt de voordelen van efficiëntie, herhaalbaarheid en de mogelijkheid om terugkerende taken te scripten. In de praktijk gebruiken de meeste ontwikkelaars zowel De Azure-portal als de Azure CLI.

Nadat u de Azure CLI hebt geïnstalleerd, meldt u zich vanuit de Azure CLI aan bij uw Azure-account door de opdracht az login in een terminalvenster op uw werkstation te typen.

az login

De Azure CLI opent uw standaardbrowser om het aanmeldingsproces te voltooien.

Virtuele Python-omgeving configureren

Wanneer u Python-toepassingen voor Azure maakt, is het raadzaam om voor elke toepassing een virtuele omgeving te maken. Een virtuele omgeving is een zelfstandige map voor een bepaalde versie van Python plus de andere pakketten die nodig zijn voor die toepassing.

Volg deze stappen om een virtuele omgeving te maken.

  1. Open een terminal of opdrachtprompt.

  2. Maak een map voor uw project.

  3. Maak de virtuele omgeving:

    py -3 -m venv .venv
    

    Met deze opdracht wordt de Python-module venv uitgevoerd en wordt een virtuele omgeving gemaakt in een map '.venv'. Meestal hebben .gitignore-bestanden een vermelding .venv, zodat de virtuele omgeving niet wordt ingecheckt met uw codecontrole.

  4. De virtuele omgeving activeren:

    .venv\Scripts\activate
    

    Notitie

    Als u Windows Command Shell gebruikt, activeert u de virtuele omgeving met .venv\Scripts\activate. Als u Git Bash in Visual Studio Code in Windows gebruikt, gebruikt u in plaats daarvan de opdrachtsource .venv/Scripts/activate.

Zodra u die omgeving activeert (wat Visual Studio Code automatisch doet), installeert het uitvoeren pip install van een bibliotheek alleen in die omgeving. Python-code die wordt uitgevoerd in een virtuele omgeving maakt gebruik van de specifieke pakketversies die in die virtuele omgeving zijn geïnstalleerd. Door verschillende virtuele omgevingen te gebruiken, kunnen verschillende toepassingen verschillende versies van een pakket gebruiken, wat soms vereist is. Zie Virtuele omgevingen en pakketten in de Python-documenten voor meer informatie over virtuele omgevingen.

Als uw vereisten zich bijvoorbeeld in een bestand requirements.txt bevinden, kunt u deze in de geactiveerde virtuele omgeving installeren met:

pip install -r requirements.txt

Fase 3: Inzicht in de Azure-ontwikkelwerkstroom

Vorig artikel: resources inrichten, openen en beheren

Nu u het azure-model van services en resources begrijpt, kunt u de algehele stroom van het ontwikkelen van cloudtoepassingen begrijpen met Azure: inrichten, code, testen, implementeren en beheren.

Stap Primaire hulpprogramma's Activiteiten
inrichten Azure CLI, Azure Portal, VS Code Azure Tools-extensies, Cloud Shell, Python-scripts met behulp van Azure SDK-beheerbibliotheken Maak resourcegroepen en maak resources in deze groepen; resources configureren die gereed zijn voor gebruik vanuit app-code en/of gereed zijn voor het ontvangen van Python-code in implementaties.
Code Code-editor (zoals Visual Studio Code en PyCharm), Azure SDK-clientbibliotheken, referentiedocumentatie Schrijf Python-code met behulp van de Azure SDK-clientbibliotheken om te communiceren met ingerichte resources.
Testen Python-runtime, foutopsporingsprogramma Python-code lokaal uitvoeren op actieve cloudresources (doorgaans ontwikkel- of testresources in plaats van productieresources). De code zelf wordt nog niet gehost in Azure, waarmee u fouten kunt opsporen en snel kunt herhalen.
Implementeren VS Code, Azure CLI, GitHub Actions, Azure Pipelines Zodra code lokaal is getest, implementeert u deze in een geschikte Azure-hostingservice waar de code zelf in de cloud kan worden uitgevoerd. Geïmplementeerde code wordt doorgaans uitgevoerd op faserings- of productiebronnen.
Beheren Azure CLI, Azure Portal, VS Code, Python-scripts, Azure Monitor Bewaak de prestaties en reactiesnelheid van apps, breng aanpassingen in de productieomgeving aan, migreer verbeteringen terug naar de ontwikkelomgeving voor de volgende ronde van het inrichten en ontwikkelen.

Stap 1: Resources inrichten en configureren

Zoals beschreven in het vorige artikel van deze reeks, is de eerste stap bij het ontwikkelen van een toepassing het inrichten en configureren van de resources waaruit de doelomgeving voor uw toepassing bestaat.

Het inrichten begint met het maken van een resourcegroep in een geschikte Azure-regio. U kunt een resourcegroep maken via Azure Portal, VS Code met Azure Tools-extensies, de Azure CLI of met een aangepast script dat gebruikmaakt van de Azure SDK-beheerbibliotheken (of REST API).

Binnen die resourcegroep richt u vervolgens de afzonderlijke resources in die u nodig hebt, opnieuw met behulp van de portal, VS Code, de CLI of de Azure SDK. (Bekijk opnieuw de Ontwikkelaarshandleiding van Azure voor een overzicht van beschikbare resourcetypen.)

Configuratie omvat het instellen van toegangsbeleid waarmee wordt bepaald welke identiteiten (service-principals en/of toepassings-id's) toegang hebben tot deze resources. Toegangsbeleid wordt beheerd via op rollen gebaseerd toegangsbeheer (RBAC) van Azure. Sommige services hebben ook specifiekere toegangsbeheer. Als cloudontwikkelaar die met Azure werkt, moet u vertrouwd raken met Azure RBAC, omdat u deze gebruikt met ongeveer elke resource die beveiligingsproblemen heeft.

Voor de meeste toepassingsscenario's maakt u doorgaans inrichtingsscripts met de Azure CLI en/of Python-code met behulp van de Azure SDK-beheerbibliotheken. Dergelijke scripts beschrijven de totaliteit van de resourcebehoeften van uw toepassing (definieer in wezen de aangepaste cloudcomputer waarop u de toepassing implementeert). Met een script kunt u eenvoudig dezelfde set resources binnen verschillende omgevingen opnieuw maken, zoals ontwikkelen, testen, faseren en productie. Wanneer u automatiseert, kunt u voorkomen dat u handmatig veel herhaalde stappen uitvoert in Azure Portal of VS Code. Dergelijke scripts maken het ook eenvoudig om een omgeving in een andere regio in te richten of om verschillende resourcegroepen te gebruiken. Als u deze scripts ook onderhoudt in opslagplaatsen voor broncodebeheer, hebt u ook volledige controle- en wijzigingsgeschiedenis.

Stap 2: Uw app-code schrijven om resources te gebruiken

Zodra u de resources hebt ingericht die u nodig hebt voor uw toepassing, schrijft u de toepassingscode om te werken met de runtimeaspecten van deze resources.

In de inrichtingsstap hebt u bijvoorbeeld mogelijk een Azure-opslagaccount gemaakt, een blobcontainer in dat account gemaakt en toegangsbeleid voor de toepassing in die container ingesteld. Dit inrichtingsproces wordt gedemonstreerd in voorbeeld: Azure Storage inrichten. Vanuit uw code kunt u zich vervolgens verifiëren met dat opslagaccount en vervolgens blobs in die container maken, bijwerken of verwijderen. Dit runtimeproces wordt gedemonstreerd in voorbeeld: Azure Storage gebruiken. Op dezelfde manier hebt u mogelijk een database ingericht met een schema en de juiste machtigingen (zoals in voorbeeld- Een database inrichten), zodat uw toepassingscode verbinding kan maken met de database en de gebruikelijke query's voor het maken en bijwerken/verwijderen van query's kan uitvoeren.

App-code maakt doorgaans gebruik van omgevingsvariabelen om de namen en URL's van de resources te identificeren die moeten worden gebruikt. Met omgevingsvariabelen kunt u eenvoudig schakelen tussen cloudomgevingen (ontwikkelen, testen, faseren en productie) zonder wijzigingen in de code. De verschillende Azure-services die toepassingscode hosten, bieden een middel om de benodigde variabelen te definiëren. In Azure-app Service (om web-apps te hosten) en Azure Functions (serverloze berekeningen voor Azure) definieert u toepassingsinstellingen via Azure Portal, VS Code of Azure CLI, die vervolgens als omgevingsvariabelen worden weergegeven.

Als Python-ontwikkelaar schrijft u waarschijnlijk uw toepassingscode in Python met behulp van de Azure SDK-clientbibliotheken voor Python. Dat gezegd hebbende, kan elk onafhankelijk deel van een cloudtoepassing worden geschreven in elke ondersteunde taal. Als u aan een team werkt met meerdere programmeertalen, is het mogelijk dat sommige delen van de toepassing Gebruikmaken van Python, javaScript, javascript, java en andere C#.

Toepassingscode kan de Azure SDK-beheerbibliotheken gebruiken om indien nodig inrichtings- en beheerbewerkingen uit te voeren. Het inrichten van scripts kan ook gebruikmaken van de SDK-clientbibliotheken om resources met specifieke gegevens te initialiseren of huishoudtaken uit te voeren op cloudresources, zelfs wanneer deze scripts lokaal worden uitgevoerd.

Stap 3: Uw app-code lokaal testen en fouten opsporen

Ontwikkelaars willen doorgaans app-code testen op hun lokale werkstations voordat ze die code implementeren in de cloud. Het lokaal testen van app-code betekent dat u doorgaans toegang hebt tot andere resources die u al hebt ingericht in de cloud, zoals opslag, databases enzovoort. Het verschil is dat u de app-code zelf nog niet uitvoert in een cloudservice.

Door de code lokaal uit te voeren, kunt u ook optimaal profiteren van foutopsporingsfuncties die worden aangeboden door hulpprogramma's zoals Visual Studio Code en uw code beheren in een opslagplaats voor broncodebeheer.

U hoeft uw code helemaal niet te wijzigen voor lokaal testen: Azure biedt volledige ondersteuning voor lokale ontwikkeling en foutopsporing met behulp van dezelfde code die u in de cloud implementeert. Omgevingsvariabelen zijn opnieuw de sleutel: in de cloud heeft uw code toegang tot de instellingen van de hostingresource als omgevingsvariabelen. Wanneer u dezelfde omgevingsvariabelen lokaal maakt, wordt dezelfde code zonder wijziging uitgevoerd. Dit patroon werkt voor verificatiereferenties, resource-URL's, verbindingsreeks s en een willekeurig aantal andere instellingen, zodat u eenvoudig resources in een ontwikkelomgeving kunt gebruiken bij het lokaal uitvoeren van code en productieresources zodra de code in de cloud is geïmplementeerd.

Stap 4: Uw app-code implementeren in Azure

Zodra u uw code lokaal hebt getest, kunt u de code implementeren in de Azure-resource die u hebt ingericht om deze te hosten. Als u bijvoorbeeld een Django-web-app schrijft, implementeert u die code op een virtuele machine (waar u uw eigen webserver opgeeft) of naar Azure-app Service (die de webserver voor u levert). Zodra deze code is geïmplementeerd, wordt deze code uitgevoerd op de server in plaats van op uw lokale computer en heeft deze toegang tot alle Azure-resources waarvoor deze is geautoriseerd.

Zoals vermeld in de vorige sectie, implementeert u in typische ontwikkelingsprocessen eerst uw code in de resources die u in een ontwikkelomgeving hebt ingericht. Na een testronde implementeert u uw code in resources in een faseringsomgeving, waardoor de toepassing beschikbaar is voor uw testteam en misschien preview-klanten. Zodra u tevreden bent met de prestaties van de toepassing, kunt u de code implementeren in uw productieomgeving. Al deze implementaties kunnen ook worden geautomatiseerd via continue integratie en continue implementatie met behulp van Azure Pipelines en GitHub Actions.

Maar u doet dit, zodra de code in de cloud is geïmplementeerd, wordt deze echt een cloudtoepassing, die volledig wordt uitgevoerd op de servercomputers in Azure-datacenters.

Stap 5: Beheren, controleren en herzien

Na de implementatie wilt u ervoor zorgen dat de toepassing naar behoren presteert, op aanvragen van klanten reageert en efficiënt resources gebruikt (en tegen de laagste kosten). U kunt beheren hoe azure uw implementatie automatisch schaalt, en u kunt prestatiegegevens verzamelen en bewaken met Azure Portal, VS Code, de Azure CLI of aangepaste scripts die zijn geschreven met de Azure SDK-bibliotheken. Vervolgens kunt u realtime aanpassingen aanbrengen in uw ingerichte resources om de prestaties te optimaliseren, opnieuw met behulp van dezelfde hulpprogramma's.

Bewaking geeft u inzicht in hoe u uw cloudtoepassing kunt herstructureren. U kunt bijvoorbeeld merken dat bepaalde delen van een web-app (zoals een groep API-eindpunten) slechts af en toe worden gebruikt in vergelijking met de primaire onderdelen. Vervolgens kunt u ervoor kiezen om deze API's afzonderlijk als serverloze Azure Functions te implementeren. Als functies hebben ze hun eigen back-upresources die niet concurreren met de hoofdtoepassing, maar slechts pennen per maand kosten. Uw hoofdtoepassing reageert vervolgens sneller op meer klanten zonder dat u omhoog moet schalen naar een hogere kostenlaag.

Volgende stappen

U bent nu bekend met de basisstructuur van Azure en de algehele ontwikkelingsstroom: resources inrichten, code schrijven en testen, de code implementeren in Azure en deze resources vervolgens controleren en beheren.