Azure Functions gebruiken om Node.js serverloze oplossingen te ontwikkelen

Azure Functions biedt serverloze code-infrastructuur, zodat u responsieve HTTP-eindpunten op aanvraag kunt maken. Serverloze apps bestaan uit JavaScript- of TypeScript-code die wordt uitgevoerd als reactie op verschillende gebeurtenissen.

Functies bieden u het volgende:

  • Abstractie van webservice: u richt zich op code, niet op infrastructuur.

  • Integratie met Azure-services: werk activeren in of uit een Azure-service met gebeurtenissen

  • Integreren met JavaScript-pakketten- gebruik uw favoriete NPM-pakketten met uw serverloze code

  • Serverloze communitybibliotheek van Azure met voorbeelden

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

Bij het ontwikkelen van een statische front-endclienttoepassing (zoals Angular, React of Vue), die ook serverloze API's nodig hebben, 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, inclusief lokale en externe ontwikkeling.

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.
  • API 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 kunt u functies maken 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.

Volgende stappen

Gebruik de volgende tabel voor meer informatie over Azure Functions met Node.js

Om te leren Voorbeeld
Wat is Contoso Real Estate? Contoso Real Estate
Serverloze API's bouwen met Azure Functions MicrosoftDocs/mslearn-build-api-azure-functions
Express-API's herstructureren Node.js in serverloze Azure Functions-API's MicrosoftDocs/mslearn-module-shifting-nodejs-express-apis-to-serverless
Een bestand uploaden en analyseren met Azure Functions en Blob Storage Azure-Samples/msdocs-storage-bind-function-service