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

Az Azure Functions kiszolgáló nélküli kódinfrastruktúrát biztosít, így rugalmas, igény szerinti HTTP-végpontokat hozhat létre. A kiszolgáló nélküli alkalmazások JavaScript- vagy TypeScript-kódból állnak, amelyek különböző eseményekre reagálva futnak.

A függvények a következő funkciókat biztosítják:

  • A webszolgáltatás absztrakciója – a kódra összpontosít, nem az infrastruktúrára.

  • Integráció az Azure-szolgáltatásokkal – eseményekkel rendelkező Azure-szolgáltatásokba való be- vagy kimenő munka aktiválása

  • Integrálás JavaScript-csomagokkal – használja kedvenc npm-csomagjait a kiszolgáló nélküli kóddal

  • Azure kiszolgáló nélküli közösségi mintatár

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

Statikus előtér-ügyfélalkalmazások (például Angular, React vagy Vue) fejlesztésekor, amelyek kiszolgáló nélküli API-kra is szükség van, a statikus webalkalmazások függvényekkel kötik össze mindkettőt.

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 az Ön számára van létrehozva, beleértve a helyi és a távoli fejlesztést is.

Ha helyi fejlesztést használ statikus webalkalmazással és Azure Functions használatával, az Azure Static Web App 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:

  • Konfigurációs beállítások
    • Konfigurációs beállítások – alkalmazásbeállítások létrehozása olyan beállításokhoz, amelyek nem befolyásolják a biztonságot.
    • Titkos kódok és kulcsok – minden olyan beállításhoz, amely hatással van a biztonságra, hozzon létre egy Azure Key Vaultot , és kérje le ezeket a beállításokat a Key Vaultból.
    • FTP-állapot a platformbeállításokon – alapértelmezés szerint mindegyik engedélyezett. A biztonság javítása érdekében csak FTPS-t kell választania, vagy teljesen le kell tiltania az FTP-t.
  • API CORS – konfigurálja az ügyféltartományokat. Ne használja *az összes tartományt.
  • 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.
  • Ü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.

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

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ényével.

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.

  • Alacsony kódszámú függvények: Az Azure Functions használatával olyan függvényeket hozhat létre, amelyeket más Azure-szolgáltatások aktiválnak, vagy amelyeket más Azure-szolgáltatásba ad ki triggerkötések használatával.
  • 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.

Következő lépések

Az alábbi táblázat segítségével többet tudhat meg az Azure Functionsről Node.js

Tanulni Minta
Mi az a Contoso Real Estate? Contoso Ingatlan
Kiszolgáló nélküli API-k létrehozása az Azure Functions használatával MicrosoftDocs/mslearn-build-api-azure-functions
Express API-k újra Node.js bontása kiszolgáló nélküli Azure Functions API-kba MicrosoftDocs/mslearn-module-shifting-nodejs-express-apis-to-serverless
Fájl feltöltése és elemzése az Azure Functions és a Blob Storage használatával Azure-Samples/msdocs-storage-bind-function-service