Saját függvények használata az Azure Static Web Appsben
Az Azure Static Web Apps API-integrációt biztosít, amely lehetővé teszi olyan előtér-webalkalmazások létrehozását, amelyek a háttérbeli API-któl függenek az adatokhoz és szolgáltatásokhoz. A két API-integrációs lehetőség: felügyelt függvények és saját háttérrendszer létrehozása. A lehetőségek közötti különbségekről további információt az áttekintésben talál.
Ez a cikk bemutatja, hogyan kapcsolhat össze egy meglévő Azure Functions-alkalmazást egy Azure Static Web Apps-erőforrással.
Megjegyzés:
Az Azure Functions integrációjához a Static Web Apps Standard csomag szükséges.
A háttérintegráció nem támogatott a Static Web Apps lekéréses kérelmek környezetében.
Előfeltételek
Ha egy függvényalkalmazást a statikus webalkalmazáshoz szeretne kapcsolni, rendelkeznie kell egy meglévő Azure Functions-erőforrással és egy statikus webalkalmazással.
Resource | Leírás |
---|---|
Azure Functions | Ha még nem rendelkezik ilyennel, kövesse az Azure Functions használatának első lépéseit. |
Meglévő statikus webalkalmazás | Ha még nem rendelkezik ilyen webalkalmazással, kövesse az első lépések útmutatójának lépéseit a No Framework statikus webalkalmazás létrehozásához. |
Example
Fontolja meg egy meglévő Azure Functions-alkalmazást, amely az alábbi helyen teszi elérhetővé a végpontot.
https://my-functions-app.azurewebsites.net/api/getProducts
A csatolás után ugyanazt a végpontot a api
statikus webalkalmazás elérési útján érheti el, ahogyan az ebben a példában látható URL-címen látható.
https://red-sea-123.azurestaticapps.net/api/getProducts
Mindkét végpont URL-címe ugyanarra a függvényre mutat. A függvényalkalmazás végpontjának rendelkeznie kell az /api
előtaggal, mivel a Static Web Apps megfelel a hivatkozott erőforrás teljes elérési útjának, és a statikus webalkalmazások egyeznek a kérésekkel /api
, és ki vannak állítva.
Meglévő Azure Functions-alkalmazás csatolása
Felügyelt függvények eltávolítása a Static Web Apps-erőforrásból (ha van ilyen)
Egy meglévő Functions-alkalmazás társítása előtt először módosítania kell a statikus webalkalmazás konfigurációját a felügyelt függvények eltávolításához, ha vannak ilyenek.
- Állítson be
api_location
egy üres sztringet (""
) a munkafolyamat konfigurációs fájljában.
Az Azure Functions-alkalmazás csatolása a Static Web Apps erőforráshoz
Nyissa meg a Static Web Apps-példányt az Azure Portalon.
A Gépház menüben válassza az API-kat.
Az Éles sorban válassza a Hivatkozás lehetőségetaz Új háttérrendszer csatolása ablak megnyitásához.
Adja meg az alábbi beállításokat.
Beállítás Value Háttérbeli erőforrás típusa Válassza a Függvényalkalmazás lehetőséget. Subscription Válassza ki az Azure-előfizetés nevét. Erőforrás neve Válassza ki az Azure Functions-alkalmazás nevét. Háttérrendszeri pont Válassza ki az Azure-függvény pontnevét. Válassza a Hivatkozás lehetőséget.
Az Azure Functions-alkalmazás most már a /api
statikus webalkalmazás útvonalához van leképezve.
Fontos
Mielőtt összekapcsol egy meglévő Functions-alkalmazást, győződjön meg arról, hogy az api_location
értéket üres sztringre (""
) állítja be a munkafolyamat-konfigurációs fájlban. A hívások azt is feltételezik, hogy a külső függvényalkalmazás megőrzi az alapértelmezett api
útvonalelőtagot. Számos alkalmazás eltávolítja ezt az előtagot a host.json fájlból. Győződjön meg arról, hogy az előtag a konfigurációban van, ellenkező esetben a hívás meghiúsul.
Üzembe helyezés
Ön a felelős egy üzembehelyezési munkafolyamat beállításáért az Azure Functions-alkalmazáshoz.
Azure Functions-alkalmazás leválasztás
Functions-alkalmazás leválasztva a Static Web Apps alkalmazásból
Ha egy függvényalkalmazást statikus webalkalmazásból szeretne leválasztani, kövesse az alábbi lépéseket:
Az Azure Portalon nyissa meg a statikus webalkalmazást.
Válassza ki az API-kat a navigációs menüből.
Keresse meg a leválasztani kívánt környezetet, és válassza ki a függvényalkalmazás nevét.
Válassza a Kapcsolat megszüntetése lehetőséget.
Ha a leválasztási folyamat befejeződött, a rendszer /api
már nem küldi el az Azure Functions-alkalmazáshoz az útvonalakra irányuló kérelmeket.
Megjegyzés:
Ha meg szeretné akadályozni, hogy a függvényalkalmazás véletlenül névtelen adatforgalomba kerüljön, a csatolási folyamat által létrehozott identitásszolgáltató nem törlődik automatikusan. A függvényalkalmazás hitelesítési beállításai közül törölheti az Azure Static Web Apps (Csatolt) nevű identitásszolgáltatót.
Hitelesítés eltávolítása az Azure Functions-erőforrásból
Ha engedélyezni szeretné, hogy az Azure Functions-alkalmazás névtelen forgalmat fogadjon, kövesse az alábbi lépéseket az identitásszolgáltató eltávolításához:
Az Azure Portalon keresse meg az Azure Functions-erőforrást.
Válassza a Hitelesítés lehetőséget a navigációs menüben.
Az identitásszolgáltatók listájából törölje a Static Web Apps-erőforráshoz kapcsolódó identitásszolgáltatót.
Válassza a Hitelesítés eltávolítása lehetőséget a hitelesítés eltávolításához és az Azure Functions-erőforrás névtelen forgalmának engedélyezéséhez.
A függvényalkalmazás mostantól képes névtelen forgalmat fogadni.
Biztonsági korlátozások
Hitelesítés és engedélyezés: Ha a hitelesítési és engedélyezési szabályzatok még nincsenek beállítva a meglévő Functions-alkalmazásban, akkor a statikus webalkalmazás kizárólagos hozzáféréssel rendelkezik az API-hoz. Ha elérhetővé szeretné tenni a Functions-alkalmazást más alkalmazások számára, adjon hozzá egy másik identitásszolgáltatót, vagy módosítsa a biztonsági beállításokat, hogy engedélyezhesse a hitelesítés nélküli hozzáférést.
Megjegyzés:
Ha engedélyezi a hitelesítést és az engedélyezést a csatolt Functions-alkalmazásban, az Azure-alkalmazás szolgáltatáshitelesítést és az engedélyezési szolgáltató 2-es verzióját kell használnia.
Szükséges nyilvános akadálymentesség: Egy meglévő Functions-alkalmazásnak nem kell alkalmaznia a következő biztonsági konfigurációkat.
- A Functions-alkalmazás IP-címének korlátozása.
- A privát kapcsolaton vagy szolgáltatásvégpontokon keresztüli forgalom korlátozása.
Függvényelérési kulcsok: Ha a függvényhez hozzáférési kulcs szükséges, akkor meg kell adnia a kulcsot a statikus alkalmazásból az API-ba irányuló hívásokhoz.
Restrictions
- Egyetlen statikus webalkalmazáshoz csak egy Azure Functions-alkalmazás érhető el.
- A
api_location
munkafolyamat-konfiguráció értékét üres sztringre kell állítani. - A Static Web Apps lekéréses kérelmek környezeteiben nem támogatott.
- Bár az Azure Functions-alkalmazás különböző eseményindítókra reagálhat, a statikus webalkalmazás csak Http-végpontokon keresztül férhet hozzá a függvényekhez.