Podpora rozhraní API ve službě Azure Static Web Apps se službou Azure Functions

Azure Static Web Apps poskytuje koncové body bez serveru rozhraní API prostřednictvím Azure Functions. Pomocí Azure Functions rozhraní API dynamicky škáluje podle poptávky a zahrnuje následující funkce:

  • Integrované zabezpečení s přímým přístupem k ověřování uživatelů a datům autorizace na základě rolí

  • Bezproblémové směrování, které bezpečně z dostupných tras rozhraní API webové aplikaci nevyžaduje vlastní pravidla CORS.

Azure Static Web Apps rozhraní API jsou podporována dvěma možnými konfiguracemi v závislosti na plánu hostování:

  • Spravované funkce: Ve výchozím nastavení je rozhraní API statické webové aplikace Azure Functions aplikací spravovanou a nasazenou aplikací Azure Static Web Apps přidružená k některým omezením.

  • Používání vlastních funkcí: Volitelně můžete poskytnout existující aplikaci Azure Functions libovolného typu plánu, která je doplněna všemi funkcemi Azure Functions. V této konfiguraci zodpovídáte za samostatné nasazení aplikace Functions.

V následující tabulce jsou rozdíly mezi používáním spravovaných a existujících funkcí.

Funkce Spravované funkce Přineste si vlastní funkce
Přístup k Azure Functions triggerům Pouze HTTP Vše
Podporované Azure Functions runtime Node.js 12
.NET Core 3.1
.NET 6.0
Python 3.8
Vše
Podporované Azure Functions hostování Využití Využití
Premium
Vyhrazená
Integrované zabezpečení s přímým přístupem k ověřování uživatelů a datům autorizace na základě rolí
Integrace směrování, díky které je trasa rozhraní API bezpečně dostupná webové aplikaci bez nutnosti vlastních pravidel CORS.
Durable Functions programovací model
Spravovaná identita
Azure App Service ověřování a autorizace tokenů
Funkce rozhraní API dostupné mimo Azure Static Web Apps
Key Vault odkazy

Konfigurace

Koncové body rozhraní API jsou pro webovou aplikaci dostupné prostřednictvím trasy rozhraní API.

Spravované funkce Přineste si vlastní funkce
I když je trasa rozhraní API pevná, máte kontrolu nad umístěním složky se zdrojovým kódem spravované aplikace Functions. Toto umístění můžete změnit úpravou souboru YAML pracovního postupu ve složce .github/workflows vašeho úložiště. Požadavky na trasu rozhraní API se odesílat do vaší stávající Azure Functions aplikace.

Řešení potíží a protokoly

Protokoly jsou k dispozici pouze v případě, že přidáte Přehledy.

Spravované funkce Přineste si vlastní funkce
Zapněte protokolování tím, že ve statické webové aplikaci Přehledy Nastavení aplikace. Zapněte protokolování tím, že ve své Přehledy povolíte Azure Functions aplikace.

Omezení

Spravované funkce Přineste si vlastní funkce
  • Triggery jsou omezené na HTTP.
  • Aplikace Azure Functions musí být ve verzi Node.js 12, .NET Core 3.1, .NET 6.0 nebo Python 3.8.
  • Některá nastavení aplikace spravuje služba, proto modul runtime rezervuje následující předpony:
    • _APPSETTING, AZUREBLOBSTORAGE, _ AZUREFILESSTORAGE, _ _ AZURE_FUNCTION, _ CONTAINER, _ DIAGNOSTICS, _ DOCKER, _ _ FUNCTIONS, IDENTITY, _ MACHINEKEY, _ MAINSITE, _ MSDEPLOY, SCMSITE, _ _ SCM, _ _ WEBSITES, WEBSITE, WEBSOCKET, _ AzureWeb
  • Zodpovídáte za správu nasazení aplikace Functions.

Další kroky