guide du développeur Azure Functions

Dans Azure Functions, toutes les fonctions partagent certains concepts et composants techniques de base, quel que soit votre langage ou environnement de développement préféré. Cet article est spécifique à une langue. Sélectionnez votre langage de développement préféré en haut de l'article.

Cet article part du principe que vous avez déjà lu l’aperçu d’Azure Functions.

Si vous préférez vous lancer directement, vous pouvez suivre un didacticiel de démarrage rapide à l’aide de Visual Studio, Visual Studio Code ou à partir de l’invite de commandes commande.

Si vous préférez vous lancer directement, vous pouvez suivre un didacticiel de démarrage rapide à l’aide de Maven (ligne de commande), Eclipse, IntelliJ IDEA, Gradle, Quarkus, Spring Cloud, ou Visual Studio Code.

Si vous préférez vous lancer directement, vous pouvez suivre un didacticiel de démarrage rapide à l’aide de Visual Studio Code ou à partir de l’invite de commandes commande.

Si vous préférez vous lancer directement, vous pouvez suivre un didacticiel de démarrage rapide à l’aide de Visual Studio Code ou à partir de l’invite de commandes commande.

Si vous préférez vous lancer directement, vous pouvez suivre un didacticiel de démarrage rapide à l’aide de Visual Studio Code ou à partir de l’invite de commandes commande.

Si vous préférez vous lancer directement, vous pouvez suivre un didacticiel de démarrage rapide à l’aide de Visual Studio Code ou à partir de l’invite de commandes commande.

Projet de code

Au cœur de Azure Functions est un projet de code spécifique au langage qui implémente une ou plusieurs unités d’exécution de code appelées functions. Les fonctions sont simplement des méthodes qui s’exécutent dans le cloud Azure en fonction des événements, en réponse aux requêtes HTTP ou selon une planification. Considérez votre projet de code Azure Functions comme un mécanisme permettant d'organiser, de déployer et de gérer collectivement vos fonctions individuelles dans le projet lorsqu'elles s'exécutent dans Azure. Pour plus d'informations, reportez-vous à Organiser vos fonctions.

La façon dont vous mettez en place votre projet de code et indiquez quelles méthodes dans votre projet sont des fonctions dépend du langage de développement de votre projet. Pour obtenir de l'aide détaillée spécifique au langage, reportez-vous à Guide des développeurs C#.

La façon dont vous mettez en place votre projet de code et indiquez quelles méthodes dans votre projet sont des fonctions dépend du langage de développement de votre projet. Pour obtenir des conseils spécifiques au langage, consultez le guide Java développeurs.

La façon dont vous mettez en place votre projet de code et indiquez quelles méthodes dans votre projet sont des fonctions dépend du langage de développement de votre projet. Pour obtenir de l'aide sur le langage, reportez-vous à Guide des développeurs Node.js.

La façon dont vous mettez en place votre projet de code et indiquez quelles méthodes dans votre projet sont des fonctions dépend du langage de développement de votre projet. Pour obtenir de l'aide sur le langage, reportez-vous à Guide des développeurs PowerShell.

La façon dont vous mettez en place votre projet de code et indiquez quelles méthodes dans votre projet sont des fonctions dépend du langage de développement de votre projet. Pour obtenir des conseils spécifiques au langage, consultez le guide Python développeurs.

La façon dont vous mettez en place votre projet de code et indiquez quelles méthodes dans votre projet sont des fonctions dépend du langage de développement de votre projet. Pour des conseils spécifiques à chaque langue, consultez le guide développeur de Go.

Toutes les fonctions doivent avoir un déclencheur, qui définit la façon dont la fonction démarre et peut fournir une entrée à la fonction. Vos fonctions peuvent éventuellement définir des liaisons d'entrée et de sortie. Ces liaisons simplifient les connexions à d'autres services sans que vous ayez à travailler avec des kits SDK clients. Pour plus d’informations, consultez Azure Functions concepts de déclencheurs et de liaisons.

Azure Functions fournit un ensemble de modèles de projet et de fonction spécifiques au langage qui facilitent la création de nouveaux projets de code et l’ajout de fonctions à votre projet. Vous pouvez utiliser l’un des outils qui prennent en charge Azure Functions développement pour générer de nouvelles applications et fonctions à l’aide de ces modèles.

Outils de développement

Les outils suivants offrent une expérience locale et intégrée de développement et de publication pour Azure Functions dans votre langage préféré :

Ces outils s’intègrent à Azure Functions Core Tools pour pouvoir exécuter et déboguer sur votre ordinateur local à l’aide du runtime Functions. Pour plus d’informations, consultez Codez et testez Azure Functions localement.

Il y a aussi un éditeur dans le portail Azure que vous pouvez utiliser pour mettre à jour votre code et votre fichier de définitionfunction.json directement dans le portail. Utilisez cet éditeur uniquement pour de petites modifications ou pour créer des fonctions de preuve de concept. Développez toujours vos fonctions localement, quand c’est possible. Pour plus d’informations, consultez Créer votre première fonction dans le portail Azure.

La modification du portail est prise en charge uniquement pour Node.js version 3, qui utilise le fichier function.json.

Déploiement

Lorsque vous publiez votre projet de code sur Azure, vous déployez essentiellement votre projet sur une ressource d'application de fonction existante. Une application de fonction fournit un contexte d’exécution dans Azure dans lequel vos fonctions s’exécutent. À ce titre, elle constitue l'unité de déploiement et de gestion de vos fonctions. Du point de vue Azure Ressource, une application de fonction équivaut à une ressource de site (Microsoft.Web/sites) dans Azure App Service, ce qui équivaut à une application web.

Une application de fonctions est composée d’une ou plusieurs fonctions individuelles que vous gérez, déployez et faites évoluer ensemble. Toutes les fonctions d'une application de fonction partagent le même plan de tarification, la même méthode de déploiement et la même version du runtime. Pour plus d'informations, reportez-vous à Comment gérer une application de fonction.

Lorsque l'application de fonctions et toute autre ressource requise n'existent pas déjà dans Azure, vous devez créer ces ressources avant de pouvoir déployer vos fichiers de projet. Vous pouvez créer ces ressources de l'une des manières suivantes :

En plus de la publication basée sur des outils, Functions prend en charge d'autres technologies pour le déploiement du code source sur une application de fonction existante. Pour plus d’informations, consultez Technologies de déploiement dans Azure Functions.

Se connecter à des services

Une exigence majeure de tout service de calcul basé sur le cloud est la lecture et l'écriture de données vers d'autres services cloud. Functions fournit un ensemble complet de liaisons qui vous permet de vous connecter plus facilement aux services sans avoir à travailler avec des kits SDK clients.

Que vous utilisiez les extensions de liaison fournies par Functions ou que vous travailliez directement avec les SDK clients, vous stockez les données de connexion en toute sécurité et ne les incluez pas dans votre code.

Stockage hôte par défaut

Azure Functions nécessite un compte Stockage Azure lorsque vous créez une instance d’application de fonction. Ce compte de stockage par défaut est utilisé en interne par l’hôte Fonctions et certaines extensions de liaison.

Pour en savoir plus sur la façon de définir de manière sécurisée les connexions vers le compte de stockage par défaut, voir Définir les connexions.

Liaisons

Functions fournit des liaisons pour de nombreux services Azure et quelques services tiers, qui sont implémentés en tant qu’extensions. Pour plus d'informations, reportez-vous à la liste complète des liaisons prises en charge.

Les extensions de liaison peuvent prendre en charge les entrées et les sorties ; de nombreux déclencheurs font également office de liaisons d'entrée. Les liaisons vous permettent de configurer la connexion aux services afin que l'hôte Functions puisse gérer l'accès aux données à votre place. Pour plus d’informations, consultez Azure Functions concepts de déclencheurs et de liaisons.

Si vous rencontrez des problèmes avec les erreurs provenant de liaisons, consultez la documentation Azure Functions Codes d'erreur de liaison. Pour savoir comment définir de manière sécurisée les connexions dans les liaisons vers des services distants, voir Définir les connexions.

Propriétés courantes pour les connexions basées sur une identité

Les connexions basées sur l’identité pour Azure Functions utilisent des identités managées pour l’authentification. L’identité attribuée par le système est utilisée par défaut, mais vous pouvez spécifier une identité attribuée par l’utilisateur avec les credential propriétés et clientId . Pour tous les détails sur la configuration des connexions basées sur l’identité, y compris les paramètres requis de l’application et les permissions RBAC, voir Définir les connexions d’identité gérée.

Développement local avec connexions basées sur une identité

Lors de l’exécution locale, les connexions basées sur l’identité utilisent votre identité de développeur (comme votre connexion Azure CLI) au lieu d’une identité gérée. Vous n’avez pas besoin de définir les credential propriétés ou clientId lors du développement local. Pour plus d’informations, consultez Développement local avec des connexions basées sur des identités.

Kits de développement logiciel (SDK) client

Bien que Functions propose des liaisons pour simplifier l’accès aux données dans votre code de fonction, vous pouvez également utiliser un SDK client dans votre projet pour accéder directement à un service donné. Vous pourriez avoir besoin d’utiliser directement les SDK clients si vos fonctions nécessitent une fonctionnalité du SDK sous-jacent qui n’est pas prise en charge par l’extension de liaison. Votre code de fonctions ne peut pas accéder aux clients sous-jacents utilisés par vos extensions de liaison. Vous devez créer et gérer de manière indépendante toutes les instances clients que vous devez utiliser dans vos fonctions.

Prenez en compte ces questions lors de la création et de l’utilisation des SDK clients dans votre code de fonction :

  • Utilisez le même procédé pour stocker et accéder aux chaînes de connexion que les extensions de liaison. Pour en savoir plus, voir Définir les connexions.

  • Lorsque vous hébergez votre application dans un forfait Consommation, il y a une limite au nombre total de connexions sortantes dans toutes les instances. Cette limite signifie que vous devez faire attention à éviter l’épuisement des ports. Pour en savoir plus, voir Gérer les connexions clients SDK.

  • Lorsque vous créez une instance SDK client dans vos fonctions, obtenez les informations de connexion requises par le client à partir des variables d’environnement.
  • Lorsque vous créez une instance SDK client dans vos fonctions, obtenez les informations de connexion requises par le client à partir des variables d’environnement.
  • Lorsque vous créez une instance SDK client dans vos fonctions, obtenez les informations de connexion requises par le client à partir des variables d’environnement.
  • Lorsque vous créez une instance SDK client dans vos fonctions, obtenez les informations de connexion requises par le client à partir des variables d’environnement.
  • Lorsque vous créez une instance SDK client dans vos fonctions, obtenez les informations de connexion requises par le client à partir des variables d’environnement.

Problèmes liés aux rapports

Élément Descriptif Lien
Temps d'exécution Hôte script, déclencheurs et liaisons, prise en charge linguistique Fichier un problème
Modèles Problèmes de code avec le modèle de création Fichier un problème

Référentiels open source

Le code d’Azure Functions est open source. Vous pouvez trouver des composants clés dans ces dépôts GitHub :

Pour plus d’informations, consultez les ressources suivantes :