Guida introduttiva: Creare la prima funzione C# in Azure con Visual Studio

Funzioni di Azure consente di usare 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 di 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 supportate da 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 progetto 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
    Ruolo di lavoro di Funzioni Isolato .NET 8.0 (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) Abilitazione Poiché un'app per le funzioni in Azure richiede un account di archiviazione, ne viene assegnata o creata una 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 sulle chiavi e l'autorizzazione, vedere Chiavi di autorizzazione in Associazioni di webhook e HTTP.

    Screenshot of Azure Functions project settings.

    Assicurarsi di impostare Livello di autorizzazione su Anonimo. Se si sceglie il livello predefinito di Funzione, è necessario presentare la chiave di 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 Runrinominare l'attributo del Function metodo in HttpExample.

La definizione della funzione dovrebbe ora essere 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.

    Azure local runtime

  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:

    Function localhost response in the 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, la pubblicazione di Visual Studio ne crea una per 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 of publish window.

  2. Selezionare App per le funzioni di Azure (Windows) per La destinazione specifica, che crea un'app per le funzioni eseguita in Windows e quindi selezionare Avanti.

    Screenshot of publish window with specific target.

  3. Nell'istanza della funzione scegliere Crea una nuova funzione di Azure...

    Screenshot of create a new function app instance.

  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 una nuova dall'elenco a discesa.
    Gruppo di risorse Nome del gruppo di risorse Gruppo di risorse in cui si vuole creare l'app per le funzioni. Selezionare un gruppo di risorse esistente nell'elenco a discesa o selezionare Nuovo per creare un nuovo gruppo di risorse.
    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 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. È anche possibile scegliere un account esistente che soddisfi i requisiti dell'account di archiviazione.

    Screenshot of Create App Service dialog.

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

  6. Nell'istanza di Funzioni verificare che sia selezionata l'opzione Esegui dal file del pacchetto. L'app per le funzioni viene distribuita usando la distribuzione ZIP con la modalità esecuzione da pacchetto abilitata. Zip Deploy è il metodo di distribuzione consigliato per il progetto di funzioni con prestazioni migliori.

    Screenshot of Finish profile creation.

  7. Selezionare Fine e quindi, nella pagina Pubblica, selezionare Pubblica per distribuire il pacchetto contenente i file del 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 scegliere Apri in portale di Azure. Verrà aperta la nuova risorsa di Azure dell'app per le funzioni nella portale di Azure.

    Screenshot of Publish success message.

Verificare la funzione in Azure

  1. In Cloud Explorer è necessario selezionare la nuova app per le funzioni. In caso contrario, espandere la sottoscrizione >servizio app e selezionare la nuova app per le funzioni.

  2. Fare clic con il pulsante destro del mouse sull'app per le funzioni e scegliere Apri nel browser. Verrà visualizzata la radice dell'app per le funzioni nel Web browser predefinito e verrà visualizzata la pagina che indica che l'app per le funzioni è in esecuzione.

    Function app running

  3. Nella barra degli indirizzi del browser aggiungere la stringa /api/HttpExample?name=Functions all'URL di base ed eseguire la richiesta.

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

    http://<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:

    Function response in the 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 introduttiva. 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 usare guide introduttive, esercitazioni o con uno dei servizi creati in questa guida introduttiva, non pulire le 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 in portale di Azure.

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

    Select the resource group to delete from the function app page

  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 di versioni .NET supportate 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: