Condividi tramite


Usare Funzioni di Azure per sviluppare soluzioni serverless Node.js

Funzioni di Azure offre un'infrastruttura di codice serverless che consente di creare endpoint HTTP reattivi su richiesta. Le app serverless sono costituite da codice JavaScript o TypeScript eseguito in risposta a vari eventi.

Le funzioni offrono:

  • Astrazione del servizio Web: si concentra sul codice, non sull'infrastruttura.

  • Integrazione con i servizi di Azure: attivare il funzionamento o l'esterno di un servizio di Azure con eventi

  • Eseguire l'integrazione con i pacchetti JavaScript: usare i pacchetti npm preferiti con il codice serverless

  • Libreria della community serverless di Azure di esempi

Che cos'è una risorsa di Funzioni?

Una risorsa di Funzioni di Azure è un'unità logica per tutte le funzioni correlate in una singola località geografica di Azure. La risorsa può contenere una singola funzione o molte funzioni, che possono essere indipendenti l'una dall'altra o correlate con associazioni di input o output. È possibile scegliere tra molte funzioni comuni o crearne una personalizzata.

Le impostazioni delle risorse di Funzioni includono le tipiche configurazioni serverless, come variabili di ambiente, autenticazione, registrazione e CORS.

Funzioni durevoli, con stato

L'estensione Durable Functions consente di scrivere funzioni che mantengono lo stato o di gestire funzioni a esecuzione prolungata in Azure. Creare la prima funzione durevole in JavaScript.

Le app Web statiche includono funzioni

Quando si sviluppa un'applicazione client front-end statica, ad esempio Angular, React o Vue, che necessita anche di API serverless, usare app Web statiche con funzioni per rispettare entrambi i requisiti.

Proxy dall'app client all'API

Se si intende distribuire l'API con l'app Web statica, non è necessario eseguire il proxy delle chiamate API dell'applicazione client. Il proxy viene stabilito per l'utente, incluso lo sviluppo locale e remoto.

Quando si sviluppa in locale con un'app Web statica e Funzioni di Azure, l'interfaccia della riga di comando dell'app Web statica di Azure fornisce il proxy locale.

Impostazioni di sicurezza comuni che è necessario configurare per la funzione di Azure

Le impostazioni comuni seguenti devono essere configurate per proteggere la funzione di Azure:

  • Impostazioni di configurazione
  • CORS API: configurare i domini client. Non usare *, che indica tutti i domini.
  • Impostazione TLS/SSL per HTTPS: per impostazione predefinita, l'API accetta richieste HTTP e HTTPS. Abilitare HTTPS solo nelle impostazioni TLS/SSL. Poiché l'app per le funzioni è ospitata in un sottodominio sicuro, è possibile usarla immediatamente (con https) e ritardare l'acquisto di un nome di dominio e l'uso di un certificato per il dominio fino a quando non si è pronti.
  • Slot di distribuzione: creare uno slot di distribuzione, ad esempio stage o preflight e eseguire il push in tale slot. Scambiare questo slot di fase in produzione quando si è pronti. Non prendere l'abitudine di eseguire manualmente il push nell'ambiente di produzione. La codebase deve essere in grado di indicare la versione o il commit che si trova in uno slot.

Prerequisiti per lo sviluppo di Funzioni di Azure

Una semplice funzione JavaScript per le richieste HTTP

Per funzione si intende una funzione asincrona esportata con informazioni su richiesta e contesto. Lo screenshot parziale seguente del portale di Azure mostra il codice della funzione.

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

Sviluppare le funzioni in locale con Visual Studio Code ed estensioni

Creare la prima funzione con Visual Studio Code. Visual Studio Code semplifica molti dettagli con l'estensione Funzioni di Azure.

Questa estensione consente di creare funzioni JavaScript e TypeScript con modelli comuni.

Integrare il servizio con altri servizi di Azure

Le funzioni serverless rimuovono gran parte della configurazione e della gestione del server, in modo da potersi concentrare solo sul codice necessario.

  • Funzioni a basso codice: con Funzioni di Azure è possibile creare funzioni attivate da altri servizi di Azure o da tale output in altri servizi di Azure usando associazioni di trigger.
  • Funzioni ad alto codice: per un maggiore controllo, usare gli SDK di Azure per coordinare e controllare altri servizi di Azure.

Passaggi successivi

Usare la tabella seguente per altre informazioni sulle Funzioni di Azure con Node.js

Imparare Esempio
Che cos'è Contoso Real Estate Contoso Real Estate
Creare API serverless con Funzioni di Azure MicrosoftDocs/mslearn-build-api-azure-functions
Eseguire il refactoring delle API Express Node.js in API Funzioni di Azure serverless MicrosoftDocs/mslearn-module-shifting-nodejs-express-apis-to-serverless
Caricare e analizzare un file con Funzioni di Azure e BLOB Archiviazione Azure-Samples/msdocs-storage-bind-function-service