Python-Unterstützung in Azure-Funktionen

Azure-Funktionen bieten ein leistungsstarkes Programmiermodell für die beschleunigte Entwicklung und das serverlose Hosting ereignisgesteuerter Anwendungen. Seit wir die öffentliche Verfügbarkeit der Azure Functions 2.0-Laufzeit 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-Funktionen angekündigt. Weitere Details unter dem Schnitt!



Was ist in dieser Ausgabe?


In dieser Version können Sie Ihre Funktionen jetzt mit Python 3.6 basierend auf der Open Source 2.0-Laufzeit entwickeln und in Ihrem Verbrauchsplan (Pay-per-Execution-Modell) in Azure veröffentlichen. Python eignet sich hervorragend für Datenverarbeitung, maschinelles Lernen, Skripterstellung und Automatisierungsskripte. Durch das Erstellen dieser Lösungen mit serverfreien Azure-Funktionen kann die Verwaltung der zugrunde liegenden Infrastruktur entlastet werden, sodass Sie schneller arbeiten und sich auf die differenzierte Geschäftslogik Ihrer Anwendungen konzentrieren können.

Leistungsstarkes Programmiermodell


Das Programmiermodell bietet eine nahtlose und vertraute Interaktion mit Python-Entwicklern, sodass Sie vorhandene Skripte und .py-Module importieren und schnell mit dem Schreiben von Funktionen mithilfe von Code-Konstrukten beginnen können, mit denen Sie bereits vertraut sind. Beispielsweise können Sie Ihre Funktionen als asynchrone Coroutinen mithilfe des Qualifikationsmerkmals async def implementieren oder Überwachungsspuren mithilfe des Standardprotokollierungsmoduls an den Host senden. Zusätzliche Abhängigkeiten für pip können im Format require.txt konfiguriert werden.



Mithilfe eines ereignisgesteuerten Programmiermodells in Funktionen, das auf Triggern und Bindemitteln basiert , können Sie problemlos ein Ereignis konfigurieren, das die Ausführung einer Funktion und aller Datenquellen auslöst , mit denen Ihre Funktion orchestrieren soll. Gängige Szenarien wie ML-Inferenz und Workload-Skriptautomatisierung profitieren von diesem Modell, da es zur Optimierung einer Vielzahl von Datenquellen beiträgt und gleichzeitig die Menge an Code, SDK und Abhängigkeiten reduziert, die ein Entwickler gleichzeitig konfigurieren und arbeiten muss. Die Vorschau unterstützt das Binning für HTTP-Anforderungen, Timer-Ereignisse, Azure Storage, Cosmos DB, Service Bus, Event Hubs und Event Grid.



Einfachere Entwicklung


Als Python-Entwickler müssen Sie keine neuen Tools zum Entwickeln von Funktionen erlernen. Tatsächlich können Sie sie schnell lokal mit einem Mac-, Linux- oder Windows-Computer erstellen, debuggen und testen. Mit den grundlegenden Azure-Feature-Tools ( CLIs ) können Sie Trigger-Vorlagen verwenden und diese direkt in Azure veröffentlichen, wobei Builds und Anpassungen automatisch verarbeitet werden.



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



Linux-Hosting


In Python geschriebene Funktionen können in zwei verschiedenen Modi in Azure veröffentlicht werden: in Bezug auf den Verbrauch und in Bezug auf den Anwendungsdienst. Ein Verbrauchsplan verteilt die Rechenleistung automatisch basierend auf der Anzahl der eingehenden Ereignisse. Ihre Anwendung wird bei Bedarf skaliert, um die Last zu bewältigen, und verringert sich, wenn Ereignisse selten werden. Die Abrechnung basiert auf der Anzahl der Ausführungen, der Laufzeit und dem verwendeten Speicher, sodass Sie für nicht belegte virtuelle Maschinen oder reservierte Kapazität nicht im Voraus bezahlen müssen.

In Bezug auf den Anwendungsservice können Sie Funktionen wie Langzeitfunktionen, Premium-Geräte, isolierte SKUs sowie die Möglichkeit zur Verbindung mit VNET / VPN nutzen und gleichzeitig ein einzigartiges Programmiermodell mit Funktionen beibehalten.

Beide Hosting-Pläne führen Funktionen in einem Docker-Container aus, der auf dem Open-Source- Azure-Function / Python- Basis-Image basiert. Die Plattform abstrahiert den Container, sodass Sie allein 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


Folgen Sie zunächst den folgenden Links:

  • Erstellen Sie Ihre erste serverlose Funktion mithilfe des Python- Handbuchs unter Funktionen
  • Hier finden Sie eine vollständige Referenz zum Entwickeln von Azure-Funktionen in Python
  • Weitere Funktionen und Diskussionen finden Sie in unserem GitHub- Repository.
  • Erfahren Sie alles, was Sie mit Python in Azure tun können
  • Python-Entwicklungswebinar mit Azure



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

Source: https://habr.com/ru/post/de433332/


All Articles