API-ondersteuning in Azure Static Web Apps met Azure Functions
Azure Static Web Apps biedt serverloze API-eindpunten via Azure Functions. Met behulp Azure Functions kunnen API's dynamisch worden geschaald op basis van de vraag en de volgende functies bevatten:
Geïntegreerde beveiliging met directe toegang tot gebruikersverificatie en op rollen gebaseerde autorisatiegegevens.
Naadloze routering die de API-route veilig beschikbaar maakt voor de web-app zonder aangepaste CORS-regels.
Azure Static Web Apps API's worden ondersteund door twee mogelijke configuraties, afhankelijk van het hostingplan:
Beheerde functies: de API van een statische web-app is standaard een Azure Functions-toepassing die wordt beheerd en geïmplementeerd door Azure Static Web Apps gekoppeld aan bepaalde beperkingen.
Bring Your Own Functions: u kunt eventueel een bestaande Azure Functions-toepassing van elk plantype bieden, die wordt vergezeld van alle functies van Azure Functions. Met deze configuratie bent u verantwoordelijk voor het afhandelen van een afzonderlijke implementatie voor de Functions-app.
De volgende tabel contrasteert de verschillen tussen het gebruik van beheerde en bestaande functies.
| Functie | Beheerde functies | Bring your own Functions |
|---|---|---|
| Toegang tot Azure Functions triggers | Alleen HTTP | Alles |
| Ondersteunde Azure Functions runtimes | Node.js 12 .NET Core 3.1 .NET 6.0 Python 3.8 |
Alles |
| Ondersteunde Azure Functions hostingplannen | Verbruik | Verbruik Premium Toegewezen |
| Geïntegreerde beveiliging met directe toegang tot gebruikersverificatie en op rollen gebaseerde autorisatiegegevens | ✔ | ✔ |
| Routeringsintegratie die de API-route veilig beschikbaar maakt voor de web-app zonder aangepaste CORS-regels. | ✔ | ✔ |
| Durable Functions programmeermodel | ✕ | ✔ |
| Beheerde identiteit | ✕ | ✔ |
| Azure App Service verificatie- en autorisatie-tokenbeheer | ✕ | ✔ |
| API-functies die buiten de Azure Static Web Apps | ✕ | ✔ |
| Key Vault s | ✕ | ✔ |
Configuration
API-eindpunten zijn beschikbaar voor de web-app via de API-route.
| Beheerde functies | Bring Your Own Functions |
|---|---|
| Terwijl de API-route vast staat, hebt u controle over de locatie van de broncodemap van de beheerde functions-app. U kunt deze locatie wijzigen door het YAML-bestand van de werkstroom te bewerken dat zich in de map .github/workflows van uw opslagplaats bevindt. | Aanvragen voor de API-route worden verzonden naar uw bestaande Azure Functions app. |
Probleemoplossing en logboeken
Logboeken zijn alleen beschikbaar als u Application Insights.
| Beheerde functies | Bring Your Own Functions |
|---|---|
| Schakel logboekregistratie in door Toepassingslog Insights uw statische web-app in te stellen. | Schakel logboekregistratie in door Application Insights in te Azure Functions app. |
Beperkingen
- Het VOORvoegsel van de API-route moet API zijn.
- Routeregels voor API-functies ondersteunen alleen omleidingen en het beveiligen van routes met rollen.
| Beheerde functies | Bring Your Own Functions |
|---|---|
|
|