Megosztás:


Kiszolgáló nélküli Node.js-alkalmazások fejlesztése az Azure Functions használatával

Az Azure Functions hatékony kiszolgáló nélküli infrastruktúrát biztosít, amellyel könnyedén fejleszthet méretezhető, igény szerinti HTTP-végpontokat. A JavaScript vagy a TypeScript használatával olyan kiszolgáló nélküli alkalmazásokat hozhat létre, amelyek különböző eseményekre reagálnak, így anélkül összpontosíthat a kódírásra, hogy a kiszolgálók kezelésével kellene foglalkoznia. Ez az útmutató segítséget nyújt a kiszolgáló nélküli Node.js-alkalmazások Azure Functions használatával történő fejlesztésének megkezdésében, és zökkenőmentesen integrálható más Azure-szolgáltatásokkal.

Mi az a függvényerőforrás?

Az Azure-függvényerőforrás egy logikai egység az összes kapcsolódó függvényhez egyetlen Azure-beli földrajzi helyen. Az erőforrás egyetlen függvényt vagy több függvényt tartalmazhat, amelyek függetlenek lehetnek egymástól, vagy kapcsolódhatnak bemeneti vagy kimeneti kötésekhez. Számos gyakori függvény közül választhat, vagy létrehozhatja sajátját.

A függvény erőforrás-beállításai közé tartoznak a tipikus kiszolgáló nélküli konfigurációk, beleértve a környezeti változókat, a hitelesítést, a naplózást és a CORS-t.

Tartós, állapotalapú függvények

A Durable Functions megőrzi az állapotot, vagy felügyeli a hosszú ideig futó függvényeket az Azure-ban. Hozza létre az első tartós függvényt a JavaScriptben.

A statikus webalkalmazások függvényeket tartalmaznak

Ha olyan statikus előtér-ügyfélalkalmazást fejleszt (például Angular, React vagy Vue), amely kiszolgáló nélküli API-kra is szükség van, használja statikus webalkalmazásokat függvényekkel, hogy mindkettőt összecsomagolják.

Proxy az ügyfélalkalmazásból az API-ba

Ha statikus webalkalmazással szeretné üzembe helyezni az API-t, nem kell proxyt használnia az ügyfélalkalmazás API-hívásaihoz. A proxy akkor jön létre, ha felügyelt alkalmazásként telepíti az Azure Functions alkalmazást.

Ha helyi fejlesztést használ statikus webalkalmazással és Azure Functions használatával, az Azure Static Web Apps CLI biztosítja a helyi proxyt.

Az Azure-függvényhez konfigurálni kívánt gyakori biztonsági beállítások

Az Alábbi gyakori beállításokat kell konfigurálni az Azure-függvény biztonságossá tételéhez:

  • Hitelesítés és engedélyezés:
    • A hatékony hitelesítéshez használja a Microsoft Entra-azonosítót (korábban Azure Active Directory). Konfigurálja a függvényalkalmazást úgy, hogy OAuth2-jogkivonatokat igényeljen az éles számítási feladatokhoz.
    • Kerülje a függvénykulcsok használatát a bizalmas alkalmazásokhoz. Ehelyett integráljon a Microsoft Entra-azonosítóval, vagy ellenőrizze a JWT-jogkivonatokat a függvénykódban.
    • Felügyelt identitások használatával hitelesítheti a függvényalkalmazást más Azure-erőforrásokkal, biztosítva, hogy minden függvény csak a szükséges hozzáférést kapja.
  • Konfigurációs beállítások:
  • Hálózati biztonság:
    • CORS – konfigurálja a kliens domének beállításait. Ne használja *az összes tartományt.
    • Virtuális hálózati integráció – privát végpontok vagy virtuális hálózati integráció használata a hálózati kitettség korlátozására és a megbízható forrásokból érkező bejövő forgalom korlátozására.
  • HTTPS és titkosítás:
    • TLS/SSL-beállítás HTTPS-hez – alapértelmezés szerint az API HTTP- és HTTPS-kéréseket fogad el. Csak a TLS/SSL-beállításokban engedélyezze a HTTPS-t. Mivel a függvényalkalmazás biztonságos altartományon található, azonnal (a következővel httpsegyütt) használhatja, és késleltetheti a tartománynév megvásárlását, és a tartományhoz tartozó tanúsítványt is használhatja, amíg el nem készül.
  • Üzembe helyezés és figyelés:
    • Üzembehelyezési pontok – hozzon létre egy üzembehelyezési pontot, például stage vagy preflight küldjön le erre a pontra. Ha készen áll, cserélje le ezt a szakaszt az éles környezetbe. Nem szokás manuálisan leküldni az éles környezetbe. A kódbázisnak képesnek kell lennie arra, hogy jelezze az adott ponton található verziót vagy véglegesítést.
    • Engedélyezze az Application Insights használatát a valós idejű telemetria, riasztások és anomáliaérzékelés céljaira, hogy figyelje a függvényeket és a naplókat gyanús tevékenységek szempontjából.

Átfogó biztonsági útmutatásért tekintse meg az Azure Functions biztonságossá tételét ismertető témakört.

Az Azure Functions üzemeltetési lehetőségei

Az Azure Functionst a követelményektől függően különböző módokon üzemeltetheti:

Azure Functions-erőforrás-üzemeltetési csomagok

Azure Functions-erőforrás létrehozásakor az alábbi üzemeltetési csomagok közül választhat:

  • Használati terv: Csak arra az időre kell fizetnie, amikor a függvények automatikus skálázással futnak.
  • Rugalmas felhasználású csomag: Továbbfejlesztett vezérlést biztosít a mindig kész példányokkal a hidegindítások, a virtuális hálózati integráció és a konfigurálható példányméretek (512 MB-ról 4 GB-ra) csökkentése érdekében. Ez a csomag olyan új Linux-alapú számítási feladatokhoz ajánlott, amelyek nagyvállalati biztonsági és teljesítménybeli funkciókat igényelnek. Vegye figyelembe, hogy ez a csomag hasonlóan a fogyasztásalapú csomaghoz, végrehajtásalapú számlázást használ, azonban az olyan funkciók, mint a folyamatosan elérhető példányok, további költségeket vonnak maguk után.
  • Prémium csomag: Fokozott teljesítményt biztosít az előre felmelegített példányokkal, a virtuális hálózati kapcsolattal és a hosszabb végrehajtási időtartamokkal.
  • Dedikált (App Service-) csomag: Függvények futtatása dedikált virtuális gépeken a kiszámítható költségek és a futtatókörnyezet teljes felügyelete érdekében.

A megfelelő üzemeltetési csomag kiválasztásával kapcsolatos további információkért tekintse meg az Azure Functions üzemeltetési lehetőségeit.

Azure Container Apps-erőforrás

Másik lehetőségként üzembe helyezheti az Azure Functionst egy Azure Container Apps-erőforrásban tárolóalapú számítási feladatként. Ez a beállítás teljes körű felügyeletet biztosít a tárolókörnyezet felett, és ideális, ha egyéni függőségekre, hosszan futó folyamatokra van szüksége, vagy ha más tárolóalapú mikroszolgáltatásokkal szeretné kombinálni a függvényeket. További információt az Azure Functionst üzemeltető Azure Container Appsben talál.

Az Azure Functions fejlesztésének előfeltételei

  • Node.js LTS – Használja a legújabb hosszú távú támogatási (LTS) verziót a legjobb kompatibilitási és biztonsági frissítésekhez az Azure Functions használatával.
  • Azure Functions Core Tools – A helyi fejlesztéshez és hibakereséshez használja az aktuális főverziót.

Egyszerű JavaScript-függvény HTTP-kérésekhez

A függvény egy exportált aszinkron függvény, amely kérelem- és környezetinformációkat tartalmaz. Az Alábbi részleges képernyőkép az Azure Portalról a függvénykódot mutatja.

import { app, HttpRequest, HttpResponseInit, InvocationContext } from "@azure/functions";

export async function status(request: HttpRequest, context: InvocationContext): Promise<HttpResponseInit> {
    context.log(`Http function processed request for url "${request.url}"`);

    return {
        status: 200,
        jsonBody: {
            env: process.env
        }
    };
};

app.http('status', {
    route: "status",
    methods: ['GET'],
    authLevel: 'anonymous',
    handler: status
});

Függvények helyi fejlesztése Visual Studio Code-tal és bővítményekkel

Hozza létre az első függvényt a Visual Studio Code használatával. A Visual Studio Code számos részletet leegyszerűsít az Azure Functions-bővítménnyel.

Ezzel a bővítménysel JavaScript- és TypeScript-függvényeket hozhat létre gyakori sablonokkal.

Integráció más Azure-szolgáltatásokkal

A kiszolgáló nélküli függvények eltávolítják a kiszolgáló konfigurációjának és felügyeletének nagy részét, így csak a szükséges kódra összpontosíthat.

  • Low-code fejlesztési megoldások: Az Azure Functions használatával olyan függvényeket hozhat létre, amelyeket más Azure-szolgáltatások aktiválnak, vagy amelyeket triggerkötések használatával más Azure-szolgáltatásokba adhat ki. A v4 programozási modell az összes eseményindítót és kötést közvetlenül a kódban regisztrálja, így a konfiguráció típusa biztonságos és intuitív.
  • Nagy kódszámú függvények: Az Azure SDK-k segítségével koordinálhatja és vezérelheti a többi Azure-szolgáltatást. Felügyelt identitások használatával biztonságosan hitelesítheti függvényeit más Azure-erőforrásokkal anélkül, hogy hitelesítő adatokat kellene kezelnie.