API-támogatás az Azure Static Web Appsben Azure Functions-függvényekkel

Az előtérbeli webalkalmazások gyakran visszahívják az adat- és szolgáltatásoldali végfelhasználói API-kat. Az Azure Static Web Apps alapértelmezés szerint beépített kiszolgáló nélküli API-végpontokat biztosít az Azure Functionsen keresztül.

A Static Web Apps Azure Functions API-jai az üzemeltetési tervtől függően két lehetséges konfigurációban érhetők el:

  • Felügyelt függvények: A statikus webalkalmazások API-ja alapértelmezés szerint egy Azure Functions-alkalmazás, amelyet az Azure Static Web Apps felügyel és helyez üzembe bizonyos korlátozásokkal együtt.

  • Saját függvények használata: Igény szerint bármilyen csomagtípusú meglévő Azure Functions-alkalmazást biztosíthat, amely az Azure Functions összes funkcióját tartalmazza. Ezzel a konfigurációval Ön felel a Functions-alkalmazás különálló üzembe helyezéséért.

Az alábbi táblázat a felügyelt és a meglévő függvények közötti különbségeket hasonlítja össze.

Szolgáltatás Felügyelt függvények Saját Függvények használata
Hozzáférés az Azure Functions eseményindítóihoz és kötéseihez Csak HTTP Mind
Támogatott Azure Functions-futtatókörnyezetek 1 Node.js 12
Node.js 14
Node.js 16
Node.js 18
.NET Core 3.1
.NET 6.0
.NET 7.0
Python 3.8
Python 3.9
Python 3.10
Mind
Támogatott Azure Functions-üzemeltetési csomagok Felhasználás Felhasználás
Prémium
Dedikált
Integrált biztonság a felhasználói hitelesítéshez és a szerepköralapú engedélyezési adatokhoz való közvetlen hozzáféréssel
Útválasztási integráció , amely az /api útvonalat biztonságosan elérhetővé teszi a webalkalmazás számára egyéni CORS-szabályok megkövetelése nélkül.
Elosztott függvények (előzetes verzió) a háttérbeli számítás dinamikus globális elosztásához.
Durable Functions programozási modell
Kezelt identitás
Azure-alkalmazás szolgáltatáshitelesítési és engedélyezési jogkivonat-kezelés
Az Azure Static Web Appsen kívül elérhető API-függvények
Key Vault-hivatkozások

1 A futtatókörnyezeti verzió felügyelt függvényekben való megadásához adjon hozzá egy konfigurációs fájlt az előtéralkalmazáshoz, és állítsa be a tulajdonságotapiRuntime. A támogatásra az Azure Functions nyelvi futtatókörnyezet támogatási szabályzata vonatkozik.

A Static Web Apps API-beállításai a következő Azure-szolgáltatásokat tartalmazzák:

További információkért tekintse meg az API-k áttekintését .

Feljegyzés

Az elosztott függvények felügyelt függvényekkel érhetők el. Az elosztott függvények automatikusan elosztják a felügyelt függvényeket a nagy kérésterhelésű régiók között.

Konfiguráció

Az API-végpontok az útvonalon keresztül érhetők el a webalkalmazás számára api .

Felügyelt függvények Saját függvények használata
Amíg az /api útvonal ki van javítva, ön szabályozhatja a felügyelt függvényalkalmazás forráskódmappájának helyét. Ezt a helyet az adattár .github/workflows mappájában található munkafolyamat YAML-fájljának szerkesztésével módosíthatja. Az útvonalra irányuló kéréseket a /api rendszer elküldi a meglévő Azure Functions-alkalmazásnak.

Hibaelhárítás és naplók

A naplók csak akkor érhetők el, ha alkalmazás Elemzések ad hozzá.

Felügyelt függvények Saját függvények használata
Kapcsolja be a naplózást az Alkalmazás Elemzések statikus webalkalmazáson való engedélyezésével. Kapcsolja be a naplózást úgy, hogy engedélyezi az Alkalmazás Elemzések az Azure Functions-alkalmazásban.

Megszorítások

A Static Web Apps API korlátozásai mellett az alábbi korlátozások az Azure Functions API-kra is érvényesek:

Felügyelt függvények Saját függvények használata
  • Az eseményindítók és kötések HTTP-re korlátozódnak.
  • Az Azure Functions alkalmazásnak vagy a 12-Node.js, Node.js 14-ben, Node.js 16-ban, Node.js 18-ban (nyilvános előzetes verzió), .NET Core 3.1-ben, .NET 6.0-ban, Python 3.8-ban, Python 3.9-ben vagy Python 3.10-ben kell lennie.
  • Egyes alkalmazásbeállításokat a szolgáltatás felügyel, ezért a futtatókörnyezet a következő előtagokat foglalta le:
    • APP Standard kiadás TTING_, AZUREBLOBSTORAGE_, AZUREFILESSTORAGE_, AZURE_FUNCTION_, CONTAINER_, DIAGNOSTICS_, DOCKER_, FUNCTIONS_, IDENTITY_, MACHINEKEY_, MAINSITE_, MSDEPLOY_, SCMSITE_, SCM_, WEBSITES_, WEBSITE_, WEBSOCKET_, AzureWeb
  • Egyes alkalmazáscímkéket a szolgáltatás belsőleg használ. Ezért a következő címkék vannak fenntartva:
    • AccountId, EnvironmentId, FunctionAppId.
  • Önnek kell felügyelnie a Functions-alkalmazás üzembe helyezését.

Következő lépések