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

Beheerde functies Bring Your Own Functions
  • Triggers zijn beperkt tot HTTP.
  • De Azure Functions-app moet zich in Node.js 12, .NET Core 3.1, .NET 6.0 of Python 3.8.
  • Sommige toepassingsinstellingen worden beheerd door de service. Daarom worden de volgende voorvoegsels gereserveerd door de runtime:
    • APPSETTING _ , AZUREBLOBSTORAGE _ , AZUREFILESSTORAGE _ , AZURE_FUNCTION _ , CONTAINER _ , DIAGNOSTICS _ , DOCKER _ , FUNCTIONS _ , IDENTITY _ , MACHINEKEY _ , MAINSITE _ , MSDEPLOY _ , SCMSITE _ , SCM _ , WEBSITES _ , WEBSITE _ , WEBSOCKET _ , AzureWeb
  • U bent verantwoordelijk voor het beheren van de implementatie van de Functions-app.

Volgende stappen