Creare la prima funzione con Visual Studio

Funzioni di Azure consente di eseguire il codice in un ambiente senza server senza dover prima creare una macchina virtuale o pubblicare un'applicazione Web.

Questo argomento illustra come usare gli strumenti di Visual Studio 2017 per Funzioni di Azure per creare e testare una funzione "hello world" in locale. Il codice della funzione verrà quindi pubblicato in Azure. Questi strumenti sono disponibili come parte del carico di lavoro di sviluppo di Azure in Visual Studio 2017 versione 15.3 o successiva.

Codice di Funzioni di Azure in un progetto di Visual Studio

Prerequisiti

Per completare questa esercitazione, installare:

  • Visual Studio 2017 versione 15.3, con il carico di lavoro di sviluppo di Azure.

    Installare Visual Studio 2017 con il carico di lavoro Sviluppo di Azure

    Nota

    Dopo l'installazione o l'aggiornamento a Visual Studio 2017 versione 15.3, è necessario aggiornare manualmente gli strumenti di Visual Studio 2017 per Funzioni di Azure. È possibile aggiornare gli strumenti dal menu Strumenti scegliendo Estensioni e aggiornamenti > Aggiornamenti > Visual Studio Marketplace > Azure Functions and Web Jobs Tools (Strumenti per Funzioni di Azure e processi Web) > Aggiorna.

Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.

Creare un progetto Funzioni di Azure in Visual Studio

Il modello di progetto Funzioni di Azure in Visual Studio crea un progetto che può essere pubblicato in un'app per le funzioni in Azure. Un'app per le funzioni consente di raggruppare le funzioni come un'unità logica per semplificare la gestione, la distribuzione e la condivisione delle risorse.

  1. Fare clic con il pulsante destro del mouse sul nodo del progetto in Esplora soluzioni e quindi scegliere Aggiungi > Nuovo elemento. Selezionare Funzione di Azure nella finestra di dialogo.

  2. Nella finestra di dialogo Nuovo progetto espandere il nodo Visual C# > Cloud, selezionare Funzioni di Azure, digitare un nome per il progetto e fare clic su OK. 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.

    Finestra di dialogo Nuovo progetto per creare una funzione in Visual Studio

Ora che è stato creato il progetto, si può creare la prima funzione.

Creare la funzione

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul nodo del progetto e scegliere Aggiungi > Nuovo elemento. Selezionare Funzione di Azure e fare clic su Aggiungi.

  2. Selezionare HttpTrigger, digitare un nome di funzione, selezionare Anonimo in Diritti di accesso e fare clic su Crea. La funzione creata è accessibile da una richiesta HTTP proveniente da qualsiasi client.

    Creare una nuova funzione di Azure

    Al progetto viene aggiunto un file di codice che contiene una classe che implementa il codice della funzione. Questo codice è basato su un modello, che riceve un valore di nome e lo ritrasmette. L'attributo FunctionName imposta il nome della funzione. L'attributo HttpTrigger indica il messaggio che attiva la funzione.

    File di codice della funzione

Ora che è stata creata una funzione attivata tramite HTTP, si può testare la funzione nel computer locale.

Testare la funzione in locale

Azure Functions Core Tools consente di eseguire il progetto Funzioni di Azure nel computer di sviluppo locale. Verrà richiesto di installare questi strumenti al primo avvio di una funzione da Visual Studio.

  1. Per testare la funzione premere F5. Se viene visualizzata, accettare la richiesta di Visual Studio di scaricare e installare gli strumenti dell'interfaccia della riga di comando Azure Functions Core Tools. Potrebbe essere necessario anche abilitare un'eccezione del firewall per consentire agli strumenti di gestire le richieste HTTP.

  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. Aggiungere la stringa di query ?name=<yourname> all'URL ed eseguire la richiesta. Di seguito è illustrata la risposta nel browser alla richiesta GET locale restituita dalla funzione:

    Risposta localhost della funzione nel browser

  4. Per interrompere il debug, fare clic sul pulsante Interrompi sulla barra degli strumenti di Visual Studio.

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

Pubblicare il progetto in Azure

Per poter pubblicare il progetto, è necessario che la sottoscrizione di Azure includa un'app per le funzioni. È possibile creare un'app per le funzioni direttamente da Visual Studio.

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

    Pubblicare creando una nuova app per le funzioni

  2. Se non si è ancora connesso Visual Studio al proprio account Azure, fare clic su Aggiungi un account.

  3. Nella finestra Crea servizio app usare le impostazioni di hosting specificate nella tabella seguente:

    Runtime locale di Azure

    Impostazione Valore consigliato Descrizione
    Nome app Nome globalmente univoco Nome che identifica in modo univoco la nuova app per le funzioni.
    Sottoscrizione Scegliere la sottoscrizione Sottoscrizione di Azure da usare.
    Gruppo di risorse myResourceGroup Nome del gruppo di risorse in cui creare l'app per le funzioni.
    Piano di servizio app Piano a consumo Quando si crea un nuovo piano, assicurarsi di scegliere A consumo in Dimensioni.
    Account di archiviazione Nome globalmente univoco Usare un account di archiviazione esistente o crearne uno nuovo.
  4. Fare clic su Crea per creare un'app per le funzioni con queste impostazioni in Azure. Al termine del provisioning prendere nota del valore di URL sito, che è l'indirizzo dell'app per le funzioni in Azure.

    Runtime locale di Azure

Testare la funzione in Azure

  1. Copiare l'URL di base dell'app per le funzioni dalla pagina del profilo di pubblicazione. Sostituire la parte localhost:port dell'URL usato durante il test della funzione in locale con il nuovo URL di base. Come prima, assicurarsi di accodare la stringa di query ?name=<yourname> all'URL ed eseguire la richiesta.

    L'URL che chiama la funzione attivata tramite HTTP sarà simile al seguente:

     http://<functionappname>.azurewebsites.net/api/<functionname>?name=<yourname> 
    
  2. Incollare questo nuovo URL per la richiesta HTTP nella barra degli indirizzi del browser. Di seguito è illustrata la risposta nel browser alla richiesta GET remota restituita dalla funzione:

    Risposta della funzione nel browser

Passaggi successivi

È stato usato Visual Studio per creare un'app per le funzioni C# con una semplice funzione attivata tramite HTTP.