Gérer votre application de fonction

Dans Azure Functions, une Function App fournit le contexte d’exécution de vos fonctions individuelles. Les comportements de la Function App s’appliquent à toutes les fonctions hébergées par une Function App donnée. Toutes les fonctions d’une application de fonction doivent être exprimées dans le même langage.

Les fonctions individuelles dans une application de fonction sont déployées ensemble et sont mises à l’échelle ensemble. Toutes les fonctions de la même application de fonction partagent les ressources, par instance, à mesure que l’application de fonction est mise à l’échelle.

Les chaînes de connexion, les variables d’environnement et d’autres paramètres d’application sont définis séparément pour chaque application de fonction. Toutes les données qui doivent être partagées entre les applications de fonction doivent être stockées en externe dans un magasin persistant.

Bien démarrer dans le portail Azure

Remarque

En raison des limitations liées à la modification du code de fonction dans le portail Azure, vous devez développer vos fonctions localement et publier votre projet de code dans une application de fonction dans Azure. Pour plus d’informations, consultez la section Limitations de développement dans le portail Azure.

Pour afficher les paramètres de l’application dans votre application de fonction, procédez comme suit :

  1. Connectez-vous au portail Azure avec votre compte Azure. Recherchez votre application de fonction, puis sélectionnez-la.

  2. Dans le volet gauche de votre application de fonction, développez Paramètres, sélectionnez Variables d’environnement, puis sélectionnez l’onglet Paramètres de l’application.

    Capture d’écran montrant comment sélectionner la page paramètres de l’application dans une application de fonction.

Utilisation de paramètres d’application

Outre les paramètres d’application prédéfinis utilisés par Azure Functions, vous pouvez créer n’importe quel nombre de paramètres d’application, comme requis par votre code de fonction. Pour plus d'informations, consultez Informations de référence sur les paramètres d'application d'Azure Functions.

Ces paramètres sont stockés sous forme chiffrée. Pour plus d’informations, consultez Sécurité des paramètres d’application.

Vous pouvez gérer les paramètres d’application à partir du portail Azure et à l’aide d’Azure CLI et d’Azure PowerShell. Vous pouvez également gérer les paramètres d’application à partir de Visual Studio Code et de Visual Studio.

Pour afficher les paramètres de votre application, consultez Bien démarrer dans le portail Azure.

L’onglet Paramètres de l’application conserve les paramètres qui sont utilisés par votre application de fonction :

  1. Pour afficher les valeurs des paramètres de l’application, sélectionnez Afficher les valeurs.

  2. Pour ajouter un paramètre, sélectionnez + Ajouter, puis entrez le nom et la valeur de la nouvelle paire clé-valeur.

    Capture d’écran montrant la page paramètres de l’application dans une application de fonction.

Utiliser des paramètres d’application

Ces valeurs de paramètres d’application de fonction peuvent aussi être lues dans votre code en tant que variables d’environnement. Pour plus d’informations, consultez la section Variables d’environnement de ces rubriques de référence propres à un langage :

Quand vous développez une application de fonction localement, vous devez conserver des copies locales de ces valeurs dans le fichier de projet local.settings.json. Pour en savoir plus, voir Fichier de paramètres locaux.

Paramètres de déploiement FTPS

Azure Functions prend en charge le déploiement du code du projet dans votre application de fonction en utilisant FTPS. Étant donné que cette méthode de déploiement vous oblige à synchroniser les déclencheurs, elle n’est pas recommandée. Pour transférer des fichiers de projet en toute sécurité, utilisez toujours FTPS et non FTP.

Pour obtenir les informations d'identification requises pour le déploiement de FTPS en utilisant l'une des méthodes suivantes :

Vous pouvez obtenir les identifiants de publication FTPS dans le portail Azure en téléchargeant le profil de publication pour votre application fonctionnelle.

Important

Le profil de publication contient des informations d’identification de sécurité importantes. Sécurisez toujours le fichier téléchargé sur votre ordinateur local.

Pour télécharger le profil de publication de votre application de fonction :

  1. Dans le Portail Azure, recherchez la page de votre application de fonction, puis développez Paramètres>Configuration dans la colonne de gauche.

  2. Dans la page Configuration, sélectionnez l’onglet Paramètres généraux et vérifiez que les Informations d’identification d’authentification de base SCM sont Activées. Lorsque ce paramètre est Désactivé, vous ne pouvez pas utiliser de profils de publication. Sélectionnez donc Activé, puis Enregistrez.

  3. Revenez à la page Vue d’ensemble de l’application de fonction, puis sélectionnez Obtenir le profil de publication.

    Télécharger le profil de publication

  4. Enregistrez et copiez le contenu du fichier.

  1. Dans le fichier, repérez l’élément publishProfile contenant l’attribut publishMethod="FTP". Dans cet élément, les attributs publishUrl, userName et userPWD contiennent l’URL cible et les informations d’identification pour la publication FTPS.

Type de plan d’hébergement

Lorsque vous créez une application de fonction, vous créez également un plan d’hébergement dans lequel elle s’exécute. Un plan peut comporter une ou plusieurs applications de fonction. Les fonctionnalités, la mise à l’échelle et le tarif des fonctions dépendent du type de plan. Pour plus d’informations, consultez Options d’hébergement Azure Functions.

Vous pouvez déterminer le type de plan utilisé par votre application de fonction sur le Portail Azure, avec l’API Azure CLI ou avec l’API Azure PowerShell.

Les valeurs suivantes indiquent le type de plan :

Type de plan Portail Azure Azure CLI/PowerShell
Consommation Consommation Dynamic
Premium ElasticPremium ElasticPremium
Dédié (App Service) Divers Divers
  1. Pour identifier le type de plan utilisé par votre application de fonction, consultez Plan App Service dans la page Vue d’ensemble correspondant à l’application de fonction sur le portail Azure.

    Capture d’écran montrant le lien Plan App Service sur la page Vue d’ensemble d’une application de fonction.

  2. Pour afficher le niveau tarifaire, sélectionnez le nom Plan App Service, puis sélectionnez Paramètres > Propriétés dans le volet de gauche.

Planifier la migration

Vous pouvez migrer une application de fonction entre un plan Consommation et un plan Premium sur Windows. Lors de la migration entre plans, gardez à l’esprit les considérations suivantes :

  • La migration directe vers un plan (App Service) dédié n’est pas prise en charge.
  • La migration n'est pas prise en charge sur Linux.
  • Le plan source et le plan cible doivent se trouver dans le même groupe de ressources et la même région géographique. Pour plus d’informations, consultez Déplacer une application vers un autre plan App Service.
  • Les commandes CLI spécifiques dépendent de la direction de la migration.
  • Les temps d’arrêt dans vos exécutions de fonction se produisent lorsque l’application de fonction est migrée entre les plans.
  • L’état et d’autres contenus spécifiques à l’application sont conservés, car le même partage Azure Files est utilisé par l’application avant et après la migration.

Vous pouvez migrer votre plan à l’aide de ces outils :

Vous pouvez utiliser le portail Azure pour passer à un autre plan.

Choisissez la direction de la migration pour votre application sur Windows.

  1. Dans le Portail Azure, accédez à votre application Consommation, puis choisissez Modifier plan App Service sous plan App Service.

  2. Sélectionnez Premium sous Type de plan, créez un plan Premium et sélectionnez OK.

Pour plus d’informations, consultez Déplacer une application vers un autre plan App Service.

Limitations de développement dans le Portail Azure

Le tableau suivant présente les systèmes d'exploitation et les langues qui prennent en charge l'édition dans le portail :

Langage Consommation Windows Windows Premium Dédié (Windows) Consommation Linux Linux Premium Dédié (Linux)
C#
Java
JavaScript (Node.js)
Python
PowerShell
TypeScript (Node.js)

Tenez compte de ces limitations lorsque vous développez vos fonctions dans le portail Azure :

  • La modification dans le portail n’est prise en charge que pour les fonctions qui ont été créées ou modifiées pour la dernière fois dans le portail Azure.
  • La modification dans le portail n’est prise en charge que par les fonctions Script de JavaScript, PowerShell, Python et C#.
  • La modification dans le portail n’est pas prise en charge dans la préversion du plan Flex Consumption.
  • Lorsque vous déployez du code sur une application de fonction à partir de l’extérieur du portail Azure, vous ne pouvez plus modifier le code de cette application de fonction dans le portail. Dans ce cas, continuez simplement à utiliser le développement local.
  • Pour Python, le développement avec des modules personnalisés n’est actuellement pas pris en charge dans le portail. Pour ajouter des modules personnalisés à votre application de fonction, vous devez développer votre application localement.
  • Pour les fonctions C# compilées et les fonctions Java, vous pouvez créer l’application de fonction et les ressources connexes dans le portail. Toutefois, vous devez créer le projet de code de fonctions localement, et ensuite le publier sur Azure.

Au besoin, développez vos fonctions localement et publier votre projet de code sur une application de fonction dans Azure. Pour plus d’informations, consultez Coder et tester Azure Functions localement.

Installer les extensions manuellement

Les fonctions de bibliothèque de classes C# peuvent inclure les packages NuGet pour les extensions de liaison directement dans le projet de bibliothèque de classes. Pour les autres langages non-.NET et script C#, vous devez utiliser des packs d’extensions. Si vous devez installer manuellement des extensions, vous pouvez le faire en utilisant Azure Functions Core Tools localement. Si vous ne pouvez pas utiliser de bundles d’extensions et que vous ne pouvez travailler que dans le portail, vous devez utiliser Advanced Tools (Kudu) pour créer manuellement le fichier extensions.csproj directement dans le site. Veillez à supprimer d’abord l’élément extensionBundle du fichier host.json.

Ce même processus fonctionne pour tout autre fichier que vous devez ajouter à votre application.

Important

Si possible, ne modifiez pas les fichiers directement dans votre application de fonction dans Azure. Nous vous recommandons de télécharger vos fichiers d’application localement, à l’aide de Core Tools pour installer des extensions et d’autres packages, de valider vos modifications, puis de republier votre application à l’aide de Core Tools ou de l’une des autres méthodes de déploiement prises en charge.

L’éditeur Functions (intégré au Portail Azure) vous permet de mettre à jour vos fichiers de code et de configuration de fonction directement dans le portail :

  1. Sélectionnez votre application de fonction, puis, sous Fonctions, sélectionnez Fonctions.

  2. Choisissez votre fonction et sélectionnez Code + test sous Développeur.

  3. Choisissez votre fichier à modifier et sélectionnez Enregistrer lorsque vous avez terminé.

Les fichiers à la racine de l’application, tels que function.proj ou extensions.csproj, doivent être créés et modifiés à l’aide d’Advanced Tools (Kudu) :

  1. Sélectionnez votre application de fonction, développez outils de développement, puis sélectionnezOutils avancés>Go.

  2. Si vous y êtes invité, connectez-vous au site SCM (Source Control Manager) avec vos informations d’identification Azure.

  3. Dans le menu Déboguer la console, choisissez CMD.

  4. Accédez à .\site\wwwroot, sélectionnez le bouton plus (+) en haut, puis sélectionnez Nouveau fichier.

  5. Donnez un nom au fichier, par exemple extensions.csproj, puis appuyez sur Entrée.

  6. Sélectionnez le bouton Modifier en regard du nouveau fichier, ajoutez ou mettez à jour le code dans le fichier, puis sélectionnez Enregistrer.

  7. Pour un fichier projet tel que extensions.csproj, exécutez la commande suivante pour reconstruire le projet d’extensions :

    dotnet build extensions.csproj
    

Fonctionnalités de la plate-forme

Les applications de fonction s’exécutent dans la plateforme Azure App Service, qui les gère. Par conséquent, vos Function Apps ont accès à la plupart des fonctionnalités de la plateforme d’hébergement web principale d’Azure. Si vous utilisez le portail Azure, le volet de gauche permet d’accéder aux nombreuses fonctionnalités de la plateforme App Service à votre disposition dans vos applications de fonction.

La matrice suivante indique la prise en charge des fonctionnalités du portail par plan d’hébergement et système d’exploitation :

Fonctionnalité Plan Consommation Plan de consommation flexible Plan Premium Plan dédié
Outils avancés (Kudu) Windows : ✔
Linux : X
X
Éditeur App Service Windows : ✔
Linux : X
X Windows : ✔
Linux : X
Windows : ✔
Linux : X
Sauvegardes X X X
Console Windows : ligne de commande
Linux : X
X Windows : ligne de commande
Linux : SSH
Windows : ligne de commande
Linux : SSH

Le reste de ce article se concentre sur les fonctionnalités du portail qui sont utiles pour applications de fonction :

Pour plus d’informations sur l’utilisation des paramètres App Service, consultez Configurer des applications web dans Azure App Service.

Éditeur App Service

L’éditeur App Service est un éditeur avancé intégré au portail. Vous pouvez l’utiliser pour modifier les fichiers de configuration JSON et les fichiers de code. L’activation de cette option entraîne l’ouverture d’un onglet distinct du navigateur avec un éditeur de base. Cet éditeur vous permet d’intégrer au référentiel GitHub, exécuter et déboguer du code et modifier les paramètres de l’application de fonction. Cet éditeur fournit un environnement de développement amélioré pour vos fonctions en comparaison avec l’éditeur de fonction intégré.

Capture d’écran montrant l’éditeur App Service.

Nous vous recommandons d’envisager de développer vos fonctions sur votre ordinateur local. Quand vous développez localement et publiez sur Azure, vos fichiers projet sont en lecture seule dans le portail Azure. Pour plus d’informations, consultez Coder et tester Azure Functions localement.

Console

La console intégrée au portail est un outil de développement idéal lorsque vous souhaitez interagir avec Function App à partir de la ligne de commande. Les commandes courantes incluent la création de fichiers et de répertoires et la navigation, ainsi que l’exécution de scripts et de fichiers de commandes.

Capture d’écran montrant la vignette Application de fonction.

Quand vous développez localement, nous vous recommandons d’utiliser Azure Functions Core Tools et Azure CLI.

Outils avancés (Kudu)

Les outils avancés pour App Service (également appelé Kudu) donnent accès aux fonctionnalités d’administration avancées de votre Function App. Dans Kudu, vous pouvez gérer les informations système, les paramètres d’application, les variables d’environnement, les extensions de site, les en-têtes HTTP et les variables de serveur. Vous pouvez également lancer Kudu en naviguant vers le point de terminaison SCM pour votre Function App, par exemple : https://<myfunctionapp>.scm.azurewebsites.net/.

Capture d’écran montrant les outils avancés pour App Service (Kudo).

Centre de déploiement

Quand vous utilisez une solution de contrôle de code source pour développer et gérer le code de vos fonctions, le centre de déploiement vous permet de générer et de déployer à partir du contrôle de code source. Votre projet est généré et déployé sur Azure quand vous effectuez des mises à jour. Pour plus d’informations, consultez Technologies de déploiement dans Azure Functions.

Partage de ressources cross-origin

Pour empêcher l’exécution de code malveillant sur le client, les navigateurs modernes bloquent les requêtes des applications web vers les ressources qui s’exécutent dans un domaine distinct. Le partage des ressources cross-origin (CORS) permet à un en-tête Access-Control-Allow-Origin de déclarer les origines autorisées à appeler des points de terminaison sur votre application de fonction.

Quand vous configurez la liste Origines autorisées pour votre application de fonction, l’en-tête Access-Control-Allow-Origin est automatiquement ajouté à toutes les réponses des points de terminaison HTTP dans votre application de fonction.

Capture d’écran montrant comment configurer la liste CORS de votre application de fonction.

Le caractère générique (*) est ignoré si une autre entrée de domaine existe.

Authentification

Lorsque les fonctions utilisent un déclencheur HTTP, vous pouvez exiger l’authentification préalable des appels. App Service prend en charge l’authentification Microsoft Entra et la connexion à des fournisseurs de réseaux sociaux tels que Facebook, Microsoft et X. Pour plus d’informations sur la configuration de fournisseurs d’authentification spécifiques, consultez Vue d’ensemble de l’authentification Azure App Service.

Capture d’écran montrant comment configurer l’authentification pour une application de fonction.