Share via


Introduzione alle Funzioni di Azure in Visual Studio per Mac

Importante

Visual Studio per Mac è prevista per il ritiro il 31 agosto 2024 in conformità con Microsoft Criteri moderni relativi al ciclo di vita. Anche se è possibile continuare a usare Visual Studio per Mac, esistono diverse altre opzioni per gli sviluppatori in Mac, ad esempio la versione di anteprima della nuova estensione C# Dev Kit per VS Code.

Altre informazioni sulle sequenze temporali e sulle alternative di supporto.

Funzioni di Azure è un modo per creare ed eseguire frammenti di codice basati su eventi, funzioni, nel cloud, senza dover eseguire in modo esplicito il provisioning o la gestione dell'infrastruttura. Per altre informazioni sulle funzioni di Azure, vedere la documentazione di Funzioni di Azure.

Requisiti

Gli strumenti per le funzioni di Azure sono inclusi in Visual Studio per Mac 7.5 e versioni successive.

Per creare e distribuire funzioni è necessaria anche una sottoscrizione di Azure. Se non si ha un account Azure, è possibile iscriversi oggi gratuitamente e ricevere 12 mesi di servizi popolari gratuiti, credito gratuito di $ 200 e 25+ sempre servizi gratuiti ->https://azure.com/free.

Creazione del primo progetto di Funzioni di Azure

  1. In Visual Studio per Mac selezionare File > Nuova soluzione.

  2. Nella finestra di dialogo Nuovo progetto selezionare il modello di Funzioni di Azure in Cloud > Generale e fare clic su Avanti:

    New Project dialog showing Azure Functions option

  3. Selezionare il modello iniziale di Funzioni di Azure che si desidera usare, immettere il nome della funzione e fare clic su Avanti.

    New Project dialog showing Azure Functions templates

    Suggerimento

    Anche se si cerca di mantenere il più possibile aggiornati il runtime e i modelli di Funzioni di Azure (interfaccia della riga di comando) in bundle, è inevitabile che diventino obsoleti. Quando si crea un nuovo progetto di Funzioni, Visual Studio per Mac verificherà la disponibilità di aggiornamenti all'interfaccia della riga di comando e invierà una notifica come illustrato nell'immagine seguente. È sufficiente fare clic sul pulsante per scaricare i modelli aggiornati. New project dialog showing Azure Functions updates are available

    A seconda del tipo di funzione selezionato, nella pagina successiva verrà richiesto di immettere i dettagli, ad esempio i diritti di accesso, come illustrato nell'immagine seguente:

    New Project dialog showing additional option

    Per altre informazioni sui diversi tipi di modelli di Funzioni di Azure e le proprietà di associazione richieste per configurare ogni modello, vedere la sezione Modelli di funzione disponibili. Per questo esempio viene usato un trigger HTTP con diritti di accesso impostati su anonimo.

  4. Dopo aver impostato i parametri, scegliere la posizione per il progetto e fare clic su Crea.

Visual Studio per Mac crea un progetto .NET Standard che include una funzione predefinita. Il progetto include anche riferimenti NuGet a vari pacchetti AzureWebJobs, nonché al pacchetto Newtonsoft.Json.

Visual Studio for Mac editor displaying a brand new Azure function from template

Il nuovo progetto contiene i file seguenti:

  • nome-funzione.cs - Questa classe contiene il codice boilerplate per la funzione selezionata. Contiene un attributo FunctionName con il nome della funzione e un attributo trigger che specifica il trigger della funzione , ad esempio una richiesta HTTP. Per altre informazioni sul metodo della funzione, vedere l'articolo Azure Functions C# developer reference (Riferimento di Funzioni di Azure per gli sviluppatori C#).
  • host.json: questo file descrive le opzioni di configurazione globali per l'host delle funzioni. Per visualizzare un file di esempio e informazioni sulle impostazioni disponibili per tale file, vedere Riferimento host.json per Funzioni di Azure.
  • local.settings.json: questo file contiene tutte le impostazioni per l'esecuzione locale delle funzioni. Le impostazioni vengono usate dagli strumenti di base di Funzioni di Azure. Per altre informazioni, vedere File di impostazioni locali nell'argomento sugli strumenti di base di Funzioni di Azure.

Ora che è stato creato un nuovo progetto di Funzioni di Azure in Visual Studio per Mac, è possibile sottoporre a test la funzione attivata da HTTP predefinita nel computer locale.

Test della funzione in locale

Grazie al supporto di Funzioni di Azure in Visual Studio per Mac è possibile sottoporre a test e debug la funzione nel computer di sviluppo locale.

  1. Per eseguire il test della funzione in locale, fare clic sul pulsante Esegui in Visual Studio per Mac:

    Start debugging button in Visual Studio for mac

  2. L'esecuzione del progetto avvia il debug locale nella funzione di Azure e apre una nuova finestra del terminale, come illustrato nell'immagine seguente:

    terminal window showing function output

    Copiare l'URL dall'output.

  3. Incollare l'URL per la richiesta HTTP nella barra degli indirizzi del browser. Aggiungere la stringa di query ?name=<yourname> alla fine dell'URL ed eseguire la richiesta. L'immagine seguente mostra la risposta nel browser alla richiesta GET locale restituita dalla funzione:

    HTTP request in browser

Aggiunta di un'altra funzione al progetto

I modelli di funzione consentono di creare rapidamente nuove funzioni usando i trigger e i modelli più comuni. Per creare un altro tipo di funzione, seguire questa procedura:

  1. Per aggiungere una nuova funzione, fare clic con il pulsante destro del mouse sul nome del progetto e scegliere Aggiungi > funzione...:

    context action for adding new function

  2. Nella finestra di dialogo Nuova funzione di Azure selezionare la funzione necessaria:

    new Azure function dialog

    Un elenco dei modelli di funzione di Azure è disponibile nella sezione Modelli di funzione disponibili.

È possibile usare la procedura descritta in precedenza per aggiungere altre funzioni al progetto di app per le funzioni. Ogni funzione nel progetto può avere un trigger diverso, ma una funzione deve avere esattamente un trigger. Per altre informazioni, vedere Concetti relativi a trigger e associazioni in Funzioni di Azure.

Pubblicare in Azure

  1. Fare clic con il pulsante destro del mouse sul nome del progetto e scegliere Pubblica > in Azure: Context menu with Publish > Publish to Azure... option highlighted

  2. Se l'account di Azure è già stato connesso a Visual Studio per Mac, viene visualizzato un elenco dei servizi app disponibili. Se non è stato ancora effettuato l'accesso, verrà richiesto di farlo.

  3. Nella finestra di dialogo Pubblica in Servizi app di Azure è possibile selezionare un servizio app esistente o crearne uno nuovo facendo clic Nuovo.

  4. Nella finestra di dialogo Crea nuovo servizio app immettere le impostazioni:New App Service dialog, with fields for service name, subscription, resource group, and service plan settings.

    Impostazione Descrizione
    Nome del servizio app Nome globalmente univoco che identifica la nuova app per le funzioni.
    Abbonamento Sottoscrizione di Azure da usare.
    Gruppo di risorse Nome del gruppo di risorse in cui creare l'app per le funzioni. Scegliere + per creare un nuovo gruppo di risorse.
    Piano di servizio Scegliere un piano esistente o creare un piano personalizzato. Scegliere una località in un'area nelle vicinanze o vicino ad altri servizi a cui accedono le funzioni.
  5. Fare clic su Avanti per creare un account di archiviazione. Per il runtime di Funzioni è richiesto un account di archiviazione di Azure. Fare clic su Personalizzato per creare un account di archiviazione per utilizzo generico oppure usarne uno esistente:

    New App Service dialog with prompt for storage account name.

  6. Fare clic su Crea per creare un'app per le funzioni e le relative risorse in Azure con queste impostazioni e distribuire il codice di progetto della funzione.

  7. È possibile che venga visualizzata una finestra di dialogo durante la pubblicazione per informare l'utente su "Aggiornare la versione di Funzioni in Azure". Fare clic su :

    Prompt asking to

Impostazioni dell'app per le funzioni

Le impostazioni aggiunte nel file local.settings.json devono essere aggiunte anche all'app per le funzioni in Azure. Queste impostazioni non vengono caricate automaticamente quando si pubblica il progetto.

Per accedere alle impostazioni dell'app, passare al portale di Azure all'indirizzo https://ms.portal.azure.com/. In App per le funzioni selezionare App per le funzioni ed evidenziare il nome della funzione:

Azure Functions menu

Nella scheda Panoramica selezionare Impostazioni applicazione in Funzionalità configurate:

Over tab of Azure function

Da qui è possibile impostare le impostazioni dell'applicazione per l'app per le funzioni ed è possibile aggiungere nuove impostazioni o modificare quelle esistenti:

application settings area of Azure portal

Un'impostazione importante che potrebbe essere necessario impostare è FUNCTIONS_EXTENSION_VERSION. Durante la pubblicazione da Visual Studio per Mac, questo valore deve essere impostato su beta.

Modelli di funzioni disponibili

  • Trigger GitHub: risponde a eventi che si verificano nei repository GitHub. Per altre informazioni, vedere l'articolo di Funzioni di Azure su GitHub

    • Commenter GitHub: funzione che viene eseguita e aggiunge un commento ogni volta che viene ricevuto un webhook GitHub per un problema o una richiesta pull.
    • WebHook GitHub: funzione che viene eseguita ogni volta che viene ricevuto un webhook GitHub.
  • HTTP: attivare l'esecuzione del codice usando una richiesta HTTP. Sono disponibili modelli espliciti per i seguenti trigger HTTP:

    • Trigger HTTP
    • CREAZIONE, aggiornamento, lettura ed eliminazione HTTP GET (CRUD)
    • HTTP POST CRUD
    • Trigger HTTP con parametri
  • Timer: consente di eseguire attività di pulizia o altre attività batch in una pianificazione predefinita. Questo modello supporta due campi: un nome e una pianificazione, ovvero un'espressione CRON a sei campi. Per altre informazioni, vedere l'articolo Funzioni di Azure sull'ora

  • Trigger coda: funzione che risponderà ai messaggi quando arrivano nella coda di Azure Archiviazione. Oltre al nome della funzione, questo modello accetta una proprietà Path (nome della coda dalla quale verrà letto il messaggio) e una proprietà Connection dell'account di archiviazione (nome dell'impostazione dell'app che contiene la stringa di connessione dell'account di archiviazione). Per altre informazioni, vedere l'articolo Funzioni di Azure su Queue Archiviazione.

  • Trigger BLOB: elabora i BLOB di Archiviazione di Azure quando vengono aggiunti a un contenitore. Oltre al nome della funzione, questo modello accetta proprietà Path e Connection. La proprietà Path è il percorso dell'account di archiviazione che verrà monitorato dal trigger. L'account di connessione è il nome dell'impostazione dell'app contenente la stringa di connessione dell'account di archiviazione. Per altre informazioni, vedere l'articolo Archiviazione Funzioni di Azure BLOB.

  • WebHook generico: funzione semplice che viene eseguita ogni volta che riceve una richiesta da un servizio che supporta i webhook. Per altre informazioni, vedere l'articolo Funzioni di Azure sui webhook generici.

  • Orchestrazione di funzioni durevoli: le funzioni durevoli consentono di scrivere funzioni con stato in un ambiente serverless. L'estensione gestisce automaticamente lo stato, i checkpoint e i riavvii. Per altre informazioni, vedere le guide sulle funzioni durevoli.

  • Image Resizer: questa funzione crea immagini ridimensionate ogni volta che un BLOB viene aggiunto a un contenitore. Il modello accetta un percorso e una stringa di connessione per il trigger, un output immagine di piccole dimensioni e un output immagine di medie dimensioni.

  • Token SAS: funzione che genera un token di firma di accesso condiviso per un nome BLOB e un contenitore di archiviazione di Azure specificato. Oltre al nome della funzione, questo modello accetta proprietà Path e Connection. La proprietà Path è il percorso dell'account di archiviazione che verrà monitorato dal trigger. L'account di connessione è il nome dell'impostazione dell'app contenente la stringa di connessione dell'account di archiviazione. È necessario impostare anche i diritti di accesso. Il livello di autorizzazione controlla se la funzione richiede una chiave API e quale chiave usare; La funzione usa una chiave di funzione; Amministrazione usa la chiave di accesso dell'account. Per altre informazioni, vedere l'esempio di funzione di Azure C# per la generazione di token di firma di accesso condiviso.