Prise en charge de Python dans Azure Functions

Les fonctionnalités Azure fournissent un modèle de programmation puissant pour un développement accéléré et un hébergement sans serveur d'applications pilotées par les événements. Depuis que nous avons annoncé la disponibilité publique du runtime Azure Functions 2.0, la prise en charge de Python est devenue l'une des principales demandes des développeurs. Nous avons récemment annoncé un aperçu public de la prise en charge de Python dans Azure Functions. Plus de détails sous la coupe!



Qu'y a-t-il dans ce numéro?


Dans cette version, vous pouvez désormais développer vos fonctions à l'aide de Python 3.6 basé sur le runtime open source 2.0 et les publier dans votre plan de consommation (modèle de paiement à l'exécution) dans Azure. Python est idéal pour le traitement des données, l'apprentissage automatique, les scripts et les scripts d'automatisation. La création de ces solutions à l'aide de fonctionnalités Azure sans serveur peut réduire la charge de gestion de l'infrastructure sous-jacente, vous permettant ainsi de travailler plus rapidement et de vous concentrer sur la logique métier différenciée de vos applications.

Modèle de programmation puissant


Le modèle de programmation est conçu pour fournir une interaction transparente et familière avec les développeurs Python, afin que vous puissiez importer des scripts et des modules .py existants et commencer rapidement à écrire des fonctions à l'aide de constructions de code que vous connaissez déjà. Par exemple, vous pouvez implémenter vos fonctions en tant que coroutines asynchrones à l'aide du qualificatif async def, ou envoyer des traces de surveillance à l'hôte à l'aide du module de journalisation standard. Des dépendances supplémentaires pour pip peuvent être configurées à l'aide du format requirements.txt.



À l'aide d'un modèle de programmation événementielle dans Functions, basé sur des déclencheurs et des classeurs , vous pouvez facilement configurer un événement qui déclenchera l'exécution d'une fonction et toutes les sources de données avec lesquelles votre fonction devrait orchestrer. Les scénarios courants, tels que l'inférence ML et l'automatisation des scripts de charge de travail, bénéficient de ce modèle car il permet d'optimiser une variété de sources de données, tout en réduisant la quantité de code, de SDK et de dépendances qu'un développeur doit configurer et travailler en même temps. L'aperçu prend en charge le binning pour les requêtes HTTP, les événements du minuteur, le stockage Azure, Cosmos DB, Service Bus, les concentrateurs d'événements et la grille d'événements.



Développement facilité


En tant que développeur Python, vous n'avez pas besoin d'apprendre de nouveaux outils pour développer des fonctions. En fait, vous pouvez rapidement les créer, déboguer et les tester localement à l'aide d'un ordinateur Mac, Linux ou Windows. Les outils de fonctionnalité Azure de base ( CLI ) vous permettent de commencer à utiliser des modèles de déclencheur et de les publier directement sur Azure, en traitant automatiquement les versions et les personnalisations.



Encore plus intéressant, vous pouvez utiliser l'extension Azure Functions pour Visual Studio Code pour une interface graphique étroitement intégrée qui vous aide à créer une nouvelle application, à ajouter des fonctionnalités et à tout déployer en quelques minutes. Le débogage en un clic vous permet de tester localement vos fonctionnalités pour les événements Azure en temps réel, de définir des points d'arrêt et d'évaluer la pile d'appels en appuyant simplement sur F5. Ajoutez à cela l'extension Python pour VS Code et vous obtiendrez la meilleure méthode de saisie semi-automatique et de débogage pour développer sur Python sur n'importe quelle plate-forme.



Hébergement Linux


Les fonctions écrites en Python peuvent être publiées sur Azure selon deux modes différents: en termes de consommation et en termes de service d'application. Un plan de consommation distribue automatiquement la puissance de calcul en fonction du nombre d'événements entrants. Votre application évoluera si nécessaire pour gérer la charge et diminuera lorsque les événements deviendront rares. La facturation est basée sur le nombre d'exécutions, le temps d'exécution et la mémoire utilisée, vous n'avez donc pas à payer à l'avance pour les machines virtuelles inoccupées ou la capacité réservée.

En termes de service d'application, vous pouvez profiter de fonctionnalités telles que des fonctions à long terme, des équipements premium, des SKU isolés, ainsi que la possibilité de se connecter à VNET / VPN, tout en conservant un modèle de programmation unique de fonctions.

Les deux plans d'hébergement exécutent des fonctions dans un conteneur Docker basé sur l'image de base open source azure-function / python . La plate-forme résume le conteneur, vous êtes donc seul responsable de la fourniture des fichiers Python et n'avez pas à vous soucier de la gestion des fonctions Azure de base et du runtime Python.

Étape suivante: essayez


Pour commencer, suivez les liens ci-dessous:

  • Créez votre première fonction sans serveur à l'aide du guide Python dans Fonctions
  • Trouver une référence complète sur le développement de fonctions Azure en Python
  • Restez à l'écoute pour plus de fonctionnalités et de discussion dans notre référentiel GitHub .
  • Découvrez tout ce que vous pouvez faire avec Python dans Azure
  • Webinaire de développement Python avec Azure



Les gars de la communauté des développeurs Microsoft @msdevru, le canal de la communauté des développeurs Microsoft pour les développeurs et tous ceux qui s'intéressent aux nouvelles technologies nous ont aidés à préparer cet article.

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


All Articles