Creare la prima funzione usando l'interfaccia della riga di comando di AzureCreate your first function using the Azure CLI

Questa guida introduttiva illustra come usare Funzioni di Azure per creare la prima funzione.This quickstart topic walks you through how to use Azure Functions to create your first function. Si userà l'interfaccia della riga di comando di Azure per creare un'app per le funzioni, ovvero l'infrastruttura senza server che ospita la funzione.You use the Azure CLI to create a function app, which is the serverless infrastructure that hosts your function. Il codice della funzione viene distribuito da un repository GitHub di esempio.The function code itself is deployed from a GitHub sample repository.

È possibile eseguire queste procedure con un computer Mac, Windows o Linux.You can follow the steps below using a Mac, Windows, or Linux computer.

PrerequisitiPrerequisites

Prima di eseguire questo esempio, è necessario disporre di quanto segue:Before running this sample, you must have the following:

  • Un account GitHub attivo.An active GitHub account.
  • Una sottoscrizione di Azure attiva.An active Azure subscription.

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.

Avviare Azure Cloud ShellLaunch Azure Cloud Shell

Azure Cloud Shell è una shell Bash gratuita che può essere eseguita direttamente nel portale di Azure.The Azure Cloud Shell is a free Bash shell that you can run directly within the Azure portal. Include l'interfaccia della riga di comando di Azure preinstallata e configurata per l'uso con l'account.It has the Azure CLI preinstalled and configured to use with your account. Fare clic sul pulsante Cloud Shell nel menu nel riquadro in alto a destra nel portale di Azure.Click the Cloud Shell button on the menu in the upper-right of the Azure portal.

Cloud ShellCloud Shell

Il pulsante avvia una shell interattiva che è possibile usare per eseguire i passaggi di questo argomento:The button launches an interactive shell that you can use to run the steps in this topic:

Screenshot che mostra la finestra di Cloud Shell nel portaleScreenshot showing the Cloud Shell window in the portal

Se si sceglie di installare e usare l'interfaccia della riga di comando in locale, per questo argomento è necessaria la versione 2.0 o successiva dell'interfaccia della riga di comando di Azure.If you choose to install and use the CLI locally, this topic requires the Azure CLI version 2.0 or later. Eseguire az --version per trovare la versione in uso.Run az --version to find the version you have. Se è necessario eseguire l'installazione o l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure 2.0.If you need to install or upgrade, see Install Azure CLI 2.0.

Creare un gruppo di risorseCreate a resource group

Creare un gruppo di risorse con az group create.Create a resource group with the az group create. Un gruppo di risorse di Azure è un contenitore logico in cui vengono distribuite e gestite risorse di Azure come app per le funzioni, database e account di archiviazione.An Azure resource group is a logical container into which Azure resources like function apps, databases, and storage accounts are deployed and managed.

Nell'esempio seguente viene creato il gruppo di risorse denominato myResourceGroup.The following example creates a resource group named myResourceGroup.
Se non si usa Cloud Shell, prima accedere usando az login.If you are not using Cloud Shell, sign in first using az login.

az group create --name myResourceGroup --location westeurope

In genere, il gruppo di risorse e le risorse vengono create in un'area nelle vicinanze.You generally create your resource group and the resources in a region near you. Per visualizzare tutte le località supportate per i piani di Servizio app, eseguire il comando az appservice list-locations.To see all supported locations for App Service plans, run the az appservice list-locations command.

Creare un account di Archiviazione di AzureCreate an Azure Storage account

Funzioni usa un account di uso generico di Archiviazione di Azure per gestire lo stato e altre informazioni sulle funzioni.Functions uses a general-purpose account in Azure Storage to maintain state and other information about your functions. Creare un account di archiviazione di uso generico nel gruppo di risorse creato usando il comando az storage account create.Create a general-purpose storage account in the resource group you created by using the az storage account create command.

Nel comando seguente sostituire il segnaposto <storage_name> con il nome globalmente univoco dell'account di archiviazione.In the following command, substitute a globally unique storage account name where you see the <storage_name> placeholder. I nomi degli account di archiviazione devono avere una lunghezza compresa tra 3 e 24 caratteri e possono contenere solo numeri e lettere minuscole.Storage account names must be between 3 and 24 characters in length and may contain numbers and lowercase letters only.

az storage account create --name <storage_name> --location westeurope --resource-group myResourceGroup --sku Standard_LRS

Al termine della creazione dell'account di archiviazione, l'interfaccia della riga di comando di Azure visualizza informazioni simili all'esempio seguente:After the storage account has been created, the Azure CLI shows information similar to the following example:

{
  "creationTime": "2017-04-15T17:14:39.320307+00:00",
  "id": "/subscriptions/bbbef702-e769-477b-9f16-bc4d3aa97387/resourceGroups/myresourcegroup/...",
  "kind": "Storage",
  "location": "westeurope",
  "name": "myfunctionappstorage",
  "primaryEndpoints": {
    "blob": "https://myfunctionappstorage.blob.core.windows.net/",
    "file": "https://myfunctionappstorage.file.core.windows.net/",
    "queue": "https://myfunctionappstorage.queue.core.windows.net/",
    "table": "https://myfunctionappstorage.table.core.windows.net/"
  },
     ....
    // Remaining output has been truncated for readability.
}

Creare un'app per le funzioniCreate a function app

Per ospitare l'esecuzione delle funzioni è necessaria un'app per le funzioni.You must have a function app to host the execution of your functions. L'app per le funzioni offre un ambiente per l'esecuzione senza server del codice di funzione.The function app provides an environment for serverless execution of your function code. Consente di raggruppare le funzioni come un'unità logica per semplificare la gestione, la distribuzione e la condivisione delle risorse.It lets you group functions as a logic unit for easier management, deployment, and sharing of resources. Creare un'app per le funzioni usando il comando az functionapp create.Create a function app by using the az functionapp create command.

Nel comando seguente sostituire il segnaposto <app_name> con il nome univoco dell'app per le funzioni e il nome dell'account di archiviazione con <storage_name>.In the following command, substitute a unique function app name where you see the <app_name> placeholder and the storage account name for <storage_name>. Dato che verrà usato come dominio DNS predefinito per l'app per le funzioni, è necessario che <app_name> sia univoco tra tutte le app in Azure.The <app_name> is used as the default DNS domain for the function app, and so the name needs to be unique across all apps in Azure. Il parametro deployment-source-url è un repository di esempio in GitHub che contiene una funzione attivata da HTTP "Hello World".The deployment-source-url parameter is a sample repository in GitHub that contains a "Hello World" HTTP triggered function.

az functionapp create --name <app_name> --storage-account  <storage_name>  --resource-group myResourceGroup \
--consumption-plan-location westeurope --deployment-source-url https://github.com/Azure-Samples/functions-quickstart

L'impostazione del parametro consumption-plan-location indica che l'app per le funzioni è ospitata in un piano di hosting a consumo.Setting the consumption-plan-location parameter means that the function app is hosted in a Consumption hosting plan. In questo piano, le risorse vengono aggiunte in modo dinamico come richiesto dalle funzioni e si paga solo quando le funzioni sono in esecuzione.In this plan, resources are added dynamically as required by your functions and you only pay when functions are running. Per altre informazioni, vedere Scegliere il piano di hosting corretto.For more information, see Choose the correct hosting plan.

Al termine della creazione dell'app per le funzioni, l'interfaccia della riga di comando di Azure visualizza informazioni simili all'esempio seguente:After the function app has been created, the Azure CLI shows information similar to the following example:

{
  "availabilityState": "Normal",
  "clientAffinityEnabled": true,
  "clientCertEnabled": false,
  "containerSize": 1536,
  "dailyMemoryTimeQuota": 0,
  "defaultHostName": "quickstart.azurewebsites.net",
  "enabled": true,
  "enabledHostNames": [
    "quickstart.azurewebsites.net",
    "quickstart.scm.azurewebsites.net"
  ],
   ....
    // Remaining output has been truncated for readability.
}

Testare la funzioneTest the function

Usare cURL per testare la funzione distribuita in un computer Mac o Linux oppure usando Bash per Windows.Use cURL to test the deployed function on a Mac or Linux computer or using Bash on Windows. Eseguire il comando cURL seguente, sostituendo il segnaposto <app_name> con il nome dell'app per le funzioni.Execute the following cURL command, replacing the <app_name> placeholder with the name of your function app. Aggiungere la stringa di query &name=<yourname> all'URL.Append the query string &name=<yourname> to the URL.

curl http://<app_name>.azurewebsites.net/api/HttpTriggerJS1?name=<yourname>

Risposta della funzione visualizzata in un browser.

Se nella riga di comando non è disponibile un cURL, immettere lo stesso URL nella barra degli indirizzi del browser Web.If you don't have cURL available in your command line, enter the same URL in the address of your web browser. Sostituire il segnaposto <app_name> con il nome dell'app per le funzioni, aggiungere la stringa di query &name=<yourname> all'URL ed eseguire la richiesta.Again, replace the <app_name> placeholder with the name of your function app, and append the query string &name=<yourname> to the URL and execute the request.

http://<app_name>.azurewebsites.net/api/HttpTriggerJS1?name=<yourname>

Risposta della funzione visualizzata in un browser.

Pulire le risorseClean up resources

Altre guide di avvio rapido di questa raccolta si basano sulla presente guida di avvio rapido.Other quickstarts in this collection build upon this quickstart. Se si prevede di continuare a usare le guide di avvio rapido successive o le esercitazioni, non pulire le risorse create in questa guida di avvio rapido.If you plan to continue on to work with subsequent quickstarts or with the tutorials, do not clean up the resources created in this quickstart. Se non si prevede di continuare, usare il comando seguente per eliminare tutte le risorse create da questa guida di avvio rapido:If you do not plan to continue, use the following command to delete all resources created by this quickstart:

az group delete --name myResourceGroup

Quando richiesto, digitare y.Type y when prompted.

Passaggi successiviNext steps

Altre informazioni sullo sviluppo locale di Funzioni di Azure mediante gli strumenti di base di Funzioni di Azure.Learn more about developing Azure Functions locally using the Azure Functions Core Tools.