Delen via


Serverloze Node.js-apps ontwikkelen met Azure Functions

Azure Functions biedt een krachtige serverloze infrastructuur, zodat u eenvoudig schaalbare HTTP-eindpunten op aanvraag kunt ontwikkelen. Met behulp van JavaScript of TypeScript kunt u serverloze toepassingen maken die reageren op verschillende gebeurtenissen, zodat u zich kunt richten op het schrijven van code zonder dat u zich zorgen hoeft te maken over het beheren van servers. Deze handleiding helpt u aan de slag te gaan met het ontwikkelen van serverloze Node.js-apps met behulp van Azure Functions, waarbij u naadloos integreert met andere Azure-services.

Wat is een functieresource?

Een Azure Function-resource is een logische eenheid voor alle gerelateerde functies op één geografische Azure-locatie. De resource kan één functie of veel functies bevatten, die onafhankelijk van elkaar of gerelateerd zijn aan invoer- of uitvoerbindingen. U kunt kiezen uit veel algemene functies of uw eigen functies maken.

De functieresource-instellingen omvatten typische serverloze configuraties, waaronder omgevingsvariabelen, verificatie, logboekregistratie en CORS.

Duurzame, stateful functies

Durable Functions behoudt de status of beheert langlopende functies in Azure. Maak uw eerste duurzame functie in JavaScript.

Statische web-apps bevatten functies

Wanneer u een statische front-endclienttoepassing (zoals Angular, React of Vue) ontwikkelt die ook serverloze API's nodig heeft, gebruikt u Statische web-apps met functies om beide samen te bundelen.

Proxy van client-app naar de API

Als u uw API wilt implementeren met uw statische web-app, hoeft u de API-aanroepen van uw clienttoepassing niet te proxyn. De proxy wordt voor u tot stand gebracht wanneer u de Azure Functions-app implementeert als een beheerde app.

Wanneer u lokaal ontwikkelt met een statische web-app en Azure Functions, biedt de Azure Static Web App CLI de lokale proxy.

Algemene beveiligingsinstellingen die u moet configureren voor uw Azure-functie

De volgende algemene instellingen moeten worden geconfigureerd om uw Azure-functie veilig te houden:

  • Configuratie-instellingen
    • Configuratie-instellingen: toepassingsinstellingen maken voor instellingen die geen invloed hebben op de beveiliging.
    • Geheimen en sleutels: voor alle instellingen die van invloed zijn op beveiliging, maakt u een Azure Key Vault en haalt u deze instellingen op uit uw Key Vault.
    • FTP-status op platforminstellingen: standaard zijn alle toegestaan. U moet ALLEEN FTPS selecteren of FTP volledig uitschakelen om de beveiliging te verbeteren.
  • CORS: configureer uw clientdomeinen. Gebruik niet *, waarmee alle domeinen worden aangegeven.
  • TLS/SSL-instelling voor HTTPS: uw API accepteert standaard HTTP- en HTTPS-aanvragen. Schakel HTTPS alleen in de TLS/SSL-instellingen in. Omdat uw functie-app wordt gehost op een beveiligd subdomein, kunt u deze onmiddellijk (met) httpsgebruiken en het aanschaffen van een domeinnaam vertragen en een certificaat voor het domein gebruiken totdat u klaar bent.
  • Implementatiesites: maak een implementatiesite, zoals stage of preflight en push naar die site. Wissel deze fasesite om naar productie wanneer u klaar bent. Blijf niet in de gewoonte om handmatig naar productie te pushen. Uw codebasis moet de versie of doorvoer kunnen aangeven die zich op een site bevindt.

Vereisten voor het ontwikkelen van Azure Functions

Een eenvoudige JavaScript-functie voor HTTP-aanvragen

Een functie is een geëxporteerde asynchrone functie met aanvraag- en contextinformatie. In de volgende gedeeltelijke schermopname van Azure Portal ziet u de functiecode.

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

Functies lokaal ontwikkelen met Visual Studio Code en extensies

Maak uw eerste functie met Visual Studio Code. Visual Studio Code vereenvoudigt veel van de details met de Azure Functions-extensie.

Deze extensie helpt u bij het maken van JavaScript- en TypeScript-functies met algemene sjablonen.

Integreren met andere Azure-services

Serverloze functies verwijderen veel van de serverconfiguratie en -beheer, zodat u zich kunt richten op alleen de code die u nodig hebt.

  • Functies met weinig code: Met Azure Functions maakt u functies die worden geactiveerd door andere Azure-services of die worden uitgevoerd naar een andere Azure-service met behulp van triggerbindingen.
  • Functies met hoge code: Voor meer controle gebruikt u de Azure SDK's om andere Azure-services te coördineren en te beheren.