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.

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.

  1. Állítson be api_location egy üres sztringet ("") a munkafolyamat konfigurációs fájljában.
  1. Nyissa meg a Static Web Apps-példányt az Azure Portalon.

  2. A Gépház menüben válassza az API-kat.

  3. 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.
  4. 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.

Ha egy függvényalkalmazást statikus webalkalmazásból szeretne leválasztani, kövesse az alábbi lépéseket:

  1. Az Azure Portalon nyissa meg a statikus webalkalmazást.

  2. Válassza ki az API-kat a navigációs menüből.

  3. Keresse meg a leválasztani kívánt környezetet, és válassza ki a függvényalkalmazás nevét.

  4. 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:

  1. Az Azure Portalon keresse meg az Azure Functions-erőforrást.

  2. Válassza a Hitelesítés lehetőséget a navigációs menüben.

  3. 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.

  4. 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.

Következő lépések