Prise en charge des API dans Azure Static Web Apps avec Azure Functions
Les applications web frontales sont souvent des API de rappel pour les données et les services. Par défaut, Azure Static Web Apps fournit des points de terminaison d’API serverless intégrés via Azure Functions.
Les API Azure Functions dans Static Web Apps sont disponibles dans deux configurations possibles en fonction du plan d’hébergement :
Fonctions managées : par défaut, l’API d’une application web statique est une application Azure Functions gérée et déployée par Azure Static Web Apps associée à certaines restrictions.
Apportez vos propres fonctions: si vous le souhaitez, vous pouvez fournir une application Azure Functions existante de n’importe quel type de plan, qui inclut toutes les fonctionnalités d’Azure Functions. Dans cette configuration, vous avez la responsabilité de gérer un déploiement distinct pour l’application Azure Functions.
Le tableau suivant compare les différences entre l’utilisation de fonctions gérées et celle de fonctions existantes.
Fonctionnalité | Fonctions managées | Apportez vos propres fonctions |
---|---|---|
Accéder aux déclencheurs et des liaisons Azure Functions | HTTP uniquement | Tous |
Runtimes Azure Functions pris en charge1 | Consulter Langages et runtimes pris en charge. | Tous |
Prise en charge des plans d’hébergement Azure Functions | Consommation | Consommation Premium Dédié |
Sécurité intégrée avec accès direct aux données d’authentification des utilisateurs et d’autorisation basées sur les rôles | ✔ | ✔ |
Intégration du routage qui met l’itinéraire /api à la disposition de l’application web en toute sécurité sans nécessiter de règles CORS. personnalisées |
✔ | ✔ |
Fonctions distribuées (préversion) pour la distribution globale dynamique du calcul backend. | ✔ | ✕ |
Modèle de programmation Durable Functions | ✕ | ✔ |
Identité gérée | ✕ | ✔ |
Gestion des jetons d’authentification et d’autorisation Azure App Service | ✕ | ✔ |
Fonctions d’API disponibles en dehors d’Azure Static Web Apps | ✕ | ✔ |
Références Key Vault | ✕ | ✔ |
1 Pour spécifier la version du runtime dans les fonctions managées, ajoutez un fichier config à votre application front-end et définissez la propriété apiRuntime
. La prise en charge est soumise à la stratégie de prise en charge du runtime du langage Azure Functions.
Les options d’API pour Static Web Apps incluent les services Azure suivants :
Pour plus d’informations, consultez la Vue d’ensemble des API.
Remarque
Les fonctions distribuées sont disponibles avec les fonctions managées. Les fonctions distribuées distribuent automatiquement vos fonctions managées dans des régions avec des charges de requêtes élevées.
Configuration
Les points de terminaison d’API sont disponibles pour l’application web via l’itinéraire api
.
Fonctions managées | Amener vos propres fonctions |
---|---|
Bien que l’itinéraire /api soit fixe, vous contrôlez l’emplacement du dossier du code source de l’application de fonction managée. Vous pouvez modifier cet emplacement en modifiant le fichier YAML de flux de travail situé dans le dossier . GitHub/workflows de votre référentiel. |
Les requêtes adressées à l’itinéraire /api sont envoyées à votre application Azure Functions existante. |
Résolution des problèmes et journaux
Les journaux ne sont disponibles que si vous ajoutez Application Insights.
Fonctions managées | Amener vos propres fonctions |
---|---|
Activez la journalisation en activant Application Insights sur votre application web statique. | Activez la journalisation en activant Application Insights sur votre application Azure Functions. |
Contraintes
Outre les contraintes de l’API Static Web Apps, les restrictions suivantes s’appliquent également aux API Azure Functions :
Fonctions managées | Amener vos propres fonctions |
---|---|
|
|