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
Visual Studio 2022. Durante l'installazione, assicurarsi di selezionare il carico di lavoro Sviluppo di Azure.
Sottoscrizione di Azure. Se non si ha già un account, crearne uno gratuito prima di iniziare.
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.
Nel menu di Visual Studio selezionare File>Nuovo>Progetto.
In Crea un nuovo progetto immettere funzioni nella casella di ricerca, scegliere il modello Funzioni di Azure e quindi selezionare Avanti.
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.
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. 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.
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.
In Esplora file, fare clic con il pulsante destro del mouse sul file Function1.cs e rinominarlo in
HttpExample.cs
.Nel codice, rinominare la classe Function1 in
HttpExample
.Nel metodo denominato
Run
rinominare l'attributo del metodoFunction
inHttpExample
.
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.
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.
Copiare l'URL della funzione dall'output di runtime di Funzioni di Azure.
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:
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.
In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto e scegliere Pubblica. In Destinazione selezionare Azure e quindi Avanti.
In Destinazione specifica selezionare App per le funzioni di Azure (Windows) Viene creata un'app per le funzioni eseguita in Windows. Selezionare Avanti.
Nella pagina Istanza di Funzioni selezionare Crea una nuova istanza di Funzioni di Azure.
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 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 scegliere un'istanza esistente. 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.
In Istanza di funzioni assicurarsi che sia selezionata l'opzione 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.
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.
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.
Verificare la funzione in Azure
Nel portale di Azure, l'utente dovrebbe trovarsi nella pagina Panoramica per la nuova app per le funzioni.
In Funzioni, selezionare la nuova funzione denominata HttpExample, quindi nella pagina della funzione scegliere Recupera URL funzione e quindi l'icona Copia negli Appunti.
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
Passare a questo URL per vedere la risposta nel browser alla risposta GET remota restituita dalla funzione, simile all'esempio seguente:
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.
Nella sezione Hosting della finestra di dialogo Pubblica di Visual Studio, selezionare Apri nel portale di Azure.
Nella pagina dell'app per le funzioni selezionare la scheda Panoramica e quindi il collegamento sotto Gruppo di risorse.
Nella pagina Gruppo di risorse esaminare l'elenco delle risorse incluse e verificare che siano quelle da eliminare.
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: