API-stöd i Azure Static Web Apps med Azure Functions

Azure Static Web Apps tillhandahåller serverlösa API-slutpunkter via Azure Functions. Med hjälp Azure Functions kan API:er skalas dynamiskt baserat på efterfrågan och innehåller följande funktioner:

  • Integrerad säkerhet med direkt åtkomst till användarautentisering och rollbaserade auktoriseringsdata.

  • Sömlös routning som gör API-vägen tillgänglig för webbappen på ett säkert sätt utan att kräva anpassade CORS-regler.

Azure Static Web Apps-API:er stöds av två möjliga konfigurationer beroende på värdplanen:

  • Hanterade funktioner: SOM standard är API:et för en statisk webbapp ett Azure Functions program som hanteras och distribueras av Azure Static Web Apps som är associerat med vissa begränsningar.

  • Bring Your Own Functions: Om du vill kan du ange ett befintligt Azure Functions program av valfri plantyp, som åtföljs av alla funktioner i Azure Functions. Med den här konfigurationen ansvarar du för att hantera en separat distribution för Functions-appen.

I följande tabell kontrasterar vi skillnaderna mellan att använda hanterade och befintliga funktioner.

Funktion Hanterade funktioner Bring your own Functions
Åtkomst till Azure Functions utlösare Endast HTTP Alla
Körningar Azure Functions stöds Node.js 12
.NET Core 3.1
.NET 6.0
Python 3.8
Alla
Värdplaner Azure Functions stöds Förbrukning Förbrukning
Premium
Dedikerad
Integrerad säkerhet med direkt åtkomst till användarautentisering och rollbaserade auktoriseringsdata
Routningsintegrering som gör API-vägen tillgänglig för webbappen på ett säkert sätt utan att kräva anpassade CORS-regler.
Durable Functions programmeringsmodell
Hanterade identiteter
Azure App Service hantering av autentiserings- och auktoriseringstoken
API-funktioner som är tillgängliga utanför Azure Static Web Apps
Key Vault referenser

Konfiguration

API-slutpunkter är tillgängliga för webbappen via API-vägen.

Hanterade funktioner Ta med dina egna funktioner
Api-vägen är fast men du har kontroll över källkodsmappens plats för den hanterade functions-appen. Du kan ändra den här platsen genom att redigera YAML-arbetsflödesfilen som finns i lagringsplatsens mapp .github/workflows. Begäranden till API-vägen skickas till din befintliga Azure Functions appen.

Felsökning och loggar

Loggar är bara tillgängliga om du lägger till Application Insights.

Hanterade funktioner Ta med dina egna funktioner
Aktivera loggning genom att aktivera Application Insights på din statiska webbapp. Aktivera loggning genom att aktivera Application Insights på din Azure Functions app.

Villkor

Hanterade funktioner Ta med dina egna funktioner
  • Utlösare är begränsade till HTTP.
  • Appen Azure Functions måste antingen finnas i Node.js 12, .NET Core 3.1, .NET 6.0 eller Python 3.8.
  • Vissa programinställningar hanteras av tjänsten, och därför reserveras följande prefix av körningen:
    • APPSETTING _ , AZUREBLOBSTORAGE _ , AZUREFILESSTORAGE _ , AZURE_FUNCTION _ , CONTAINER _ , DIAGNOSTICS _ , DOCKER _ , FUNCTIONS _ , IDENTITY _ , MACHINEKEY _ , MAINSITE _ , MSDEPLOY _ , SCMSITE _ , SCM _ , WEBSITES _ , WEBSITE _ , WEBSOCKET _ , AzureWeb
  • Du ansvarar för att hantera distributionen av Functions-appen.

Nästa steg