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 :
Connectez-vous au portail Azure avec votre compte Azure. Recherchez votre application de fonction, puis sélectionnez-la.
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.
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 :
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 :
Dans le Portail Azure, recherchez la page de votre application de fonction, puis développez Paramètres>Configuration dans la colonne de gauche.
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.
Revenez à la page Vue d’ensemble de l’application de fonction, puis sélectionnez Obtenir le profil de publication.
Enregistrez et copiez le contenu du fichier.
- Dans le fichier, repérez l’élément
publishProfile
contenant l’attributpublishMethod="FTP"
. Dans cet élément, les attributspublishUrl
,userName
etuserPWD
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 |
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.
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.
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 :
Sélectionnez votre application de fonction, puis, sous Fonctions, sélectionnez Fonctions.
Choisissez votre fonction et sélectionnez Code + test sous Développeur.
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) :
Sélectionnez votre application de fonction, développez outils de développement, puis sélectionnezOutils avancés>Go.
Si vous y êtes invité, connectez-vous au site SCM (Source Control Manager) avec vos informations d’identification Azure.
Dans le menu Déboguer la console, choisissez CMD.
Accédez à
.\site\wwwroot
, sélectionnez le bouton plus (+) en haut, puis sélectionnez Nouveau fichier.Donnez un nom au fichier, par exemple
extensions.csproj
, puis appuyez sur Entrée.Sélectionnez le bouton Modifier en regard du nouveau fichier, ajoutez ou mettez à jour le code dans le fichier, puis sélectionnez Enregistrer.
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é.
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.
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/
.
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.
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.