Creare la prima funzione con Visual StudioCreate your first function using 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.Azure Functions lets you execute your code in a serverless environment without having to first create a VM or publish a web application.

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.In this topic, you learn how to use the Visual Studio 2017 tools for Azure Functions to create and test a "hello world" function locally. Il codice della funzione verrà quindi pubblicato in Azure.You will then publish the function code to Azure. Questi strumenti sono disponibili come parte del carico di lavoro di sviluppo di Azure in Visual Studio 2017 versione 15.3 o successiva.These tools are available as part of the Azure development workload in Visual Studio 2017 version 15.3, or a later version.

Codice di Funzioni di Azure in un progetto di Visual Studio

PrerequisitiPrerequisites

Per completare questa esercitazione, installare:To complete this tutorial, install:

Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.If you don't have an Azure subscription, create a free account before you begin.

Creare un progetto Funzioni di Azure in Visual StudioCreate an Azure Functions project 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.The Azure Functions project template in Visual Studio creates a project that can be published to a function app 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.A function app lets you group functions as a logic unit for easier management, deployment, and sharing of resources.

  1. Fare clic con il pulsante destro del mouse sul nodo del progetto in Esplora soluzioni e quindi scegliere Aggiungi > Nuovo elemento.Right mouse click on the project node in Solution Explorer, then choose Add > New Item. Selezionare Funzione di Azure nella finestra di dialogo.Choose Azure Function from the dialog box.

  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.In the New Project dialog, expand Visual C# > Cloud node, select Azure Functions, type a Name for your project, and click 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.The function app name must be valid as a C# namespace, so don't use underscores, hyphens, or any other nonalphanumeric characters.

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

Ora che è stato creato il progetto, si può creare la prima funzione.Now that you have created the project, you can create your first function.

Creare la funzioneCreate the function

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul nodo del progetto e scegliere Aggiungi > Nuovo elemento.In Solution Explorer, right-click on your project node and select Add > New Item. Selezionare Funzione di Azure, immettere HttpTriggerCSharp.csper Nome e fare clic Aggiungi.Select Azure Function, enter HttpTriggerCSharp.cs for Name, and click Add.

  2. Selezionare HttpTrigger, scegliere Anonimo in Diritti di accesso e fare clic su OK.Select HttpTrigger, select Anonymous for Access rights, and click OK. La funzione creata è accessibile da una richiesta HTTP proveniente da qualsiasi client.The function created is accessed by an HTTP request from any 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.A code file is added to your project that contains a class that implements your function code. Questo codice è basato su un modello, che riceve un valore di nome e lo ritrasmette.This code is based on a template, which receives a name value and echos it back. L'attributo FunctionName imposta il nome della funzione.The FunctionName attribute sets the name of your function. L'attributo HttpTrigger indica il messaggio che attiva la funzione.The HttpTrigger attribute indicates the message that triggers the function.

    File di codice della funzione

Ora che è stata creata una funzione attivata tramite HTTP, si può testare la funzione nel computer locale.Now that you have created an HTTP-triggered function, you can test it on your local computer.

Testare la funzione in localeTest the function locally

Azure Functions Core Tools consente di eseguire il progetto Funzioni di Azure nel computer di sviluppo locale.Azure Functions Core Tools lets you run Azure Functions project on your local development computer. Verrà richiesto di installare questi strumenti al primo avvio di una funzione da Visual Studio.You are prompted to install these tools the first time you start a function from Visual Studio.

  1. Per testare la funzione premere F5.To test your function, press 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.If prompted, accept the request from Visual Studio to download and install Azure Functions Core (CLI) tools. Potrebbe essere necessario anche abilitare un'eccezione del firewall per consentire agli strumenti di gestire le richieste HTTP.You may also need to enable a firewall exception so that the tools can handle HTTP requests.

  2. Copiare l'URL della funzione dall'output di runtime di Funzioni di Azure.Copy the URL of your function from the Azure Functions runtime output.

    Runtime locale di Azure

  3. Incollare l'URL per la richiesta HTTP nella barra degli indirizzi del browser.Paste the URL for the HTTP request into your browser's address bar. Aggiungere la stringa di query ?name=<yourname> all'URL ed eseguire la richiesta.Append the query string ?name=<yourname> to this URL and execute the request. Di seguito è illustrata la risposta nel browser alla richiesta GET locale restituita dalla funzione:The following shows the response in the browser to the local GET request returned by the function:

    Risposta localhost della funzione nel browser

  4. Per interrompere il debug, fare clic sul pulsante Interrompi sulla barra degli strumenti di Visual Studio.To stop debugging, click the Stop button on the Visual Studio toolbar.

Dopo aver verificato la corretta esecuzione della funzione nel computer locale, è possibile pubblicare il progetto in Azure.After you have verified that the function runs correctly on your local computer, it's time to publish the project to Azure.

Pubblicare il progetto in AzurePublish the project to Azure

Per poter pubblicare il progetto, è necessario che la sottoscrizione di Azure includa un'app per le funzioni.You must have a function app in your Azure subscription before you can publish your project. È possibile creare un'app per le funzioni direttamente da Visual Studio.You can create a function app right from Visual Studio.

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto e scegliere Pubblica.In Solution Explorer, right-click the project and select Publish. Selezionare Crea nuovo e quindi fare clic su Pubblica.Choose Create New and then click Publish.

    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.If you haven't already connected Visual Studio to your Azure account, click Add an account....

  3. Nella finestra Crea servizio app usare le impostazioni di hosting specificate nella tabella seguente:In the Create App Service dialog, use the Hosting settings as specified in the following table:

    Runtime locale di Azure

    ImpostazioneSetting Valore consigliatoSuggested value DescrizioneDescription
    Nome appApp Name Nome globalmente univocoGlobally unique name Nome che identifica in modo univoco la nuova app per le funzioni.Name that uniquely identifies your new function app.
    SottoscrizioneSubscription Scegliere la sottoscrizioneChoose your subscription Sottoscrizione di Azure da usare.The Azure subscription to use.
    Gruppo di risorseResource Group myResourceGroupmyResourceGroup Nome del gruppo di risorse in cui creare l'app per le funzioni.Name of the resource group in which to create your function app.
    Piano di servizio appApp Service Plan Piano a consumoConsumption plan Quando si crea un nuovo piano, assicurarsi di scegliere A consumo in Dimensioni.Make sure to choose the Consumption under Size when you create a new plan.
    Account di archiviazioneStorage account Nome globalmente univocoGlobally unique name Usare un account di archiviazione esistente o crearne uno nuovo.Use an existing storage account or create a new one.
  4. Fare clic su Crea per creare un'app per le funzioni con queste impostazioni in Azure.Click Create to create a function app in Azure with these settings. Al termine del provisioning prendere nota del valore di URL sito, che è l'indirizzo dell'app per le funzioni in Azure.After the provisioning is complete, make a note of the Site URL value, which is the address of your function app in Azure.

    Runtime locale di Azure

Testare la funzione in AzureTest your function in Azure

  1. Copiare l'URL di base dell'app per le funzioni dalla pagina del profilo di pubblicazione.Copy the base URL of the function app from the Publish profile page. Sostituire la parte localhost:port dell'URL usato durante il test della funzione in locale con il nuovo URL di base.Replace the localhost:port portion of the URL you used when testing the function locally with the new base URL. Come prima, assicurarsi di accodare la stringa di query ?name=<yourname> all'URL ed eseguire la richiesta.As before, make sure to append the query string ?name=<yourname> to this URL and execute the request.

    L'URL che chiama la funzione attivata tramite HTTP sarà simile al seguente:The URL that calls your HTTP triggered function looks like this:

     http://<functionappname>.azurewebsites.net/api/<functionname>?name=<yourname> 
    
  2. Incollare questo nuovo URL per la richiesta HTTP nella barra degli indirizzi del browser.Paste this new URL for the HTTP request into your browser's address bar. Di seguito è illustrata la risposta nel browser alla richiesta GET remota restituita dalla funzione:The following shows the response in the browser to the remote GET request returned by the function:

    Risposta della funzione nel browser

Passaggi successiviNext steps

È stato usato Visual Studio per creare un'app per le funzioni C# con una semplice funzione attivata tramite HTTP.You have used Visual Studio to create a C# function app with a simple HTTP triggered function.