Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article explique comment migrer vos applications de fonction existantes du plan Consommation vers le plan Flex Consumption. Pour la plupart des applications, cette migration est simple. Les applications migrant depuis Windows doivent également être compatibles avec Linux et peuvent nécessiter des modifications de code.
Important
La prise en charge de l’hébergement d’applications de fonction sur Linux dans un plan Consommation prend fin le 30 septembre 2028. À compter d’aujourd’hui, des améliorations des fonctionnalités et linguistiques ne sont pas effectuées sur le plan de Consommation Linux. Suivez cet article pour migrer vos applications de plan Consommation pour qu’elles s’exécutent à la place dans le plan Flex Consumption. Pour en savoir plus sur les dates de fin de support du plan de consommation Linux, consultez Hébergement du plan de consommation Azure Functions (hérité).
Méthodes de migration
Cet article prend en charge la migration vers une application de fonction Linux dans un plan Flex Consumption pour les applications Linux et Windows. Functions offre plusieurs façons de simplifier la plupart des étapes de migration, en particulier pour les applications Linux.
Le tableau suivant indique quelles méthodes de migration sont disponibles pour chaque système d’exploitation et sont abordées dans cet article.
| Méthode de migration | Descriptif | Linux | Windows |
|---|---|---|---|
| Azure Skills dans GitHub Copilot | Laissez Copilot guider et automatiser votre migration de manière interactive. | ✅ | ✅ |
| Commande de migration CLI | Utilisez az functionapp flex-migration pour automatiser la migration. |
✅ | ❌ |
| Commandes CLI standard | Migration pas à pas à l’aide de commandes Azure CLI. | ➖ | ✅ |
| portail Azure | Migration pas à pas dans le portail Azure. | ✅ | ✅ |
| infrastructure en tant que code | Créez du code de migration reproductible à l’aide de modèles ARM, de fichiers Bicep ou de Terraform. | ➖ | ➖ |
✅ Prise en charge et mise en avant | ➖ Prise en charge, non mise en avant | ❌ Non pris en charge
Pour afficher les instructions appropriées pour votre application, sélectionnez votre système d’exploitation en haut de l’article.
Vous pouvez consulter le workflow de migration Linux Consumption et le workflow de migration Windows Consumption dans le dépôt Azure Skills.
À quoi s’attendre
Les étapes spécifiques requises pour migrer votre application de plan Consommation dépendent du système d’exploitation et de votre méthode de migration spécifique :
La compétence Azure automatise la majeure partie de la migration pour vous. Vos étapes générales sont les suivantes :
Conseil / Astuce
Pour commencer votre migration basée sur les GitHub Copilot, consultez Quickstart : Migrate Linux Consumption apps to Flex Consumption using GitHub Copilot.
Configurez GitHub Copilot en utilisant les prérequis, puis utilisez l’invite dans Lancer la migration. Copilot vous guide dans l’évaluation, la préparation du code Windows-vers-Linux, la création et la configuration de cibles, le déploiement, la validation et la transition de production. Il demande votre avis ou votre approbation quand c’est nécessaire.
Les sections suivantes expliquent les vérifications et les tâches de migration à titre de référence. Vous n'avez pas besoin d'effectuer les étapes manuelles de la CLI ou du portail lorsque vous suivez le flux de travail Copilot.
Copilot garde l’application source en lecture seule pendant l’évaluation et la réplication. Les modifications des déclencheurs source, des paramètres, de l’état de l’application ou des ressources nécessitent une approbation explicite pour l’action spécifique.
Quelle que soit votre méthode de migration, voici les principes généraux de la migration :
- Vérifiez la compatibilité du code. Les applications Linux sur une version linguistique prise en charge n’ont généralement pas besoin de modifications de code. Les applications Windows doivent également supprimer les dépendances spécifiques à Windows avant de s’exécuter sous Linux. Ce guide vous aide à vérifier.
- Vous devez créer une application. Le processus de migration crée une application Flex Consumption en même temps que votre application existante, ce qui vous permet de tester avant de basculer.
- Utilisez le même groupe de ressources. Votre nouvelle application s’exécute dans le même groupe de ressources avec accès aux mêmes dépendances.
- Vous contrôlez le minutage. Testez soigneusement votre nouvelle application avant de rediriger le trafic et de mettre hors service l’ancien.
Remarque
Si vous utilisez Azure Government, Flex Consumption n'est pas encore disponible. Passez en revue ces conseils pour que vous soyez prêt quand il sera disponible.
Avantages de la migration vers Flex Consumption
Lorsque vous migrez une application compatible, vos fonctions bénéficient de ces avantages :
- Démarrages à froid plus rapides : des instances toujours prêtes permettent à vos fonctions de répondre plus rapidement.
- Meilleure mise à l’échelle : la mise à l’échelle par fonction et les contrôles d’accès concurrentiel vous donnent davantage de contrôle.
- Prise en charge des réseaux virtuels : connectez vos fonctions à des réseaux privés et utilisez des points de terminaison privés.
- Investissement actif : Flex Consumption est là où de nouvelles fonctionnalités et améliorations commencent par atterrir.
Pour plus d’informations, consultez les avantages du plan Flex Consumption et la comparaison des plans d’hébergement.
Déploiements basés sur des ressources
Cet article ne montre pas explicitement comment utiliser l’infrastructure en tant que code (IaC) pour la migration. Toutefois, vous pouvez suivre les mêmes étapes de migration pour convertir vos modèles ARM, fichiers Bicep et configurations Terraform.
Le plan Flex Consumption introduit une nouvelle section functionAppConfig dans la définition de ressource Microsoft.Web/sites, qui remplace plusieurs paramètres d’application hérités. Pour plus d’informations sur ces modifications, consultez Dépréciations du plan de consommation Flex.
Ces ressources peuvent vous aider à bien démarrer avec les déploiements de ressources Flex Consumption :
- Automatiser le déploiement de ressources couvre les détails complets de la configuration des ressources.
- Des exemples prêts à l’emploi sont disponibles pour les modèles ARM, Bicep et Terraform.
Après une migration réussie, mettez à jour vos fichiers de déploiement de ressources pour qu’ils correspondent à la nouvelle configuration Flex Consumption.
Conditions préalables
Accès à l’abonnement Azure contenant une ou plusieurs applications de fonction à migrer. Le compte utilisé pour effectuer les tâches de migration doit disposer des autorisations suivantes :
- Créez et gérez des applications de fonction et des plans d’hébergement App Service.
- Attribuez des rôles à des identités managées.
- Créez et gérez des comptes de stockage.
- Créez et gérez des ressources Application Insights.
- Accédez à toutes les ressources dépendantes de votre application, telles que Azure Key Vault, Azure Service Bus ou Azure Event Hubs.
L’attribution des rôles Propriétaire ou Contributeur dans votre groupe de ressources fournit généralement des autorisations suffisantes.
Pour migrer à l’aide du Azure CLI ou GitHub Copilot :
- Azure CLI, version 2.77.0 ou ultérieure. Obligatoire lors de l’utilisation de commandes Azure CLI. Les scripts sont testés à l’aide de Azure CLI dans Azure Cloud Shell.
- Connectez-vous à Azure CLI en exécutant
az login. Vérifiez que vous êtes connecté à l’abonnement qui contient les applications de fonction que vous souhaitez migrer.
- Extension resource-graph , que vous pouvez installer à l’aide de la
az extension addcommande :
az extension add --name resource-graph-
L’outil
jq, utilisé pour utiliser la sortie JSON.
Pour migrer à l’aide de GitHub Copilot, configurez GitHub Copilot en mode souhaité :
Connectez-vous à Azure CLI si vous ne l'avez pas déjà fait :
az loginVérifiez que vous êtes connecté à l’abonnement qui contient les applications de fonction que vous souhaitez migrer.
Lancez le CLI Copilot :
copilotAjoutez la source du Marketplace (première fois uniquement) :
/plugin marketplace add microsoft/azure-skillsInstallez le plug-in :
/plugin install azure@azure-skillsAprès l’installation, rechargez les serveurs MCP (Model Context Protocol) :
/mcp reloadVérifiez l’installation :
/mcp showVous devez voir le plug-in Azure répertorié avec un cocher. L’outil
functionappfait partie de ce plug-in.
Conseil / Astuce
Si Copilot cible l’abonnement incorrect, demandez-lui d’utiliser un ID d’abonnement spécifique. Vous pouvez trouver votre ID d’abonnement en exécutant
az account show --query id -o tsv. Si Copilot se connecte au mauvais tenant Azure, demandez à Copilot d’utiliser votre tenant ID spécifique lors des appels Azure. Vous pouvez trouver votre ID de locataire en exécutantaz account show --query tenantId -o tsv.
Identifier les applications potentielles à migrer
Conseil / Astuce
Vous connaissez déjà l’application à migrer ? Vous pouvez ignorer cette section et accéder directement à Évaluer votre application existante.
Si vous avez plusieurs applications de fonction et que vous n’êtes pas sûr de celles dont vous avez besoin pour migrer, cette section vous aide à les trouver. Vous obtenez la liste des noms d’applications, des groupes de ressources, des emplacements et des piles d’exécution.
Pour démarrer une migration interactive qui analyse votre abonnement et vous invite à choisir les applications à migrer, utilisez cette invite :
migrate my linux function apps in azure from consumption to flex consumption
Copilot identifie vos applications de consommation Linux éligibles, vous permet de choisir celles à migrer, puis vous guide dans l’évaluation, la création d’applications, la configuration et le déploiement pour chaque application. Passez aux étapes de migration.
Si vous souhaitez simplement voir quelles applications sont éligibles sans démarrer la migration, utilisez plutôt cette invite :
list my linux consumption apps eligible for flex consumption migration
Copilot retourne une liste d’applications éligibles et inéligibles, ainsi que les raisons de toute incompatibilité. Vous pouvez ensuite migrer une application spécifique à l’aide de l’invite dans Démarrer la migration pour Linux.
Pour identifier les applications Windows Consumption de votre abonnement sans démarrer de migration, utilisez ce prompt :
What Windows Consumption Function Apps can I upgrade to Flex Consumption?
Copilot découvre les applications candidates et vérifie leur région, leur temps d’exécution, leur configuration de déploiement et d’autres exigences de compatibilité. La découverte identifie les candidats, mais ne garantit pas que chaque application soit prête à migrer. Examinez l’évaluation avant de poursuivre.
Pour migrer une application spécifique, utilisez le prompt figurant dans Démarrer la migration.
Évaluer votre application existante
La compétence Azure effectue ces tâches automatiquement. Lorsque vous utilisez la compétence Azure, accédez directement à Démarrez la migration.
Avant de migrer, exécutez cette liste de contrôle rapide pour vous assurer que votre application est prête. La plupart des applications passent ces vérifications sans problème :
Lorsque vous utilisez Copilot, demandez une évaluation sans créer d’application cible :
Assess whether my Windows Consumption Function App <APP_NAME> is ready to migrate to Flex Consumption.
Remplacez-le <APP_NAME> par le nom de votre application source. Copilot génère une évaluation de compatibilité, enregistre les blocages et la préparation nécessaire. Pour les applications Windows, vérifiez également les dépendances de code spécifiques à Windows.
Confirmer la compatibilité des régions
Vérifiez que le plan Consommation flexible est actuellement pris en charge dans la même région que l’application plan Consommation que vous envisagez de migrer.
Confirmed : Lorsque la sortie de commande
az functionapp flex-migration listou l’évaluation Copilot inclut votre application dans la listeeligible_apps, le plan Flex Consumption est pris en charge dans la même région que celle utilisée par votre application De consommation Linux actuelle. Dans ce cas, vous pouvez continuer à vérifier la compatibilité du stack linguistique.
Action requise : Lorsque la sortie inclut votre application dans la
ineligible_appsliste, vous voyez un message d’erreur indiquantThe site '<name>' is not in a region supported in Flex Consumption. Please see the list of regions supported in Flex Consumption by running az functionapp list-flexconsumption-locations. Dans ce cas, le plan Flex Consumption n’est pas pris en charge dans la région utilisée par votre application Linux Consommation actuelle.
Copilot vérifie si Flex Consumption est disponible dans la région de l'application source et enregistre le résultat dans l'évaluation. Si la région n’est pas prise en charge, résolvez le choix d’emplacement avant de créer l’application cible.
Si votre région n’est actuellement pas prise en charge et que vous choisissez toujours de migrer votre application de fonction, votre application doit s’exécuter dans une autre région où le plan Flex Consumption est pris en charge. Toutefois, l’exécution de votre application dans une autre région que d’autres services connectés peut introduire une latence supplémentaire. Assurez-vous que la nouvelle région peut répondre aux exigences de performances de votre application avant de terminer la migration.
Vérifier la compatibilité du stack linguistique
Les plans Flex Consumption ne prennent pas en charge toutes les piles de langage Functions. Ce tableau indique quelles piles de langage sont actuellement prises en charge :
| Paramètre de stack | Nom de la pile | Soutenu |
|---|---|---|
dotnet-isolated |
.NET (modèle de travailleur isolé) | ✅ Oui |
node |
JavaScript/TypeScript | ✅ Oui |
java |
Java | ✅ Oui |
python |
Python | ✅ Oui |
powershell |
PowerShell | ✅ Oui |
go |
Go | ✅ Oui |
dotnet |
.NET (modèle in-process) | ❌ Non |
custom |
Gestionnaires personnalisés | ✅ Oui |
Confirmé : Si la commande
az functionapp flex-migration listou l’évaluation Copilot incluaient votre application dans la listeeligible_apps, votre application Consommation Linux utilise déjà une pile de langues prise en charge par Flex Consumption et vous pouvez continuer à Vérifier la compatibilité de la version de la pile.
Action requise : Si la sortie incluait votre application dans la
ineligible_appsliste avec un message d’erreur indiquantRuntime '<name>' not supported for function apps on the Flex Consumption plan.que votre application Consommation Linux n’exécute pas un runtime pris en charge par Flex Consumption.
Si votre application de fonction utilise une pile d’exécution non prise en charge :
- Pour les applications C# qui s’exécutent en cours avec le runtime (
dotnet), vous devez d’abord migrer votre application vers .NET isolée. Pour plus d’informations, consultez Migrer des applications C# du modèle in-process vers le modèle worker isolé.
Copilot lit le runtime source et la version de l’hôte Functions pendant l’évaluation. Un temps d’exécution worker non supporté ou une version de l’hôte Functions autre que la version 4 nécessitent une préparation avant la migration.
Vérifier la compatibilité des versions de la pile
Avant de migrer, vérifiez que la version de la pile d’exécution de votre application est prise en charge lors de l’exécution dans un plan Flex Consumption dans la région actuelle.
Confirmed : Si la commande
az functionapp flex-migration listou l’évaluation de Copilot inclut votre application dans la listeeligible_apps, votre application Consommation Linux utilise déjà une version de pile linguistique prise en charge par Flex Consumption et vous pouvez continuer à Verifier l’utilisation des emplacements de déploiement.
Action requise : Si la sortie inclut votre application dans la
ineligible_appsliste avec un message d’erreur indiquantInvalid version {0} for runtime {1} for function apps on the Flex Consumption plan. Supported versions for runtime {1} are {2}.que votre application Consommation Linux n’exécute pas un runtime pris en charge par Flex Consumption.
Copilot compare la version en langue source avec les versions prises en charge par Flex Consumption dans la région cible. Il utilise les métadonnées du projet ou du package de déploiement lorsque la configuration Azure manque ou est ambiguë, et vous demande de sélectionner une version cible lorsque les informations disponibles n'identifient pas une seule version prise en charge.
Si votre application de fonction utilise une version de pile linguistique non prise en charge, mettez d’abord à niveau votre code d’application vers une version prise en charge avant de migrer vers le plan Flex Consumption.
Vérifier l’utilisation des emplacements de déploiement
Les applications de plan de consommation peuvent avoir un emplacement de déploiement défini. Pour plus d'informations, veuillez consulter la section emplacements de déploiement Azure Functions. Toutefois, le plan Consommation flexible ne prend actuellement pas en charge les emplacements de déploiement. Avant de migrer, déterminez si votre application a un emplacement de déploiement. Si c’est le cas, définissez une stratégie pour gérer votre application sans emplacements de déploiement en exécutant un plan Flex Consumption.
Confirmé : lorsque votre application actuelle a activé les emplacements de déploiement, la commande
az functionapp flex-migration listou l’évaluation Copilot affiche votre application de fonction dans la listeeligible_appssans avertissement. Continuez à vérifier l’utilisation des certificats.
Action requise : Votre application actuelle a des emplacements de déploiement activés et la sortie affiche votre application de fonction dans la
eligible_appsliste, mais ajoute un avertissement qui indique :The site '<name>' has slots configured. This condition doesn't block migration, but please note that slots aren't supported in Flex Consumption.
Copilot détecte les emplacements de déploiement source et les consigne dans l’évaluation. Comme Flex Consumption ne prend pas en charge les slots, choisissez comment en consolider la fonctionnalité ou utilisez des applications séparées avant de continuer.
Si votre application de fonction utilise actuellement des emplacements de déploiement, vous ne pouvez pas reproduire cette fonctionnalité dans le plan Consommation flexible. Avant de migrer, tenez compte des options suivantes :
- Réarchitecte votre application pour utiliser des applications de fonction distinctes. De cette façon, vous pouvez développer, tester et déployer votre code de fonction sur une deuxième application hors production au lieu d’utiliser des emplacements.
- Migrez tout nouveau code ou fonctionnalité de l’emplacement de déploiement vers l’emplacement principal (production).
Vérifier l’utilisation des certificats
Le plan Flex Consumption prend en charge les certificats TLS/SSL via un modèle de certificat à portée de site. Contrairement à d’autres plans d’hébergement où les certificats sont partagés entre les applications dans la même région et le même groupe de ressources, les certificats Flex Consumption sont étendus à chaque application individuelle. Si votre application existante utilise des certificats, tenez compte de ces différences :
- Le
WEBSITE_LOAD_CERTIFICATESparamètre d’application n’est pas utilisé dans le plan Flex Consumption. Au lieu de cela, vous rendez chaque certificat accessible à votre code à l’aide du bouton bascule Accessible au code d’application dans le portail. Pour plus d’informations, consultez Rendre un certificat accessible à votre code. - Étant donné que Flex Consumption s’exécute sur Linux, votre code doit charger des certificats à partir de chemins de fichiers (
/var/ssl/certspour public,/var/ssl/privatepour privé) plutôt que du magasin de certificats Windows. - Chaque application prend en charge un maximum de trois certificats privés et trois certificats publics (.cer).
Confirmé : Si la commande
az functionapp flex-migration listou l’évaluation de Copilot inclut votre application dans la listeeligible_apps, votre application Linux du plan Consommation est compatible et vous pouvez passer à Vérifier vos déclencheurs de stockage Blob. Si votre application utilise des certificats, vous devez les ajouter à la nouvelle application après la migration.
Action requise : Si la sortie inclut votre application dans la
ineligible_appsliste avec une erreur liée au certificat, passez en revue les considérations relatives au certificat dans l’étendue du site et vérifiez que votre application peut fonctionner dans les limites du certificat.
Copilot répertorie les certificats utilisés par l’application source et vérifie les limites des certificats par site. Il ne transfère pas automatiquement les certificats. Réajoutez les certificats requis en utilisant le processus de certificat à portée de site, et mettez à jour le code qui lit le magasin de certificats Windows pour utiliser les chemins de fichiers de certificats Linux.
Si votre application utilise des certificats, envisagez de les rajouter à la nouvelle application Flex Consumption après la migration à l’aide du processus de certificat étendu au site. Assurez-vous que le certificat de votre application doit correspondre aux limites délimitées au site (3 privés + 3 publics par application).
Vérifier vos déclencheurs de stockage blob
Actuellement, le plan Flex Consumption prend uniquement en charge les déclencheurs basés sur des événements pour le stockage Blob Azure, qui sont définis avec un paramètre Source de EventGrid. Le plan ne prend pas en charge les déclencheurs de stockage d’objets blob qui utilisent l’interrogation de conteneur et utilisent un paramètre Source de LogsAndContainerScan. Étant donné que l’interrogation de conteneur est la valeur par défaut, vous devez déterminer si l’un de vos déclencheurs de stockage Blob utilise le paramètre source LogsAndContainerScan par défaut. Pour plus d’informations, consultez Déclencheur sur un conteneur d’objets blob.
Confirmé : Si la commande
az functionapp flex-migration listou l’évaluation Copilot inclut votre application dans laeligible_appsliste, votre application Linux Consumption n’utilise pas les déclencheurs Blob Storage par interrogation. Vous pouvez continuer à prendre en compte les services dépendants.
Action requise : Si la sortie inclut votre application dans la
ineligible_appsliste avec un message d’erreur indiquantThe site '<name>' has blob storage triggers that don't use Event Grid as the source: <list> Flex Consumption only supports Event Grid-based blob triggers. Please convert these triggers to use Event Grid or replace them with Event Grid triggers before migration.que votre application Consommation Linux n’est pas compatible avec Flex Consumption.
Copilot identifie les liaisons de déclencheurs Blob par type et marque tout déclencheur dont la source n'est pas explicitement EventGrid. Il guide la modification de code requise et la configuration de l’abonnement à l’événement avant le déploiement.
Si votre application comporte des déclencheurs de stockage Blob sans source Event Grid, vous devez passer à une source Event Grid avant de migrer vers le plan Flex Consumption.
Important
Avant de convertir un déclencheur Blob de sondage, vérifiez qu’Event Grid peut atteindre le point de terminaison de diffusion d’événements de l’application de fonction Azure cible. La livraison push par Event Grid ne prend pas en charge la livraison via des points de terminaison privés. Si la cible est privée uniquement, il faut résoudre l’architecture de livraison d’événements avant la migration ; l’intégration réseau virtuel seule ne fournit pas de connectivité entrante depuis Event Grid.
Les étapes de base pour modifier un déclencheur de stockage Blob existant en source Event Grid sont les suivantes :
Ajoutez ou mettez à jour la propriété
sourcedans votre définition de déclencheur de Blob storage àEventGridet redéployez ensuite l’application.Générez l’URL du point de terminaison dans votre application de fonction utilisée par l’abonnement aux événements.
Créez une souscription à des événements sur votre conteneur de stockage d’objets blob.
Pour plus d’informations, consultez Tutorial : Déclencher Azure Functions sur des conteneurs d’objets blob à l’aide d’un abonnement aux événements.
Vérifiez les dépendances de code spécifiques à Windows
Flex Consumption fonctionne sous Linux. Examinez votre application pour les API réservées à Windows, les paquets, les binaires natifs, les chemins et hypothèses spécifiques à Windows, les modules PowerShell et l’accès au magasin de certificats Windows. Les applications ciblant .NET Framework ou publiées pour un identifiant d’exécution Windows nécessitent également une préparation.
Flex Consumption ne prend pas en charge les dépendances gérées par PowerShell. Avant la migration, emballez tous les modules PowerShell nécessaires dans votre application dans son dossier racine Modules , et vérifiez que ces modules supportent Linux. Un requirements.psd1 fichier seul n’installe pas les modules dans l’application cible. Pour plus d’informations, voir Gestion des dépendances PowerShell.
Lors de l’évaluation, Copilot propose un scan heuristique de dépendance. Fournissez un répertoire source local ou un dépôt extrait dans la mesure du possible. Si la source n’est pas disponible, Copilot peut récupérer le package déployé, mais les artefacts compilés peuvent limiter la couverture de l’analyse. Le scan n’est pas exhaustif, et vous êtes responsable de vérifier la compatibilité Linux.
Compilez et validez les modifications de code requises avant de les déployer dans la nouvelle application. Si vous ne pouvez pas supprimer les dépendances Windows obligatoires, envisagez le forfait Premium sur Windows plutôt que Flex Consumption.
Prendre en compte les services dépendants
Conseil / Astuce
Application HTTP uniquement simple ? Si vos fonctions utilisent uniquement des déclencheurs HTTP et ne se connectent pas à d'autres services Azure, vous pouvez probablement ignorer la plupart de cette section. N’oubliez pas de mettre à jour tous les clients pour qu’ils pointent vers l’URL de votre nouvelle application après la migration.
Étant donné que Azure Functions est un service de calcul, tenez compte de l’effet de la migration sur les données et les services en amont et en aval de votre application.
Stratégies de protection des données
Pour protéger les données en amont et en aval pendant la migration, utilisez ces stratégies :
- Idempotency : assurez-vous que vos fonctions peuvent traiter en toute sécurité le même message plusieurs fois sans effets secondaires négatifs. Pour plus d’informations, consultez Designing Azure Functions pour obtenir une entrée identique.
- Journalisation et surveillance : pour suivre le traitement des messages, activez la journalisation détaillée dans les deux applications pendant la migration. Pour plus d’informations, consultez Surveiller les exécutions dans Azure Functions.
- Point de contrôle : pour les déclencheurs de streaming, tels que le déclencheur Event Hubs, implémentez des comportements de point de contrôle corrects pour suivre la position de traitement. Pour plus d’informations, consultez Azure Functions traitement fiable des événements.
- Traitement parallèle : envisagez d’exécuter temporairement les deux applications en parallèle pendant le basculement. Veillez à surveiller et valider soigneusement la façon dont les données sont traitées à partir du service en amont. Pour plus d’informations, consultez Les solutions multirégions personnalisées pour la résilience.
- Basculement progressif : pour les systèmes à volume élevé, envisagez d’implémenter un basculement progressif en redirigeant les parties du trafic vers la nouvelle application. Vous pouvez gérer le routage des requêtes en amont à partir de vos applications à l’aide de services tels que Gestion des API Azure ou Azure Application Gateway.
Atténuations par type de déclencheur
Planifiez des stratégies d’atténuation pour protéger les données des déclencheurs de fonction spécifiques dans votre application :
| Déclencheur | Risque pour les données | Stratégie |
|---|---|---|
| Stockage Blob Azure | Élevé | Créez un conteneur distinct pour le déclencheur basé sur les événements dans la nouvelle application. Avec la nouvelle application en cours d'exécution, basculez les clients vers le nouveau conteneur. Autorisez le traitement complet du conteneur d’origine avant d’arrêter l’ancienne application. |
| Azure Cosmos DB | Élevé | Créez un conteneur de bail dédié spécifiquement pour la nouvelle application. Définissez ce nouveau conteneur de bail comme configuration leaseCollectionName dans votre nouvelle application.Nécessite que vos fonctions soient idempotentes ou que vous devez être en mesure de gérer les résultats du traitement des flux de modification en double. Définissez la configuration StartFromBeginning sur false dans la nouvelle application pour éviter de retraiter l’intégralité du flux. |
| Azure Event Grid | Moyenne | Recréez le même abonnement aux événements dans la nouvelle application. Nécessite que vos fonctions soient idempotentes ou que vous devez être en mesure de gérer les résultats du traitement des événements en double. |
| Azure Event Hubs | Moyenne | Créez un groupe de consommateurs à utiliser par la nouvelle application. Pour plus d’informations, consultez Stratégies de migration pour les déclencheurs Event Grid. |
| Azure Service Bus | Élevé | Créez une rubrique ou une file d’attente à utiliser par la nouvelle application. Mettez à jour les expéditeurs et les clients pour utiliser la nouvelle rubrique ou la nouvelle file d’attente. Une fois la rubrique d’origine vide, arrêtez l’ancienne application. |
| file d’attente stockage Azure | Élevé | Créez une file d’attente à utiliser par la nouvelle application. Mettez à jour les expéditeurs et les clients pour utiliser la nouvelle file d’attente. Une fois la file d’attente d’origine vide, arrêtez l’ancienne application. |
| HTTP | Faible | N’oubliez pas de changer de client et d’autres applications ou services pour cibler les nouveaux points de terminaison HTTP après la migration. |
| Minuteur | Faible | Pendant le basculement, veillez à décaler la planification du minuteur entre les deux applications pour éviter les exécutions simultanées des deux applications. Désactivez le déclencheur du minuteur dans l’ancienne application après l’exécution réussie de la nouvelle application. |
Tâches de prémigration
Avant de créer votre application Flex Consumption, rassemblez des informations sur votre application actuelle. Cette étape garantit que vous ne perdez aucun paramètre pendant la transition.
Lorsque vous utilisez Copilot, la compétence répertorie cette configuration dans le cadre du workflow de migration. Examinez ses conclusions et décisions plutôt que de relancer les commandes manuelles.
Conseil / Astuce
Cette étape est principalement un travail de copie-collage. Collectez les paramètres de votre application existante pour pouvoir les appliquer à la nouvelle application.
Effectuez ces tâches avant de migrer :
Collecter les paramètres de l’application
Si vous envisagez d’utiliser les mêmes sources de déclencheur et de liaisons et d’autres paramètres à partir des paramètres d’application, notez d’abord les paramètres d’application actuels dans votre application de plan Consommation existante.
Copilot passe en revue les noms des paramètres d’application sans afficher de valeurs secrètes. Il demande s’il faut copier les paramètres source filtrés ou les différer pour pouvoir configurer des dépendances cibles isolées. Si vous reportez les paramètres, le déploiement attend que la configuration cible requise soit prête.
Avertissement
Les paramètres d’application contiennent fréquemment des clés et d’autres secrets partagés. Stockez toujours les paramètres d’application en toute sécurité, idéalement chiffrés. Pour améliorer la sécurité, utilisez l'authentification Microsoft Entra ID avec des identités gérées dans la nouvelle application du plan Flex Consumption au lieu de mots de passe partagés.
Collecter des configurations d’application
D’autres configurations d’application existent au-delà des paramètres de l’application. Capturez ces configurations à partir de votre application existante pour pouvoir les recréer correctement dans la nouvelle application.
Passez en revue ces paramètres. Si l’une d’entre elles existe dans l’application actuelle, déterminez s’il faut les recréer dans la nouvelle application de plan Flex Consumption :
| Paramétrage | Réglage | Commentaire |
|---|---|---|
| Paramètres CORS | cors |
Détermine les paramètres CORS (Cross-Origin Resource Sharing) existants, dont vos clients peuvent avoir besoin. |
| Domaines personnalisés | Si votre application utilise actuellement un domaine autre que *.azurewebsites.net, vous devez remplacer ce mappage de domaine personnalisé par un mappage à votre nouvelle application. |
|
| Version HTTP | http20Enabled |
Détermine si HTTP 2.0 est requis par votre application. |
| HTTPS uniquement | httpsOnly |
Détermine si TSL/SSL est requis pour accéder à votre application. |
| Certificats clients entrants | clientCertEnabledclientCertModeclientCertExclusionPaths |
Définit les conditions requises pour les demandes clientes qui utilisent des certificats pour l’authentification. |
| Limite maximale de scale-out | WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT |
Définit la limite des instances avec montée en charge. La valeur maximale par défaut est 200. Cette valeur se trouve dans les paramètres de votre application, mais dans une application de plan Flex Consumption, elle est ajoutée en tant que paramètre de site (maximumInstanceCount). |
| Version TLS entrante minimale | minTlsVersion |
Définit une version minimale de TLS requise par votre application. |
| Chiffrement TLS entrant minimal | minTlsCipherSuite |
Définit une exigence minimale de chiffrement TLS pour votre application. |
| Partages Azure Files montés | azureStorageAccounts |
Détermine si des partages de fichiers montés explicitement existent dans votre application (Linux uniquement). |
| Informations d’identification de publication d’authentification de base SCM | scm.allow |
Détermine si le scm site de publication est activé. Bien qu’il ne soit pas recommandé pour la sécurité, certaines méthodes de publication l’exigent. |
Remarque
Il n’y a pas de paramètre TLS post-quantique à collecter ou à migrer.
minTlsVersion contrôle la version minimale acceptée du protocole TLS, et minTlsCipherSuite contrôle la sélection des suites de chiffrement. Aucune des deux propriétés ne contrôle le groupe pris en charge par TLS utilisé pour l’échange de clés. Les clients qui prennent en charge TLS 1.3 et le groupe hybride peuvent négocier automatiquement le groupe X25519MLKEM768 avec le front-end de la plateforme ; les clients qui ne prennent pas en charge le groupe utilisent un échange de clés classique pris en charge. Pour plus de détails, voir l’échange de clés hybrides post-quantique dans Azure App Service.
Copilot répertorie les paramètres du site, les limites de mise à l’échelle, CORS, les domaines personnalisés et d’autres éléments de configuration. Il enregistre les éléments non pris en charge ou manipulés manuellement dans l’évaluation. Les métadonnées de montage explicites d’Azure Files sont réservées à l’inventaire pour cette migration Windows.
Identifier les identités managées et l’accès en fonction du rôle
Avant de migrer, indiquez si votre application s’appuie sur l’identité managée affectée par le système ou sur les identités managées affectées par l’utilisateur. Déterminez les autorisations de contrôle d’accès en fonction du rôle (RBAC) accordées à ces identités. Vous devez recréer l’identité managée affectée par le système et toutes les attributions de rôles dans votre nouvelle application. Vous pouvez réutiliser vos identités gérées assignées par l’utilisateur dans votre nouvelle application.
Copilot répertorie les identités managées attribuées par le système et par l’utilisateur, ainsi que leurs attributions de rôle. Il utilise cet inventaire pour configurer les identités de la cible et recréer l’accès nécessaire aux ressources appropriées.
Identifier les paramètres d’authentification intégrés
Avant de migrer vers Flex Consumption, collectez des informations sur toutes les configurations d’authentification intégrées. Si vous souhaitez que votre application utilise les mêmes comportements d’authentification client, vous devez les recréer dans la nouvelle application. Pour plus d’informations, consultez Authentication et l’autorisation dans Azure Functions.
Faites attention aux URI de redirection, aux redirections externes autorisées et aux paramètres de jeton pour garantir une transition fluide pour les utilisateurs authentifiés.
Copilot répertorie les fournisseurs activés et le comportement d’authentification sans exposer les secrets des fournisseurs. Il identifie les URI de rappel spécifiques à la cible et guide la configuration des fournisseurs avant le déploiement du code. Il ne copie pas automatiquement les enregistrements des fournisseurs ni les secrets.
Passer en revue les restrictions d’accès entrant
Vous pouvez définir des restrictions d’accès entrantes sur les applications dans un plan Consommation. Vous souhaiterez peut-être conserver ces restrictions dans votre nouvelle application. Pour chaque restriction que vous définissez, veillez à capturer ces propriétés :
- Adresses IP ou plages CIDR
- Valeurs de priorité
- Type d’action (Autoriser/Refuser)
- Noms des règles
Copilot répertorie et recrée des restrictions d’accès compatibles. Il n’affaiblit pas automatiquement ces restrictions pour que les vérifications de santé du déploiement ou la validation HTTP réussissent.
Lors de l’exécution dans le plan Flex Consumption, vous pouvez recréer ces restrictions ip entrantes. Vous pouvez sécuriser davantage votre application en implémentant d’autres restrictions réseau, telles que l’intégration de réseau virtuel et les points de terminaison privés entrants. Pour plus d’informations, consultez Intégration de réseau virtuel.
Démarrer la migration
Important
Si l’accès à la clé partagée est désactivé sur le compte de stockage hôte ou de déploiement sélectionné, ou si votre organisation nécessite un accès au stockage sans clé, configurez l’authentification par identité managée et les attributions de rôles requises pour le stockage hôte et le stockage de déploiement. Les flux de création basés sur CLI décrits dans cet article utilisent des chaînes de connexion de stockage. Créer l’application avec des clés puis la convertir ensuite ne satisfait pas à l’obligation d’interdire l’authentification par clé partagée lors du provisionnement. Pour plus d’informations, consultez Connexions de stockage hôte basées sur l’identité et Configurer les paramètres de déploiement.
Si vous avez utilisé l’invite de découverte dans la section Identifier , la compétence a déjà évalué, créé et configuré votre nouvelle application Flex Consumption. Vous pouvez ignorer cette section et passer aux étapes de migration.
Si vous connaissez déjà l’application à migrer, utilisez cette invite :
migrate my app <APP_NAME> to flex consumption
La compétence gère automatiquement l’évaluation, la création d’applications et la migration de configuration , équivalente à la az functionapp flex-migration start commande et à ses étapes de vérification.
Une fois la migration démarrée avec succès, passez à l'étape Obtenir le package de déploiement de code.
Si vous connaissez déjà l’application à migrer, utilisez cette invite :
Migrate my Windows Consumption Function App <APP_NAME> to Flex Consumption.
Remplacez-le <APP_NAME> par le nom de votre application source. Copilot présente le plan de migration, effectue des évaluations, répertorie la configuration et crée une nouvelle application Flex Consumption en parallèle de la source.
Par défaut, le workflow propose <APP_NAME>-flex comme nom de l’application cible. Copilot vous demande de choisir entre réutiliser le compte de stockage source, en créer un nouveau ou utiliser un compte existant spécifique avant de créer l’application cible. Vous pouvez demander un nom de cible différent ou indiquer votre préférence de stockage dans la demande. Examinez le choix de stockage car les dépendances partagées permettent aux deux applications de traiter les mêmes événements.
Copilot vérifie si les comptes de stockage sélectionnés permettent l’authentification par clé partagée et s’enquiert des exigences de stratégie d’authentification par identité uniquement. Si la création basée sur des clés n'est pas autorisée, Copilot met en pause avant de créer l'application cible. Provisionnez une application vide à Consommation flexible, dédiée à cette migration, dans le même abonnement, en utilisant l’infrastructure en tant que code et en donnant la priorité à l’identité. Configurez l’accès par identité managée pour l’hôte et le stockage de déploiement, ainsi que les attributions de rôle requises et la surveillance. Ne déployez pas encore le code de fonction. Pour des exemples de provisionnement, voir les exemples d’infrastructure-as-code pour Flex Consumption.
Retournez l'ID complet de la ressource Azure de la cible ainsi que le chemin du fichier de progression enregistré. Copilot vérifie la cible existante et, après votre approbation, reprend la configuration et le déploiement sans créer une autre application. Ignorez cette invite :
Resume the Flex Consumption migration for <APP_NAME> using progress at <PROGRESS_FILE_PATH>.
I provisioned a keyless target at <TARGET_RESOURCE_ID>. Use that existing target; do not create another app.
Avant le déploiement, Copilot guide la préparation du code Windows-vers-Linux, la configuration de la cible, l’authentification intégrée et la sécurité des déclencheurs non HTTP. Il propose ensuite un déploiement via un pipeline mis à jour, un projet local ou un package de déploiement compatible.
Par défaut, Copilot enregistre la progression dans .azure-upgrade/<SOURCE_APP_NAME>/upgrade-status.md. Pour reprendre, utilisez cette invite :
Resume the Flex Consumption migration for <APP_NAME>.
Obtenir le package de déploiement de code
Pour redéployer votre application, vous avez besoin des fichiers sources de votre projet ou du package de déploiement. Dans l’idéal, vous conservez vos fichiers projet dans le contrôle de code source afin de pouvoir facilement redéployer le code de fonction dans votre nouvelle application. Si vous avez vos fichiers de code source, vous pouvez ignorer cette section et continuer à capturer des benchmarks de performances (facultatifs).
Si vous n’avez plus accès à vos fichiers sources de projet, vous pouvez télécharger le package de déploiement actuel à partir de l’application de plan Consommation existante dans Azure. L’emplacement du package de déploiement dépend de l’exécution sur Linux ou sur Windows.
Les applications de plan de consommation sur Linux gèrent le fichier de package zip de déploiement dans l’un des emplacements suivants :
Conteneur de stockage Blob Azure nommé
scm-releasesdans le compte de stockage hôte par défaut (AzureWebJobsStorage). Ce conteneur est la source de déploiement par défaut d’une application de plan Consommation sur Linux.Si votre application a un
WEBSITE_RUN_FROM_PACKAGEparamètre qui est une URL, le package se trouve dans un emplacement accessible en externe que vous gérez. Un paquet externe doit être hébergé dans un conteneur de stockage blob avec un accès restreint. Pour plus d’informations, consultez l’URL du package externe.
Conseil / Astuce
Si vous limitez votre compte de stockage à l’accès aux identités managées uniquement, vous devrez peut-être accorder à votre compte Azure l’accès en lecture au conteneur de stockage en l’ajoutant au rôle Storage Blob Data Reader.
Le package de déploiement est compressé à l’aide du squashfs format. Pour voir ce qui se trouve dans le package, vous devez utiliser des outils qui peuvent décompresser ce format.
Procédez comme suit pour télécharger le package de déploiement à partir de votre application actuelle :
La compétence de migration Copilot tente de télécharger et de redéployer votre projet de code existant dans votre nouvelle application. En cas d’échec, il vous guide à la place en obtenant et en déployant votre package de code dans le cadre du flux de travail de migration. Vous pouvez ignorer cette section et passer aux étapes de migration.
L’emplacement de vos fichiers sources de projet dépend du WEBSITE_RUN_FROM_PACKAGE paramètre d’application comme suit :
valeur WEBSITE_RUN_FROM_PACKAGE |
Emplacement du fichier source |
|---|---|
1 |
Les fichiers se trouvent dans un package zip stocké dans le partage Azure Files du compte de stockage défini par le paramètre WEBSITE_CONTENTAZUREFILECONNECTIONSTRING. Le WEBSITE_CONTENTSHARE paramètre définit le nom du partage de fichiers. |
| URL de point de terminaison | Les fichiers se trouvent dans un package zip dans un emplacement accessible en externe que vous gérez. Un paquet externe doit être hébergé dans un conteneur de stockage blob avec un accès restreint. Pour plus d’informations, consultez l’URL du package externe. |
Copilot demande d’abord un répertoire source local. Si la source n’est pas disponible, elle propose de récupérer le paquet déployé depuis le partage de contenu de l’application source ou l’URL du paquet externe. Il vérifie si le paquet est adapté à Linux et Flex Consumption ; les builds spécifiques à Windows nécessitent une préparation plutôt qu’un redéploiement direct.
Capturer des benchmarks de performances (facultatif)
Si vous envisagez de valider l’amélioration des performances dans votre application en fonction de la migration vers le plan Flex Consumption, envisagez de capturer les benchmarks de performances de votre plan actuel. Vous pouvez ensuite les comparer aux mêmes benchmarks pour votre application s’exécutant dans un plan Flex Consumption.
Conseil / Astuce
Comparez toujours les performances dans des conditions similaires, telles que l’heure de jour, le jour de la semaine et la charge du client. Essayez d’exécuter les deux benchmarks aussi proches que possible.
Voici quelques points de référence à prendre en compte pour vos tests de performances structurés :
| Benchmark suggéré | Commentaire |
|---|---|
| Démarrage à froid | Mesurez l’heure de la première requête à la première réponse après une période d’inactivité. |
| Débit | Mesurez les demandes maximales par seconde à l’aide d’outils de test de charge pour déterminer comment l’application gère les requêtes simultanées. |
| Latence | Suivez les temps de réponse de P50, P95 et P99 dans différentes conditions de charge. Vous pouvez surveiller ces métriques dans Application Insights. |
Utilisez cette requête Kusto pour passer en revue les temps de réponse de latence suggérés dans Application Insights :
requests
| where timestamp > ago(1d)
| summarize percentiles(duration, 50, 95, 99) by bin(timestamp, 1h)
| render timechart
Étapes de la migration
Pour migrer vos fonctions d’une application de plan Consommation vers une application de plan Flex Consumption, procédez comme suit :
Vérifier l’application Flex Consumption créée et configurée
Après avoir exécuté la commande az functionapp flex-migration start , vérifiez que votre nouvelle application Flex Consumption est créée correctement et correctement configurée. Voici quelques étapes pour valider les résultats de la migration :
La compétence de migration Copilot vérifie automatiquement la nouvelle application dans le cadre de la migration. Si vous avez démarré la migration à l’aide d’un requête Copilot dans Démarrez la migration pour Linux, la compétence a déjà vérifié que l’application a été créée et configurée correctement. Vous pouvez ignorer cette section et continuer à configurer l’authentification intégrée.
Passer en revue le résumé de la migration
La commande de migration automatisée transfère la plupart des configurations. Toutefois, vérifiez manuellement que ces éléments sont migrés. Vous devrez peut-être les configurer manuellement :
- Certificats : Réajoutez les certificats TLS/SSL à l’application Flex Consumption en utilisant le processus de certificat à portée de site.
- Emplacements de déploiement : non pris en charge dans Flex Consumption.
- Paramètres d’authentification intégrés : vous devez reconfigurer ces paramètres manuellement.
- Paramètres CORS : vous devrez peut-être vérifier ces paramètres manuellement en fonction de votre configuration.
Si des paramètres critiques sont manquants ou incorrects, configurez-les manuellement en suivant les étapes décrites dans le processus de migration Windows de cet article.
- Examen final du plan
- Créer une application dans le plan Flex Consumption
- Appliquer les paramètres d’application migrés dans la nouvelle application
- Appliquer d’autres configurations d’application
- Configurer les paramètres de mise à l’échelle et de concurrence
- Configurer tous les domaines personnalisés et l’accès CORS
- Configurer des identités managées et attribuer des rôles
- Configurer les restrictions d’accès réseau
- Activer la surveillance
- Configurer l’authentification intégrée
- Déployer le code de votre application sur la nouvelle ressource Flex Consumption
Examen final du plan
Avant de poursuivre le processus de migration, prenez un moment pour effectuer ces dernières étapes préparatoires :
Lorsque vous utilisez Copilot, vérifiez l’évaluation, l’inventaire de configuration, les modifications de code, le choix de déploiement et les décisions de sécurité des déclencheurs avant d’approuver la création de la cible et le déploiement. Une migration réussie en mode validation uniquement ne signifie pas que le trafic de production ou les déclencheurs ont été basculés.
Passez en revue toutes les informations collectées : passez en revue toutes les notes, les détails de configuration et les paramètres d’application que vous avez documentés dans les sections d’évaluation et de prémigration précédentes. Si quelque chose n’est pas clair, réexécutez les commandes Azure CLI ou récupérez les informations à partir du portail.
Définissez votre plan de migration : en fonction de vos résultats, créez une liste de contrôle pour votre migration qui met en évidence :
- Tous les paramètres qui ont besoin d’une attention particulière
- Déclencheurs et liaisons ou autres dépendances susceptibles d’être affectés pendant la migration
- Stratégie de test pour la validation post-migration
- Plan de retour arrière en cas de problèmes inattendus
Planification des temps d’arrêt : envisagez quand arrêter l’application de fonction d’origine pour éviter la perte de données et le traitement en double des événements, et comment cette migration peut affecter vos utilisateurs ou systèmes en aval. Dans certains cas, vous devrez peut-être désactiver des fonctions spécifiques avant d’arrêter l’ensemble de l’application.
Une révision finale minutieuse permet de garantir un processus de migration plus fluide et réduit le risque d’ignorer les configurations importantes.
Créer une application dans le plan Flex Consumption
Vous pouvez créer une application de fonction dans le plan Flex Consumption avec d’autres ressources Azure requises de différentes manières :
| Créer une option | Articles de référence |
|---|---|
| GitHub Copilot, outil d'assistance au codage | Utilisez le prompt Windows figurant dans Démarrer la migration. Copilot confirme les ressources cibles et crée l’application dans le cadre du flux de travail guidé. |
| Azure CLI | Créer une application Flex Consumption |
| portail Azure | Créer une application de fonction dans le portail Azure |
| Infrastructure en tant que code |
Modèle ARM azd Bicep Terraform |
| Visual Studio Code | Visual Studio Code déploiement |
| Visual Studio | Déploiement de Visual Studio |
Conseil / Astuce
Si possible, utilisez Microsoft Entra ID pour l’authentification au lieu de chaînes de connexion, qui contiennent des clés partagées. L’utilisation d’identités managées est une bonne pratique qui améliore la sécurité en éliminant la nécessité de stocker des secrets partagés directement dans les paramètres de l’application. Si votre application d’origine a utilisé des chaînes de connexion, le plan Flex Consumption prend en charge les identités managées. La plupart de ces liens vous montrent comment activer des identités managées dans votre application de fonction.
Appliquer les paramètres d’application migrés dans la nouvelle application
Avant de déployer votre code, configurez la nouvelle application avec les paramètres d’application de plan Flex Consumption appropriés à partir de votre application de fonction d’origine.
Important
Tous les paramètres d’application du plan Consommation ne sont pas pris en charge lors de l’exécution dans un plan Flex Consumption. Pour plus d’informations, consultez Dépréciations du plan Consommation flexible.
Après approbation, Copilot copie les paramètres pris en charge sans afficher ni persister les valeurs secrètes brutes. Il conserve les paramètres de stockage et d’Application Insights appartenant à la cible. Il examine également les conversions de noms : vers __ requises sous Linux et s’arrête si les noms de source correspondent de manière ambiguë.
Appliquer d’autres configurations d’application
Recherchez la liste des autres configurations d’application de votre ancienne application que vous avez collectée lors de la prémigration et définissez-les dans la nouvelle application.
Remarque
Il n’y a pas de réglage TLS post-quantique à appliquer. Les applications Consumption et Flex Consumption utilisent toutes deux la négociation gérée par la plateforme avec des clients compatibles ; la migration des certificats ou des domaines personnalisés ne modifie pas l’éligibilité à l’échange de clés post-quantique. Les paramètres TLS et de la suite de chiffrement minimaux ne contrôlent pas le groupe pris en charge. Pour plus de détails, voir l’échange de clés hybrides post-quantique dans Azure App Service.
Copilot applique la configuration compatible du site depuis l’inventaire et vérifie la cible. Les réglages non pris en charge et les éléments nécessitant une manipulation manuelle restent un travail de suivi explicite plutôt que d’être copiés silencieusement.
Configurer les paramètres de mise à l’échelle et de concurrence
Le plan Flex Consumption utilise la mise à l’échelle par fonction. Chaque fonction au sein de votre application est mise à l’échelle indépendamment en fonction de sa charge de travail. La mise à l’échelle est plus strictement liée aux paramètres de concurrence. Ces paramètres vous aident à prendre des décisions de mise à l’échelle en fonction des exécutions simultanées actuelles. Pour en savoir plus, consultez les sections Mise à l’échelle par fonction et Concurrence de l’article sur le plan Consommation flexible.
Si vous souhaitez que votre nouvelle application soit mise à l'échelle comme votre application d'origine, tenez compte des paramètres de concurrence. La définition de valeurs d’accès concurrentiel plus élevées peut entraîner la création de moins d’instances pour gérer la même charge.
Si vous définissez une limite de scale-out personnalisée dans votre application d’origine, vous pouvez l’appliquer à votre nouvelle application. Sinon, passez à la section suivante.
Le nombre d’instances maximal par défaut est de 100. Définissez-la sur une valeur comprise entre 1 et 1 000.
Remarque
La réduction du nombre maximal d’instances inférieure à 40 pour les applications de fonction HTTP peut entraîner des échecs de requête fréquents et des fenêtres de limitation prolongées lorsque le trafic dépasse la capacité. Ce paramètre est destiné uniquement aux scénarios avancés où un scale-out limité est acceptable et est entièrement testé.
Copilot vérifie tout réglage maximal d’échelle de la source par rapport à la plage de consommation Flex prise en charge avant de l’appliquer. Si la source n’a pas défini de limite personnalisée, elle conserve la limite par défaut de la cible. Examinez l’ajustement de la concurrence spécifique à la charge de travail après la migration.
Configurer tous les domaines personnalisés et l’accès CORS
Si votre application d’origine avait des domaines personnalisés liés ou des paramètres CORS, recréez-les dans votre nouvelle application. Pour plus d’informations sur les domaines personnalisés, consultez Configurer un domaine personnalisé existant dans Azure App Service.
Copilot recrée une configuration CORS compatible et guide la configuration personnalisée du domaine. Tout changement de liaison source, DNS ou routage en production nécessite une approbation séparée ; la création de l’application cible n’effectue pas le basculement du trafic.
Configurer des identités managées et attribuer des rôles
La façon dont vous configurez des identités managées dans votre nouvelle application dépend du type d’identité managée :
| Type d'identité managée | Créer une identité | Attributions de rôles |
|---|---|---|
| Affecté par l’utilisateur | Optionnel | Vous pouvez continuer à utiliser les mêmes identités managées affectées par l’utilisateur avec la nouvelle application. Vous devez réaffecter ces identités à votre application Flex Consumption et vérifier qu’elles ont toujours les attributions de rôles correctes dans les services distants. Si vous choisissez de créer des identités pour la nouvelle application, vous devez attribuer les mêmes rôles que les identités existantes. |
| Attribué par le système | Oui | Étant donné que chaque application de fonction possède sa propre identité managée affectée par le système, vous devez activer l’identité managée affectée par le système dans la nouvelle application et réaffecter les mêmes rôles que dans l’application d’origine. |
La recréation correcte des attributions de rôles est essentielle pour garantir que votre application de fonction a le même accès aux ressources Azure après la migration.
Conseil / Astuce
Si votre application d'origine a utilisé des chaînes de connexion ou d'autres secrets partagés pour l'authentification, il s'agit d'une excellente occasion d'améliorer la sécurité de votre application en passant à l'utilisation de l'authentification Microsoft Entra ID avec des identités managées. Pour plus d’informations, voir Configurer les connexions aux services à distance dans Azure Functions.
Copilot active une identité attribuée par le système sur la cible et recrée les attributions de rôle requises pour son nouveau principal. Il vérifie l’accès par rapport aux ressources cibles plutôt que de réutiliser le principal source.
Configurer les restrictions d’accès réseau
Si votre application d’origine avait des restrictions d’accès entrant basées sur IP, recréez l’une des mêmes règles d’accès entrantes que vous souhaitez conserver dans votre nouvelle application.
Conseil / Astuce
Le plan Flex Consumption prend entièrement en charge l’intégration du réseau virtuel. En raison de cette prise en charge, vous pouvez également utiliser des points de terminaison privés entrants après la migration. Pour plus d’informations, consultez Points de terminaison privés.
Copilot recrée les restrictions d’accès sources compatibles et les vérifie. Si ces restrictions empêchent les tests HTTP directs, la validation est enregistrée comme différée plutôt que d’ouvrir l’accès automatiquement.
Activer la supervision
Avant de démarrer votre nouvelle application dans le plan Flex Consumption, vérifiez que Application Insights est activé. Lorsque vous configurez Application Insights, vous pouvez résoudre les problèmes qui se présentent lors du déploiement et du démarrage du code.
Implémentez une stratégie de supervision complète qui couvre les métriques d’application, les journaux et les coûts. Grâce à cette stratégie, vous pouvez valider la réussite de votre migration, identifier rapidement les problèmes et optimiser les performances et le coût de votre nouvelle application.
Si vous envisagez de comparer cette nouvelle application à votre application actuelle, assurez-vous que votre schéma collecte également les benchmarks requis pour la comparaison. Pour plus d’informations, consultez Configurer la surveillance.
Lors de l’utilisation de Copilot, la compétence vérifie la configuration d’Application Insights de la cible avant le déploiement. Il conserve l’ingestion authentifiée par Microsoft Entra lorsque la source l’a utilisée et valide la télémétrie après le déploiement.
Configurer une authentification intégrée
Si votre application d’origine a utilisé l’authentification cliente intégrée (parfois appelée authentification simple), recréez-la dans votre nouvelle application. Si vous envisagez de réutiliser la même inscription de client, veillez à définir les points de terminaison authentifiés de la nouvelle application dans le fournisseur d'authentification.
La compétence de migration Copilot pour Linux n'automatise pas la configuration d'authentification intégrée. Utilisez les onglets Azure CLI ou Azure portail pour recréer manuellement vos paramètres d’authentification.
Copilot guide la configuration par fournisseur et la vérification sur la cible. Vous devez configurer les secrets fournisseurs directement via le portail, un paramètre existant contenant le secret, ou une référence Key Vault, et enregistrer l’URI de rappel cible. Si l'authentification est différée, Copilot s'arrête avant de déployer le code afin que la cible n'expose pas les points d'accès précédemment protégés sans authentification.
Déployer le code de votre application sur la nouvelle ressource Flex Consumption
Après avoir configuré votre nouvelle application de plan Flex Consumption en fonction des paramètres de l’application d’origine, déployez votre code sur les nouvelles ressources d’application dans Azure.
Avertissement
Après un déploiement réussi, les déclencheurs activés dans votre nouvelle application peuvent immédiatement commencer à traiter les données des services connectés. Pour réduire les données dupliquées et empêcher la perte de données lors du démarrage de la nouvelle application et arrêter l’application d’origine, passez en revue les stratégies que vous avez définies dans les atténuations par type de déclencheur.
Avant le déploiement, Copilot classe chaque trigger et propose de désactiver des fonctions autres que HTTP qui pourraient traiter des événements de production ou exécuter des tâches planifiées. Si vous approuvez la désactivation, le système écrit et vérifie les paramètres de désactivation avant le déploiement, puis vérifie l’état effectif de la fonction après le déploiement. Les fonctions HTTP restent activées car les clients doivent être redirigés vers le nouveau nom d’hôte.
Les noms de fonctions contenant un trait d’union (-) ne peuvent pas être désactivés sur Linux via les paramètres par fonction de l’application. Pour ces fonctions, Copilot nécessite une décision de sécurité distincte : isoler les dépendances, renommer et repackager, approuver un transfert source-first, ou accepter explicitement le traitement actif. Il ne considère pas un drapeau de désactivation inefficace comme une protection.
Planifiez la gestion des clés de fonction avant la bascule HTTP. La nouvelle application dispose de ses propres clés d’hôte et de fonction. Pour les appelants utilisant ces clés, soit préserver les clés d’hôte source compatibles et les clés de fonction HTTP, soit mettre à jour les appelants pour qu’ils utilisent les clés de l’application cible avant de rediriger le trafic. Copilot demande quelle stratégie utiliser et, si vous choisissez la préservation, copie et vérifie les clés sélectionnées après le déploiement. Validez les requêtes authentifiées par rapport au point de terminaison cible avant la bascule.
Copilot ne copie pas la clé _master ni les clés système gérées par l’extension. Mettez à jour séparément les intégrations webhook qui nécessitent des clés système générées par la cible. Préserver les clés client signifie que ces identifiants autorisent les deux applications pendant qu’elles coexistent.
Lorsque vous utilisez Copilot, choisissez de mettre à jour votre pipeline CI/CD, de publier un projet local préparé ou de déployer un paquet récupéré compatible. Après validation, Copilot guide la montée de production et demande une approbation explicite avant de changer l’application source.
Functions fournit plusieurs façons de déployer votre code, soit à partir du projet de code, soit en tant que package de déploiement prêt à l’exécution.
Conseil / Astuce
Si vous conservez votre code de projet dans un référentiel de code source, il est maintenant le moment idéal pour configurer un pipeline de déploiement continu. Le déploiement continu vous permet de déployer automatiquement des mises à jour d’application en fonction des modifications apportées à un référentiel connecté.
Mettez à jour vos flux de travail de déploiement existants pour déployer votre code source sur votre nouvelle application :
Vous pouvez également créer un flux de travail de déploiement continu pour votre nouvelle application. Pour plus d’informations, consultez Déploiement continu pour Azure Functions.
Tâches post-migration
🎉 Félicitations! Votre application s’exécute maintenant sur Flex Consumption. Pour tirer le meilleur parti de votre nouveau plan, envisagez ces tâches de suivi facultatives :
Vérifier les fonctionnalités de base
Vérifiez que la nouvelle application s’exécute dans un plan Flex Consumption :
La compétence de migration Copilot valide votre nouvelle application après le déploiement, y compris son plan d’hébergement et l’état de la fonction. Les tests HTTP peuvent rester différés lorsque des restrictions d’accès intentionnelles les empêchent. Examinez les tests différés et validez le traitement non HTTP avant la coupure de production. Si vous devez revalider, utilisez cette instruction :
verify my flex consumption app <APP_NAME> is running correctlyUtilisez un client HTTP pour appeler au moins un point de terminaison de déclencheur HTTP sur votre nouvelle application pour vous assurer qu’elle répond comme prévu.
Capturer des mesures de performances
Une fois votre nouvelle application en cours d’exécution, exécutez les mêmes benchmarks de performances que ceux que vous avez collectés à partir de votre application d’origine, par exemple :
| Benchmark suggéré | Commentaire |
|---|---|
| Démarrage à froid | Mesurez l’heure de la première requête à la première réponse après une période d’inactivité. |
| Débit | Mesurez les demandes maximales par seconde à l’aide d’outils de test de charge pour déterminer comment l’application gère les requêtes simultanées. |
| Latence | Suivez les temps de réponse de P50, P95 et P99 dans différentes conditions de charge. Vous pouvez surveiller ces métriques dans Application Insights. |
Utilisez cette requête Kusto pour passer en revue les temps de réponse de latence suggérés dans Application Insights :
requests
| where timestamp > ago(1d)
| summarize percentiles(duration, 50, 95, 99) by bin(timestamp, 1h)
| render timechart
Remarque
Les métriques du plan Flex Consumption diffèrent des métriques du plan consommation. Lorsque vous comparez les performances avant et après la migration, gardez à l’esprit que vous devez utiliser différentes métriques pour suivre des caractéristiques de performances similaires. Pour plus d’informations, consultez Configurer la surveillance.
Créer des tableaux de bord personnalisés
En utilisant Azure Monitor métriques et Application Insights, vous pouvez créer des tableaux de bord dans le portail Azure qui affichent des graphiques à partir des métriques de plateforme et des journaux d’exécution et d’analytique.
Envisagez de configurer des tableaux de bord et des alertes sur vos métriques clés dans le portail Azure. Pour plus d’informations, consultez Surveiller votre application dans Azure.
Affiner les paramètres du plan
Les améliorations réelles des performances et les implications des coûts de la migration peuvent varier en fonction des charges de travail et de la configuration spécifiques à votre application. Le plan Flex Consumption fournit plusieurs paramètres que vous pouvez ajuster pour affiner les performances de votre application. Vous souhaiterez peut-être effectuer des ajustements pour qu’ils correspondent plus étroitement au comportement de l’application d’origine ou à équilibrer les coûts et les performances. Pour plus d’informations, consultez Ajuster votre application dans l’article Flex Consumption.
Mettre à jour vos fichiers de déploiement de ressources
Si vous gérez votre infrastructure d’application de fonction à l’aide de Bicep ou Terraform, mettez à jour vos fichiers de déploiement pour cibler le plan Flex Consumption. Cette section présente les principales différences entre les définitions de ressources du plan Consommation et Flex Consumption.
Important
Vous ne pouvez pas convertir une application de plan Consommation existante en Consommation flexible en place. Vous devez créer de nouvelles ressources avec un nouveau nom ou supprimer les ressources existantes avant de déployer les équivalents Flex Consumption.
Principales différences
Lors de la migration de vos déploiements de ressources de Consommation vers Flex Consumption, tenez compte des modifications importantes suivantes :
| Aspect | Plan de consommation | Plan Consommation flexible |
|---|---|---|
| Référence SKU du plan d’hébergement |
Y1 (Dynamique) |
FC1 (FlexConsumption) |
| Plan nécessaire | Facultatif (autocréé) | Obligatoire (doit être explicite) |
| Système d’exploitation | Windows ou Linux | Linux uniquement |
| Paramétrage | Paramètres de l’application |
functionAppConfig Section |
| Partage de contenu de stockage | Paramètre WEBSITE_CONTENTSHARE |
deployment.storage dans functionAppConfig |
Les exemples suivants illustrent les principales différences entre les définitions de ressources du plan Consommation et Flex Consumption. Ils utilisent l'identité managée par le système, mais ne sont pas complètes. Ils n’incluent pas toutes les ressources requises telles que les comptes de stockage, Application Insights ou toutes les attributions de rôles nécessaires. ** Pour obtenir des exemples complets prêts à être utilisés en production, consultez les échantillons Flex Consumption IaC.
Plan de consommation (avant) :
// Consumption plan (optional - auto-created if omitted)
resource hostingPlan 'Microsoft.Web/serverfarms@2022-03-01' = {
name: hostingPlanName
location: location
sku: {
name: 'Y1'
tier: 'Dynamic'
}
properties: {
reserved: true // Linux
}
}
resource functionApp 'Microsoft.Web/sites@2022-03-01' = {
name: functionAppName
location: location
kind: 'functionapp,linux'
properties: {
serverFarmId: hostingPlan.id
siteConfig: {
linuxFxVersion: 'DOTNET-ISOLATED|8.0'
appSettings: [
{ name: 'FUNCTIONS_EXTENSION_VERSION', value: '~4' }
{ name: 'FUNCTIONS_WORKER_RUNTIME', value: 'dotnet-isolated' }
{ name: 'AzureWebJobsStorage__accountName', value: storageAccount.name }
{ name: 'WEBSITE_CONTENTAZUREFILECONNECTIONSTRING__accountName', value: storageAccount.name }
{ name: 'WEBSITE_CONTENTSHARE', value: functionAppName }
{ name: 'APPLICATIONINSIGHTS_CONNECTION_STRING', value: appInsights.properties.ConnectionString }
{ name: 'APPLICATIONINSIGHTS_AUTHENTICATION_STRING', value: 'Authorization=AAD' }
]
}
}
identity: {
type: 'SystemAssigned'
}
}
Plan Flexible de Consommation (ultérieur) :
// Flex Consumption plan (required)
resource hostingPlan 'Microsoft.Web/serverfarms@2023-12-01' = {
name: hostingPlanName
location: location
sku: {
name: 'FC1'
tier: 'FlexConsumption'
}
kind: 'functionapp'
properties: {
reserved: true
}
}
// Deployment storage container (required)
resource deploymentContainer 'Microsoft.Storage/storageAccounts/blobServices/containers@2023-05-01' = {
name: '${storageAccount.name}/default/deployments'
}
resource functionApp 'Microsoft.Web/sites@2023-12-01' = {
name: functionAppName
location: location
kind: 'functionapp,linux'
properties: {
serverFarmId: hostingPlan.id
functionAppConfig: {
deployment: {
storage: {
type: 'blobContainer'
value: '${storageAccount.properties.primaryEndpoints.blob}deployments'
authentication: {
type: 'SystemAssignedIdentity'
}
}
}
scaleAndConcurrency: {
maximumInstanceCount: 100
instanceMemoryMB: 2048
}
runtime: {
name: 'dotnet-isolated'
version: '8.0'
}
}
siteConfig: {
appSettings: [
{ name: 'AzureWebJobsStorage__accountName', value: storageAccount.name }
{ name: 'APPLICATIONINSIGHTS_CONNECTION_STRING', value: appInsights.properties.ConnectionString }
{ name: 'APPLICATIONINSIGHTS_AUTHENTICATION_STRING', value: 'Authorization=AAD' }
]
}
}
identity: {
type: 'SystemAssigned'
}
}
Remarque
Lorsque vous utilisez APPLICATIONINSIGHTS_AUTHENTICATION_STRING avec Authorization=AAD, vous devez également affecter le rôle Monitoring Metrics Publisher à l'identité managée de l'application de fonction sur la ressource Application Insights.
Pour obtenir des exemples Bicep complets, consultez les exemples de Consommation flexible Bicep.
Rapprochement des déploiements de ressources après la migration
Si vous utilisez l’infrastructure comme code pour gérer vos déploiements de ressources Azure, mettez à jour vos fichiers de déploiement après la migration vers Flex Consumption pour empêcher la dérive de la configuration. Voici une approche recommandée :
Don ne combine pas de déploiements manuels et basés sur des ressources : si vous avez utilisé le Azure CLI ou le portail pour créer votre application Flex Consumption pendant la migration, mettez à jour vos fichiers de ressources avant le déploiement suivant. Sinon, vos déploiements pourraient tenter de recréer les ressources du plan de consommation précédent.
Mettez à jour les noms de ressources ou utilisez la gestion du cycle de vie : étant donné que vous ne pouvez pas convertir une application Consumption en Flex Consumption dans son état actuel, vous avez deux options :
- Nouveaux noms de ressources : Mettez à jour votre code de déploiement pour utiliser de nouveaux noms pour le plan d’hébergement et l’application de fonction. Cette approche conserve vos anciennes ressources intactes jusqu’à ce que vous soyez sûr de la réussite de la migration.
-
Importer des ressources existantes : si vous souhaitez conserver les mêmes noms, supprimez d’abord les anciennes ressources, puis laissez votre déploiement créer les nouvelles ressources Flex Consumption. Vous pouvez également importer les ressources créées manuellement dans votre état Terraform à l’aide de
terraform importou référencer des ressources existantes dans Bicep.
Vérifier l’alignement de l’état : après la mise à jour de vos fichiers de déploiement, exécutez une opération de plan ou d’aperçu (
terraform planouaz deployment group what-if) pour confirmer qu’aucune modification inattendue ne se produit.Mettre à jour les pipelines CI/CD : si vos pipelines de déploiement font référence à l’ancienne configuration du plan consommation, mettez-les à jour pour utiliser les nouvelles définitions de ressources Flex Consumption et les méthodes de déploiement.
Conseil / Astuce
Pour réduire les interruptions, envisagez d’exécuter l’ancienne application Consommation et la nouvelle application Flex Consumption en parallèle pendant une période de transition. Mettez à jour votre déploiement pour gérer la nouvelle application Flex Consumption, vérifiez qu’elle fonctionne correctement, puis supprimez les anciennes ressources de l’application Consommation des deux Azure et vos fichiers de déploiement.
Supprimer l’application d’origine (facultatif)
Conseil / Astuce
Pas de précipitation ici. Conservez votre application d’origine pendant quelques jours ou semaines pendant que vous vérifiez que tout fonctionne. Le Plan Consommation ne facture que l’utilisation réelle, ce qui signifie que l’ancienne application (avec des déclencheurs désactivés) coûte peu cher.
Lorsque vous êtes certain que la nouvelle application fonctionne correctement, vous pouvez nettoyer l’original. Cette étape est facultative : certaines équipes conservent l’ancienne application en tant qu’option de référence ou de restauration.
Important
Cette action supprime votre application de fonction d’origine. Le plan Consommation reste intact si d’autres applications l’utilisent. Avant de continuer, assurez-vous de :
- Migrez correctement toutes les fonctionnalités vers la nouvelle application Flex Consumption.
- Vérifiez qu’aucun trafic n’est dirigé vers l’application d’origine.
- Sauvegardez les journaux, configurations ou données pertinents qui pourraient être nécessaires à titre de référence.
La compétence de migration Copilot peut supprimer l’application originale après la coupure de production et la validation de la cible terminées. Si le travail de préparation reste différé ou si la source traite encore les charges de production, conservez l’application source. Copilot demande toujours votre confirmation explicite avant de supprimer quoi que ce soit. Ignorez cette invite :
delete my original consumption app <ORIGINAL_APP_NAME>
Stratégies de résolution des problèmes et de récupération
La plupart des migrations se terminent sans problème. Si quelque chose ne fonctionne pas comme prévu, essayez ces solutions pour les problèmes courants :
| Problème | Solution |
|---|---|
| Problèmes de performances de démarrage à froid | • Passer en revue les paramètres d’accès concurrentiel • Rechercher les dépendances manquantes |
| Liaisons manquantes | • Vérifier les offres groupées d’extensions • Mettre à jour les configurations de liaison |
| Erreurs d’autorisation | • Vérifier les attributions d’identité et les autorisations de rôle |
| Problèmes de connectivité réseau | • Valider les restrictions d’accès et les paramètres réseau |
| Application Insights non disponible | Recréer la connexion Application Insights |
| Échec du démarrage de l’application | Consultez les étapes de résolution des problèmes généraux |
| Les déclencheurs ne traitent pas les événements | Consultez les étapes de résolution des problèmes généraux |
Si vous rencontrez des problèmes lors de la migration d’une application de production, envisagez de restaurer la migration vers l’application d’origine pendant la résolution des problèmes.
Étapes de dépannage générales
Utilisez ces étapes pour les cas où la nouvelle application ne parvient pas à démarrer ou si les déclencheurs de fonction ne traitent pas les événements :
Dans la page de votre nouvelle application dans le portail Azure, sélectionnez Diagnose et résolvez les problèmes dans le volet gauche de la page de l’application. Sélectionnez Disponibilité et performances et examinez le détecteur de panne ou d'erreurs de rapport de l’application de fonction. Pour plus d’informations, consultez Azure Functions vue d’ensemble des diagnostics.
Dans la page de l'application, sélectionnez Surveillance>Application Insights>afficher les données Application Insights, puis sélectionnez Rechercher>Échecs et examinez les événements d’échec.
Sélectionnez Journaux de surveillance>Logs et exécutez cette requête Kusto pour vérifier les erreurs dans ces tables :
traces | where severityLevel == 3 | where cloud_RoleName == "<APP_NAME>" | where timestamp > ago(1d) | project timestamp, message, operation_Name, customDimensions | order by timestamp descDans ces requêtes, remplacez
<APP_NAME>par le nom de votre nouvelle application. Ces requêtes vérifient les erreurs au cours du dernier jour (where timestamp > ago(1d)).De retour sur la page de l'application, sélectionnez Paramètres>Variables d'environnement et vérifiez que tous les paramètres d'application critiques sont correctement transférés. Recherchez les paramètres déconseillés qui peuvent être migrés de manière incorrecte, ou des fautes de frappe ou des chaînes de connexion incorrectes. Vérifiez la connexion de stockage hôte par défaut.
SélectionnezParamètres>Identité et vérifiez que les identités attendues existent et qu’elles sont affectées aux rôles appropriés.
Dans votre code, vérifiez que toutes les configurations de liaison sont correctes, en accordant une attention particulière aux noms chaîne de connexion, aux noms de file d’attente de stockage et aux noms de conteneur et aux paramètres de groupe de consommateurs dans les déclencheurs Event Hubs.
Étapes de restauration pour les applications de production critiques
Si vous ne pouvez pas résoudre le problème, envisagez de revenir à votre application d’origine pendant que vous continuez à résoudre les problèmes.
Si l’application d’origine est arrêtée, redémarrez-la :
Demander à Copilot pour redémarrer l’application d’origine et rétablir la migration :
restart my original consumption app <ORIGINAL_APP_NAME>Si vous avez créé de nouvelles files d’attente, rubriques ou conteneurs, vérifiez que les clients sont redirigés vers les ressources d’origine.
Si vous avez modifié dns ou domaines personnalisés, rétablissez ces modifications pour pointer vers l’application d’origine.
Envoi de commentaires
Si vous rencontrez des problèmes avec votre migration à l’aide de cet article ou si vous souhaitez fournir d’autres commentaires sur ces conseils, utilisez l’une de ces méthodes pour obtenir de l’aide ou fournir vos commentaires :
Obtenez de l'aide sur Microsoft Q&A - Créez un problème dans le dépôt Azure Functions
- Indiquer des commentaires sur le produit
- Création d’un ticket de support