Condividi tramite


Guida di avvio rapido: Creare la prima funzione C# in Azure con Visual Studio

Funzioni di Azure consente di utilizzare Visual Studio per creare progetti di funzione C# locali e quindi pubblicare facilmente questo progetto per l'esecuzione in un ambiente serverless scalabile in Azure. Se si preferisce sviluppare app C# in locale usando Visual Studio Code, è consigliabile prendere in considerazione la versione basata su Visual Studio Code illustrata in questo articolo.

Per impostazione predefinita, questo articolo illustra come creare funzioni C# eseguite in .NET 8 in un processo di lavoro isolato. Le app per le funzioni eseguite in un processo di lavoro isolato sono supportate in tutte le versioni di .NET compatibili con Funzioni. Per altre informazioni, vedere Versioni supportate.

In questo articolo vengono illustrate le operazioni seguenti:

  • Usare Visual Studio per creare un progetto di libreria di classi C#.
  • Creare una funzione che risponda alle richieste HTTP.
  • Eseguire il codice in locale per verificare il comportamento della funzione.
  • Distribuire il progetto di codice in Funzioni di Azure.

Le procedure illustrate in questa guida di avvio rapido comportano l'addebito di qualche centesimo (USD) o meno nell'account Azure.

Questo video illustra come creare una funzione C# in Azure.

I passaggi del video sono descritti anche nelle sezioni seguenti.

Prerequisiti

Creare un progetto di app per le funzioni

Il modello di progetto Funzioni di Azure in Visual Studio crea un progetto di libreria di classi C# che è possibile pubblicare in un'app per le funzioni in Azure. È possibile usare un'app per le funzioni per raggruppare le funzioni in un'unità logica e semplificare la gestione, la distribuzione, il ridimensionamento e la condivisione delle risorse.

  1. Nel menu di Visual Studio selezionare File>Nuovo>Progetto.

  2. In Crea un nuovo progetto immettere funzioni nella casella di ricerca, scegliere il modello Funzioni di Azure e quindi selezionare Avanti.

  3. In Configura il nuovo progetto, immettere un Nome per il progetto e quindi selezionare Avanti. Il nome dell'app per le funzioni deve essere valido come spazio dei nomi C#, quindi non usare caratteri di sottolineatura, trattini o altri caratteri non alfanumerici.

  4. Per le altre impostazioni Informazioni aggiuntive,

    Impostazione valore Descrizione
    Funzioni ruolo di lavoro .NET 8.0 Isolato (supporto a lungo termine) Le funzioni vengono eseguite in .NET 8 in un processo di lavoro isolato.
    Funzione Trigger HTTP Con questo valore viene creata una funzione attivata da una richiesta HTTP.
    Usare Azurite per l'account _storage di runtime (AzureWebJobsStorage) Abilitare Poiché un'app per le funzioni in Azure richiede un account di archiviazione, ne viene assegnato o creato uno quando si pubblica il progetto in Azure. Un trigger HTTP non usa una stringa di connessione dell'account di archiviazione di Azure. Tutti gli altri tipi di trigger richiedono una stringa di connessione dell'account di archiviazione di Azure valida. Quando si seleziona questa opzione, viene usato l'emulatore Azurite.
    Livello di autorizzazione Anonimo Viene creata una funzione che può essere attivata da qualsiasi client senza dover fornire una chiave. Questa impostazione di autorizzazione consente di testare più facilmente la nuova funzione. Per maggiori informazioni, vedere Livello di autorizzazione.

    Screenshot delle impostazioni del progetto di Funzioni di Azure.

    Assicurarsi di impostare Livello di autorizzazione su Anonimo. Se si sceglie il livello predefinito Funzione, è necessario fornire il tasto funzione nelle richieste di accesso all'endpoint della funzione in Azure.

  5. Selezionare Crea per creare il progetto di funzione e la funzione attivata da HTTP.

Visual Studio crea un progetto e una classe che contiene il codice boilerplate per il tipo di funzione trigger HTTP. Il codice boilerplate invia una risposta HTTP che include un valore presente nel corpo della richiesta o nella stringa di query. L'attributo HttpTrigger specifica che la funzione è attivata da una richiesta HTTP.

Rinominare la funzione

L'attributo del metodo Function imposta il nome della funzione, che per impostazione predefinita viene generato come Function1. Poiché gli strumenti non consentono di eseguire l'override del nome predefinito della funzione quando si crea il progetto, è necessario creare un nome migliore per la classe, il file e i metadati della funzione.

  1. In Esplora file, fare clic con il pulsante destro del mouse sul file Function1.cs e rinominarlo in HttpExample.cs.

  2. Nel codice, rinominare la classe Function1 in HttpExample.

  3. Nel metodo denominato Run rinominare l'attributo del metodo Function in HttpExample.

La definizione della funzione dovrebbe ora risultare simile al codice seguente:

[Function("HttpExample")]
public IActionResult Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post")] HttpRequest req)
{
    _logger. LogInformation("C# HTTP trigger function processed a request.");
    return new OkObjectResult("Hello, functions");
}

Dopo aver rinominato la funzione, è possibile testarla nel computer locale.

Eseguire la funzione in locale

Dato che Visual Studio si integra con Azure Functions Core Tools, è possibile testare le funzioni in locale usando il runtime completo di Funzioni di Azure.

  1. Per eseguire la funzione, premere F5 in Visual Studio. Può essere necessario abilitare un'eccezione del firewall in modo che gli strumenti possano gestire le richieste HTTP. I livelli di autorizzazione non vengono mai applicati quando si esegue una funzione in locale.

  2. Copiare l'URL della funzione dall'output di runtime di Funzioni di Azure.

    Runtime locale di Azure

  3. Incollare l'URL per la richiesta HTTP nella barra degli indirizzi del browser ed eseguire la richiesta. L'immagine seguente mostra la risposta nel browser alla richiesta GET locale restituita dalla funzione:

    Risposta localhost della funzione nel browser

  4. Per arrestare il debug, premere MAIUSC+F5 in Visual Studio.

Dopo aver verificato la corretta esecuzione della funzione nel computer locale, è possibile pubblicare il progetto in Azure.

Pubblicare il progetto in Azure

Visual Studio può pubblicare il progetto locale in Azure. Per poter pubblicare il progetto, è prima necessario che la sottoscrizione di Azure includa un'app per le funzioni. Se non si ha già un'app per le funzioni in Azure, Visual Studio può essere utile per crearne uno prima di pubblicare il progetto. In questo articolo viene creata un'app per le funzioni eseguita in Linux in un piano a consumo Flex, che è il piano consigliato per le funzioni serverless guidate dagli eventi e sicure.

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto e quindi scegliere Pubblica.

  2. Nella pagina Pubblica effettuare le selezioni seguenti:

    • In Destinazione selezionare Azure e quindi avanti.
    • In Destinazione specifica selezionare App per le funzioni di Azure e quindi selezionare Avanti.
    • Nell'istanza di Funzioni selezionare Crea nuovo.

    Screenshot della pagina Pubblica. Nella sezione Istanza di Funzioni è visibile un gruppo di risorse ed è evidenziato Crea Nuovo.

  3. Creare una nuova istanza usando i valori specificati nella tabella seguente:

    Impostazione valore Descrizione
    Nome Nome globalmente univoco Il nome deve identificare in modo univoco la nuova app per le funzioni. Accettare il nome suggerito o immettere un nuovo nome. I caratteri seguenti sono validi: a-z, 0-9e -.
    Nome della sottoscrizione Nome della sottoscrizione L'app per le funzioni viene creata in una sottoscrizione di Azure. Accettare la sottoscrizione predefinita o selezionare una sottoscrizione diversa dall'elenco.
    Gruppo di risorse Nome del gruppo di risorse L'app per le funzioni viene creata in un gruppo di risorse. Per creare un nuovo gruppo di risorse, selezionare Nuovo. È anche possibile selezionare un gruppo di risorse esistente dall'elenco.
    Tipo di piano Flex Consumption Quando si pubblica il progetto in un'app per le funzioni eseguita in un piano a consumo Flex, è possibile pagare solo per le esecuzioni dell'app per le funzioni. Altri piani di hosting possono comportare costi più elevati.
    IMPORTANTE:
    Quando si crea un piano a Consumo Flessibile, è prima necessario selezionare Piano di servizio app e quindi riselezionare Consumo Flessibile per risolvere un problema con la finestra di dialogo.
    Sistema operativo Linux Il piano Flex Consumption richiede attualmente Linux.
    Ubicazione Posizione del servizio app Selezionare una località in un'area di Azure supportata dal piano a consumo Flex. Quando viene selezionata un'area non supportata, il pulsante Crea è disattivato.
    Dimensioni della memoria dell'istanza 2048 Le dimensioni di memoria delle istanze della macchina virtuale in cui viene eseguita l'app sono univoci per il piano Flex Consumption.
    Archiviazione di Azure Un account di archiviazione per utilizzo generico Il runtime di Funzioni richiede un account di archiviazione. Selezionare Nuovo per configurare un account di archiviazione per utilizzo generico. È anche possibile usare un account esistente che soddisfi i requisiti dell'account di archiviazione.
    Application Insights Un'istanza di Application Insights È consigliabile attivare l'integrazione di Application Insights per l'app per le funzioni. Selezionare Nuovo per creare una nuova istanza, in un'area di lavoro Log Analytics nuova o esistente. È anche possibile usare un'istanza esistente.

    Screenshot della nuova finestra di dialogo Crea app per le funzioni. I campi per il nome, la sottoscrizione, il gruppo di risorse, il piano e altre impostazioni sono compilati.

  4. Selezionare Crea per creare un'app per le funzioni e le relative risorse in Azure. Lo stato di creazione della risorsa viene visualizzato nell'angolo in basso a sinistra della finestra.

  5. Selezionare Fine. Verrà visualizzata la finestra Stato di avanzamento della creazione del profilo di pubblicazione. Al termine della creazione del profilo, selezionare Chiudi.

  6. Nella pagina del profilo di pubblicazione selezionare Pubblica per distribuire il pacchetto che contiene i file di progetto nella nuova app per le funzioni in Azure.

    Al termine della distribuzione, l'URL radice dell'app per le funzioni in Azure viene visualizzato in pubblica pagina del profilo.

  7. Nella pagina del profilo di pubblicazione passare alla sezione Hosting . Selezionare i puntini di sospensione (...) e quindi selezionare Apri nel portale di Azure. La nuova risorsa di Azure dell'app per le funzioni viene aperta nel portale di Azure.

    Screenshot della pagina del profilo di pubblicazione. Nella sezione Hosting è aperto il menu di scelta rapida con i puntini di sospensione, e la voce Apri nel portale di Azure è evidenziata.

Verificare la funzione in Azure

  1. Nel portale di Azure, l'utente dovrebbe trovarsi nella pagina Panoramica per la nuova app per le funzioni.

  2. In Funzioni, selezionare la nuova funzione denominata HttpExample, quindi nella pagina della funzione scegliere Recupera URL funzione e quindi l'icona Copia negli Appunti.

  3. Nella barra degli indirizzi del browser incollare l'URL copiato ed eseguire la richiesta.

    Il formato dell'URL che chiama la funzione attivata tramite HTTP è il seguente:

    https://<APP_NAME>.azurewebsites.net/api/HttpExample?name=Functions

  4. Passare a questo URL per vedere la risposta nel browser alla risposta GET remota restituita dalla funzione, simile all'esempio seguente:

    Risposta della funzione nel browser

Pulire le risorse

Il termine risorse in Azure si riferisce ad app per le funzioni, funzioni, account di archiviazione e così via. Le risorse sono raggruppate in gruppi di risorse, ed è possibile eliminare tutti gli elementi in un gruppo eliminando il gruppo.

Sono state create risorse di Azure per completare questa guida di avvio rapido. Per tali risorse potrebbero venire addebitati costi, a seconda dello stato dell'account e dei prezzi dei servizi. Altre guide di avvio rapido di questa raccolta si basano sulla presente guida di avvio rapido. Se si prevede di continuare a usare le guide di avvio rapido o i servizi creati con questa guida di avvio rapido, non eseguire la pulizia delle risorse.

Usare questa procedura per eliminare l'app per le funzioni e le risorse correlate per evitare l'addebito di costi aggiuntivi.

  1. Nella sezione Hosting della finestra di dialogo Pubblica di Visual Studio, selezionare Apri nel portale di Azure.

  2. Nella pagina dell'app per le funzioni selezionare la scheda Panoramica e quindi il collegamento sotto Gruppo di risorse.

    Selezionare il gruppo di risorse da eliminare nella pagina dell'app per le funzioni

  3. Nella pagina Gruppo di risorse esaminare l'elenco delle risorse incluse e verificare che siano quelle da eliminare.

  4. Selezionare Elimina gruppo di risorse e seguire le istruzioni.

    L'eliminazione potrebbe richiedere alcuni minuti. Al termine, viene visualizzata una notifica per pochi secondi. È anche possibile selezionare l'icona a forma di campana nella parte superiore della pagina per visualizzare la notifica.

Passaggi successivi

In questa guida di avvio rapido è stato usato Visual Studio per creare e pubblicare un'app per le funzioni C# in Azure con una semplice funzione attivata tramite HTTP.

Per altre informazioni sull'uso di funzioni C# eseguite in un processo di lavoro isolato, vedere la Guida per l'esecuzione di Funzioni di Azure C# in un processo di lavoro isolato. Vedere le versioni supportate di .NET per visualizzare altre versioni supportate di .NET in un processo di lavoro isolato.

Passare all'articolo successivo per informazioni su come aggiungere un'associazione alla coda di archiviazione di Azure alla funzione: