Använda Azure Functions för att utveckla Node.js serverlösa lösningar

Azure Functions tillhandahåller serverlös kodinfrastruktur så att du kan skapa dynamiska HTTP-slutpunkter på begäran. Serverlösa appar består av JavaScript- eller TypeScript-kod som körs som svar på olika händelser.

Funktioner förser dig med:

  • Abstraktion av webbtjänsten – du fokuserar på kod, inte infrastruktur.

  • Integrering med Azure-tjänster – utlösa arbete till eller från en Azure-tjänst med händelser

  • Integrera med JavaScript-paket – använd dina favorit npm-paket med din serverlösa kod

  • Azure Serverless Community-bibliotek med exempel

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 för klientdelen (till exempel Angular, React eller Vue), som också behöver serverlösa API:er, använder du Statiska webbappar 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, inklusive lokal utveckling och fjärrutveckling.

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.
  • API 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-portalen 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 kan du skapa 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.

Nästa steg

Använd följande tabell för att lära dig mer om Azure Functions med Node.js

Att lära sig Exempel
Vad är Contoso Real Estate Contoso Real Estate
Skapa serverlösa API:er med Azure Functions MicrosoftDocs/mslearn-build-api-azure-functions
Omstrukturera Node.js Express-API:er till serverlösa Azure Functions-API:er MicrosoftDocs/mslearn-module-shifting-nodejs-express-apis-to-serverless
Ladda upp och analysera en fil med Azure Functions och Blob Storage Azure-Samples/msdocs-storage-bind-function-service