Python-Unterstützung in Azure-Funktionen

Published on December 19, 2018

Python-Unterstützung in Azure-Funktionen

Ursprünglicher Autor: Asavari Tayal
  • Übersetzung
Azure-Funktionen bieten ein leistungsstarkes Programmiermodell für die beschleunigte Entwicklung und das serverlose Hosten ereignisgesteuerter Anwendungen. Seit wir die Verfügbarkeit der Azure Functions 2.0-Laufzeitumgebung angekündigt haben, ist die Python-Unterstützung zu einer der Hauptanforderungen von Entwicklern geworden. Wir haben kürzlich eine öffentliche Vorschau der Python-Unterstützung in Azure Functions angekündigt. Mehr unter dem Schnitt!



Was ist in dieser Version?


In dieser Version können Sie Ihre Funktionen jetzt mit Python 3.6 auf der Grundlage der Open Source-Funktionsausführungsumgebung 2.0 entwickeln und in einem Nutzungsplan (Pay-per-Use-Modell) in Azure veröffentlichen. Python eignet sich hervorragend für Datenverarbeitung, maschinelles Lernen, Skripte und Automatisierungsskripte. Durch die Erstellung dieser Lösungen mithilfe von Funktionen ohne Server in Azure kann die Verwaltung der zugrunde liegenden Infrastruktur vereinfacht werden, sodass Sie schneller arbeiten und sich auf die differenzierte Geschäftslogik Ihrer Anwendungen konzentrieren können.

Leistungsfähiges Programmiermodell


Das Programmiermodell wurde entwickelt, um eine nahtlose und vertraute Interaktion mit den Entwicklern von Python zu ermöglichen. Sie können also vorhandene Skripte und .py-Module importieren und schnell Funktionen mit bereits bekannten Codekonstrukten schreiben. Beispielsweise können Sie Ihre Funktionen als asynchrone Coroutinen mithilfe des Qualifikationsmerkmals async def implementieren oder Überwachungstraces mithilfe eines Standardprotokollierungsmoduls an den Host senden. Zusätzliche Abhängigkeiten für pip können im Format requirements.txt konfiguriert werden.



Verwenden eines ereignisgesteuerten Programmiermodells in Funktionen, das auf Triggern und Bindern basiertkönnen Sie problemlos ein Ereignis einrichten, das die Ausführung einer Funktion und aller Datenquellen auslöst, mit denen Ihre Funktion orchestriert werden soll. Gängige Szenarien wie die logische ML-Inferenz und die Automatisierung von Workload-Szenarien profitieren von diesem Modell, da es zur Optimierung verschiedener Datenquellen beiträgt und gleichzeitig die Menge an Code, SDK und Abhängigkeiten reduziert, die ein Entwickler konfigurieren und arbeiten muss. Preview unterstützt die Bindung an HTTP-Anforderungen, Zeitgeberereignisse, Azure Storage, Cosmos DB, Service Bus, Event Hubs und Event Grid.



Einfachere Entwicklung


Als Python-Entwickler müssen Sie keine neuen Tools zur Funktionsentwicklung erlernen. Tatsächlich können Sie sie schnell lokal auf einem Mac-, Linux- oder Windows-Computer erstellen, debuggen und testen. Mit den grundlegenden Azure-Funktionstools ( CLI ) können Sie Triggervorlagen verwenden und diese direkt in Azure veröffentlichen. Dabei werden Assembly und Konfiguration automatisch verarbeitet.



Noch aufregender ist, dass Sie die Erweiterung verwenden könnenAzure Functions für Visual Studio Code für eine eng integrierte Benutzeroberfläche, mit der Sie innerhalb von Minuten eine neue Anwendung erstellen, Funktionen hinzufügen und alles bereitstellen können. Mit dem One-Click-Debugging können Sie Ihre Funktionen in Echtzeit lokal auf Azure-Ereignisse testen, Haltepunkte festlegen und die Anrufliste auswerten, indem Sie einfach F5 drücken. Fügen Sie dazu die Python VS Code-Erweiterung hinzu, und Sie erhalten erstklassige Methoden zur automatischen Vervollständigung und zum Debuggen für die Python-Entwicklung auf jeder Plattform.



Linux-Hosting


In Python geschriebene Funktionen können in Azure in zwei verschiedenen Modi veröffentlicht werden: in Bezug auf den Verbrauch und in Bezug auf den Anwendungsdienst. Der Verbrauchsplan verteilt die Rechenleistung automatisch in Abhängigkeit von der Anzahl der eingehenden Ereignisse. Ihre Anwendung wird nach Bedarf skaliert, um die Last zu bewältigen und zu verkleinern, wenn Ereignisse seltener werden. Die Abrechnung basiert auf der Anzahl der Ausführungen, der Laufzeit und dem verwendeten Arbeitsspeicher, sodass Sie nicht genutzte virtuelle Maschinen oder reservierte Kapazität nicht im Voraus bezahlen müssen.

In Bezug auf Anwendungsdienste können Sie Funktionen wie Langzeitfunktionen, erstklassige Ausstattung, isolierte SKUs und die Möglichkeit der Verbindung zu VNET / VPN nutzen und dabei ein einzigartiges Funktionsprogrammiermodell beibehalten.

Beide Hosting-Pläne führen Funktionen in einem Docker-Container aus, der auf einem Open-Source- Azure-Function / Python- Basis-Image basiert . Die Plattform abstrahiert den Container, sodass Sie nur für die Bereitstellung der Python-Dateien verantwortlich sind und sich nicht um die Verwaltung der grundlegenden Azure-Funktionen und der Python-Laufzeit kümmern müssen.

Nächste Stufe: versuchen


Klicken Sie zunächst auf die folgenden Links:

  • Erstellen Sie Ihre erste serverlose Funktion mit dem Python- Handbuch unter Funktionen.
  • Finden Sie eine vollständige Referenz für die Entwicklung von Azure-Funktionen in Python
  • Seien Sie gespannt auf neue Funktionen und Diskussionen in unserem GitHub- Repository.
  • Erfahren Sie alles, was Sie mit Python in Azure tun können
  • Webinar zur Python-Entwicklung mit Azure



Die Jungs von der Microsoft Developer Community @msdevru, dem Microsoft Developer Community Channel für Entwickler, und alle, die sich für neue Technologien interessieren, haben uns bei der Vorbereitung dieses Artikels geholfen .