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 altre 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.AuthLevelValue, "get", "post")] HttpRequest req)
{
    return new OkObjectResult("Welcome to Azure 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 dispone già di un'app per le funzioni in Azure, la pubblicazione di Visual Studio ne crea una la prima volta che si pubblica il progetto. In questo articolo viene creata un'app per le funzioni e le risorse di Azure correlate.

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto e scegliere Pubblica. In Destinazione, selezionare Azure e quindi Avanti.

    Screenshot del riquadro di pubblicazione.

  2. In Destinazione specifica selezionare App per le funzioni di Azure (Windows). Viene creata un'app per le funzioni da eseguire in Windows. Selezionare Avanti.

    Screenshot del riquadro di pubblicazione con una destinazione specifica.

  3. Nella pagina Istanza di Funzioni selezionare Crea una nuova istanza di Funzioni di Azure.

    Screenshot che mostra l'opzione Crea una nuova istanza dell'app per le funzioni.

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

    Impostazione valore Descrizione
    Nome Nome globalmente univoco Nome che identifica in modo univoco la nuova app per le funzioni. Accettare questo nome o immetterne uno nuovo. I caratteri validi sono a-z, 0-9 e -.
    Abbonamento Sottoscrizione in uso Sottoscrizione di Azure da usare. Accettare questa sottoscrizione o selezionarne un'altra dall'elenco a discesa.
    Gruppo di risorse Nome del gruppo di risorse Gruppo di risorse in cui si desidera creare l'app per le funzioni. Per creare un nuovo gruppo di risorse, selezionare Nuovo. È anche possibile scegliere un gruppo di risorse esistente dall'elenco a discesa.
    Tipo di piano Consumo Quando si pubblica il progetto in un'app per le funzioni eseguita in un piano a consumo, vengono addebitati solo i costi relativi alle esecuzioni dell'app per le funzioni. Altri piani di hosting comportano costi più elevati.
    Location La località del piano di servizio app Scegliere una località in un'area di Azure nelle vicinanze o vicino ad altri servizi a cui accedono le funzioni.
    Archiviazione di Azure Account di archiviazione per utilizzo generico L'account di archiviazione di Azure è necessario per il runtime di Funzioni. Selezionare Nuovo per configurare un account di archiviazione per utilizzo generico. Si può anche scegliere di usare un account esistente che soddisfi i requisiti dell'account di archiviazione.
    Application Insights Istanza di Application Insights È consigliabile abilitare l'integrazione di Azure Application Insights con l'app per le funzioni. Selezionare Nuovo per creare una nuova istanza, in un'area di lavoro Log Analytics nuova o esistente. È anche possibile scegliere un'istanza esistente.

    Screenshot della finestra di dialogo Crea servizio app.

  5. 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.

  6. In Istanza di funzioni assicurarsi che sia selezionata la casella di controllo Esegui da file di pacchetto. L'app per le funzioni viene distribuita usando la distribuzione ZIP con la modalità Esecuzione da pacchetto abilitata. La distribuzione ZIP è il metodo di distribuzione consigliato per il progetto di funzioni, perché offre prestazioni più elevate.

    Screenshot del riquadro di completamento della creazione del profilo.

  7. Selezionare Fine e quindi, nella pagina Pubblica, selezionare Pubblica per distribuire il pacchetto contenente 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 nella scheda Pubblica.

  8. Nella sezione Hosting della scheda Pubblica selezionare Apri nel portale di Azure. La nuova risorsa di Azure dell'app per le funzioni viene aperta nel portale di Azure.

    Screenshot del messaggio di operazione riuscita di pubblicazione.

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 appena 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.

Seguire questa procedura per eliminare l'app per le funzioni e le risorse correlate per evitare di incorrere in 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: