Dela via


Utveckla serverlösa Node.js-appar med Azure Functions

Azure Functions tillhandahåller en kraftfull serverlös infrastruktur som gör att du enkelt kan utveckla skalbara HTTP-slutpunkter på begäran. Genom att använda JavaScript eller TypeScript kan du skapa serverlösa program som svarar på olika händelser, så att du kan fokusera på att skriva kod utan att behöva bekymra dig om att hantera servrar. Den här guiden hjälper dig att komma igång med att utveckla serverlösa Node.js appar med hjälp av Azure Functions och integrera sömlöst med andra Azure-tjänster.

Vad är en funktionsresurs?

En Azure-funktionsresurs är en logisk enhet för alla relaterade funktioner på en enda geografisk Azure-plats. Resursen kan innehålla en enskild funktion eller många funktioner, som kan vara oberoende av varandra eller relaterade till indata- eller utdatabindningar. Du kan välja bland många vanliga funktioner eller skapa egna.

Funktionsresursinställningarna omfattar vanliga serverlösa konfigurationer, inklusive miljövariabler, autentisering, loggning och CORS.

Varaktiga, tillståndskänsliga funktioner

Durable Functions behåller tillståndet eller hanterar långvariga funktioner i Azure. Skapa din första varaktiga funktion i JavaScript.

Statiska webbappar innehåller funktioner

När du utvecklar ett statiskt klientprogram på klientsidan (till exempel Angular, React eller Vue), som också behöver serverlösa API:er, använder du Static Web-appar med funktioner för att paketera båda tillsammans.

Proxy från klientappen till API:et

Om du tänker distribuera ditt API med din static-webbapp behöver du inte proxyservern för klientprogrammets API-anrop. Proxyn upprättas åt dig när du distribuerar Azure Functions-appen som en hanterad app.

När du utvecklar lokalt med en statisk webbapp och Azure Functions tillhandahåller Azure Static Web App CLI- den lokala proxyn.

Vanliga säkerhetsinställningar som du behöver konfigurera för din Azure-funktion

Följande vanliga inställningar bör konfigureras för att skydda din Azure-funktion:

  • Konfigurationsinställningar
    • Konfigurationsinställningar – skapa programinställningar för inställningar som inte påverkar säkerheten.
    • Hemligheter och nycklar – för alla inställningar som påverkar säkerheten skapar du ett Azure Key Vault och hämtar inställningarna från ditt Key Vault.
    • FTP-tillstånd på plattformsinställningar – som standard tillåts alla. Du behöver bara välja FTPS eller inaktivera FTP helt för att förbättra säkerheten.
  • CORS – konfigurera dina klientdomäner. Använd *inte , som anger alla domäner.
  • TLS/SSL-inställning för HTTPS – som standard accepterar DITT API HTTP- och HTTPS-begäranden. Aktivera endast HTTPS i TLS/SSL-inställningarna. Eftersom funktionsappen finns på en säker underdomän kan du använda den direkt (med https) och fördröja köpet av ett domännamn och använda ett certifikat för domänen tills du är klar.
  • Distributionsfack – skapa ett distributionsfack, till exempel stage eller preflight och push-överföra till det facket. Växla det här scenfacket till produktion när du är redo. Använd inte för vana att manuellt push-överföra till produktion. Din kodbas bör kunna ange vilken version eller incheckning som finns på ett fack.

Förutsättningar för att utveckla Azure Functions

En enkel JavaScript-funktion för HTTP-begäranden

En funktion är en exporterad asynkron funktion med information om begäran och kontext. Följande partiella skärmbild från Azure Portal visar funktionskoden.

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
});

Utveckla funktioner lokalt med Visual Studio Code och tillägg

Skapa din första funktion med Visual Studio Code. Visual Studio Code förenklar många av detaljerna med Azure Functions-tillägget.

Det här tillägget hjälper dig att skapa JavaScript- och TypeScript-funktioner med vanliga mallar.

Integrera med andra Azure-tjänster

Serverlösa funktioner tar bort mycket av serverkonfigurationen och hanteringen så att du kan fokusera på den kod du behöver.

  • Funktioner med låg kod: Med Azure Functions skapar du funktioner som utlöses av andra Azure-tjänster eller som utdata till andra Azure-tjänster med hjälp av utlösarbindningar.
  • Högkodsfunktioner: Om du vill ha mer kontroll använder du Azure SDK:er för att samordna och kontrollera andra Azure-tjänster.