Condividi tramite


Guida introduttiva: Creare un'applicazione C# Durable Functions

Usare Durable Functions, una funzionalità di Azure Functions, per scrivere funzioni con stato in un ambiente serverless. Durable Functions gestisce lo stato, i checkpoint e i riavvii nell'applicazione.

Come Azure Functions, Durable Functions supporta due modelli di processo per le funzioni della libreria di classi .NET. Per altre informazioni sui due processi, vedere Difference tra processi in-process e processi di lavoro isolati .NET Azure Functions.

In questo avvio rapido, utilizzerai Visual Studio Code per creare e testare localmente un'app Durable Functions "hello world". Questa funzione orchestra e concatena le chiamate ad altre funzioni. Si pubblica quindi il codice della funzione in Azure. Gli strumenti usati sono disponibili tramite l'estensione Visual Studio Code Azure Functions.

Screenshot che mostra il codice dell'app di Durable Functions in Visual Studio Code.

Prerequisiti

Per completare l'esercitazione introduttiva, sono necessari gli elementi seguenti:

Se non si ha un account Azure, creare un account free prima di iniziare.

Creare un progetto di Azure Functions

In Visual Studio Code creare un progetto di Azure Functions locale.

  1. Nel menu Visualizza selezionare il riquadro comandi (o selezionare CTRL+MAIUSC+P).

  2. Al prompt (>), immettere e quindi selezionare Azure Functions: Create New Project.

    Screenshot che mostra il comando per creare un progetto di Funzioni.

  3. Seleziona Sfoglia. Nella finestra di dialogo Seleziona cartella passare alla cartella da usare per il progetto, quindi scegliere Seleziona.

  4. Ai prompt selezionare o immettere i valori seguenti:

    Prompt Azione Descrizione
    Selezionare un linguaggio per il progetto di app per le funzioni Selezionare C#. Creare un progetto Funzioni in C# in locale.
    Selezionare una versione Selezionare Azure Functions v4. Questa opzione è visualizzata solo quando Core Tools non è già installato. In questo caso, Core Tools viene installato la prima volta che si esegue l'app.
    Selezionare un runtime di .NET Selezionare .NET 8.0 isolato. Crea un progetto di Funzioni che supporta .NET 8 in esecuzione in un processo di lavoro isolato e il runtime di Azure Functions 4.0. Per ulteriori informazioni, vedere Come indirizzare la versione runtime di Azure Functions.
    Selezionare un modello per la prima funzione del progetto Selezionare Durable Functions Orchestration. Crea un'orchestrazione di Durable Functions.
    Scegliere un tipo di archiviazione durevole Selezionare Azure Storage. Provider di archiviazione predefinito per Durable Functions. Per altre informazioni, vedere provider di archiviazione per Durable Functions.
    Specificare un nome di funzione Immettere HelloOrchestration. Nome della funzione di orchestrazione.
    Specificare uno spazio dei nomi Immettere Company.Function. Spazio dei nomi per la classe generata.
    Selezionare come si vuole aprire il progetto Selezionare Apri nella finestra corrente. Apre Visual Studio Code nella cartella selezionata.

Visual Studio Code installa Azure Functions Core Tools se necessario per creare il progetto. Crea inoltre un progetto di app per le funzioni in una cartella. Questo progetto contiene i file di configurazione host.json e local.settings.json.

Un altro file, HelloOrchestration.cs, contiene i blocchi predefiniti di base di un'app Durable Functions:

Metodo Descrizione
HelloOrchestration Definisce l'orchestrazione dell'applicazione Durable Functions. In questo caso, l'orchestrazione viene avviata, crea un elenco e quindi aggiunge il risultato di tre chiamate di funzione all'elenco. Al termine delle tre chiamate di funzione, viene restituito l'elenco.
SayHello Un'app per le funzioni semplice che restituisce hello. Questa funzione contiene la logica di business orchestrata.
HelloOrchestration_HttpStart Una funzione attivata da HTTP che avvia un'istanza dell'orchestrazione e restituisce una risposta di controllo dello stato.

Per altre informazioni su queste funzioni, vedere Durable Functions tipi e caratteristiche.

Configurare l'archiviazione

È possibile usare Azurite, un emulatore per Azure Storage, per testare la funzione in locale. In local.settings.jsonimpostare il valore per AzureWebJobsStorage su UseDevelopmentStorage=true come nell'esempio seguente:

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated"
  }
}

Per installare e avviare l'esecuzione dell'estensione Azurite in Visual Studio Code, nel riquadro comandi immettere Azurite: Start e selezionare INVIO.

È possibile usare altre opzioni di archiviazione per l'app Durable Functions. Per ulteriori informazioni sulle opzioni di archiviazione e sui vantaggi, vedere provider di archiviazione Durable Functions.

Testare la funzione in locale

Azure Functions Core Tools offre la possibilità di eseguire un progetto Azure Functions nel computer di sviluppo locale. Viene richiesto di installare questi strumenti la prima volta che si avvia una funzione in Visual Studio Code.

  1. In Visual Studio Code impostare un punto di interruzione nel codice della funzione attività SayHello e quindi selezionare F5 per avviare il progetto dell'app per le funzioni. Il pannello Terminale visualizza l'output restituito da Core Tools.

    Note

    Per altre informazioni sul debug, vedere Durable Functions diagnostics.

    Se viene visualizzato il messaggio No funzioni di processo trovate, aggiornare l'installazione di Azure Functions Core Tools alla versione più recente.

  2. Nel pannello Terminale copiare l'endpoint dell'URL della funzione attivata da HTTP.

    Screenshot della finestra di output locale Azure.

  3. Usare uno strumento di test HTTP per inviare una richiesta HTTP POST all'endpoint URL.

    La risposta è il risultato iniziale della funzione HTTP. Ti consente di sapere che l'orchestrazione dell'app Durable Functions è stata avviata correttamente. Non visualizza ancora il risultato finale dell'orchestrazione. La risposta include alcuni URL utili.

    A questo punto, è necessario che venga raggiunto il punto di interruzione nella funzione dell'attività perché l’orchestrazione possa avviarsi. Eseguire le operazioni richieste per ottenere una risposta sullo stato dell'orchestrazione.

  4. Copiare il valore dell'URL per statusQueryGetUri, incollarlo nella barra degli indirizzi del browser ed eseguire la richiesta. In alternativa, è anche possibile continuare a usare lo strumento di test HTTP per inviare la richiesta GET.

    La richiesta esegue una query per determinare lo stato dell'istanza di orchestrazione. Si noterà che l'istanza è stata completata e che include gli output o i risultati dell'app Durable Functions come nell'esempio seguente:

    {
        "name":"HelloCities",
        "instanceId":"7f99f9474a6641438e5c7169b7ecb3f2",
        "runtimeStatus":"Completed",
        "input":null,
        "customStatus":null,
        "output":"Hello, Tokyo! Hello, London! Hello, Seattle!",
        "createdTime":"2023-01-31T18:48:49Z",
        "lastUpdatedTime":"2023-01-31T18:48:56Z"
    }
    

    Suggerimento

    Informazioni su come osservare il comportamento replay di un'app Durable Functions tramite punti di interruzione.

  5. Per arrestare il debug, in Visual Studio Code selezionare MAIUSC+F5.

Dopo aver verificato che la funzione venga eseguita correttamente nel computer locale, è possibile pubblicare il progetto in Azure.

Accedere a Azure

Prima di poter creare Azure risorse o pubblicare l'app, è necessario accedere a Azure.

  1. Se non hai già effettuato l'accesso, nella barra delle attività, seleziona l'icona di Azure. In Risorse selezionare Accedere a Azure.

    Screenshot della finestra di accesso ad Azure in Visual Studio Code.

    Se si è già connessi e si possono visualizzare le sottoscrizioni esistenti, passare alla sezione successiva. Se non si ha ancora un account Azure, selezionare Crea un account Azure. Gli studenti possono selezionare Creare un account Azure per studenti.

  2. Quando viene richiesto nel browser, selezionare l'account Azure e accedere usando le credenziali dell'account Azure. Se si crea un nuovo account, è possibile accedere dopo la creazione dell'account.

  3. Dopo avere eseguito l'accesso, è possibile chiudere la nuova finestra del browser. Le sottoscrizioni che appartengono all'account Azure vengono visualizzate nella barra laterale.

Creare l'app per le funzioni in Azure

In questa sezione viene creata un'app per le funzioni nel piano Flex Consumption insieme alle risorse correlate nella sottoscrizione Azure. Molte delle decisioni di creazione delle risorse vengono prese in base ai comportamenti predefiniti. Per un maggiore controllo sulle risorse create, è invece necessario creare l'app per le funzioni con opzioni avanzate.

  1. In Visual Studio Code selezionare F1 per aprire il riquadro comandi. Al prompt (>), immettere e quindi selezionare Azure Functions: Create Function App in Azure.

  2. Ai prompt, immettere le informazioni seguenti:

    Prompt Azione
    Selezionare la sottoscrizione Selezionare la sottoscrizione Azure da usare. Il prompt non è visualizzato quando è visibile una sola sottoscrizione in Risorse.
    Immettere un nuovo nome dell'app per le funzioni Immettere un nome univoco globale valido in un percorso URL. Il nome immesso viene convalidato per assicurarsi che sia univoco in Azure Functions.
    Selezionare una località per le nuove risorse Selezionare un'area Azure. Per prestazioni ottimali, scegliere un'area vicina. Vengono visualizzate solo le aree supportate dai piani Flex Consumption.
    Selezionare uno stack di esecuzione Selezionare la versione della lingua attualmente eseguita in locale.
    Selezionare il tipo di autenticazione della risorsa Selezionare Identità gestita, che rappresenta l'opzione più sicura per la connessione all'account di archiviazione host predefinito.

    Nel pannello Azure: Activity Log, l'estensione di Azure mostra lo stato delle singole risorse man mano che vengono create in Azure.

    Screenshot che mostra il log della creazione di risorse Azure.

  3. Quando viene creata l'app per le funzioni, nella sottoscrizione di Azure vengono create le risorse correlate seguenti. Le risorse vengono denominate in base al nome immesso per l'app per le funzioni.

    • Un gruppo di risorse, ovvero un contenitore logico di risorse correlate.
    • Un'app per le funzioni, che fornisce l'ambiente per l'esecuzione del codice della funzione. 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 all'interno dello stesso piano di hosting.
    • Un piano Azure App Service, che definisce l'host sottostante per l'applicazione di funzioni.
    • Un account standard Azure Storage, usato dall'host delle funzioni per mantenere lo stato e altre informazioni sull'applicazione di funzioni.
    • Istanza di Application Insights connessa all'app per le funzioni e che tiene traccia dell'uso delle funzioni nell'app.
    • Identità gestita assegnata dall'utente aggiunta al ruolo Collaboratore dati BLOB di archiviazione nel nuovo account di archiviazione dell'host predefinito.

    Dopo la creazione dell'app per le funzioni e dopo l'applicazione del pacchetto di distribuzione viene visualizzata una notifica.

    Suggerimento

    Per impostazione predefinita, le risorse Azure richieste dall'app per le funzioni vengono create in base al nome immesso per l'app per le funzioni. Per impostazione predefinita, le risorse vengono create con l'app per le funzioni nello stesso gruppo di risorse. Per personalizzare i nomi delle risorse associate o riutilizzare le risorse esistenti, pubblicare il progetto con le opzioni di creazione avanzate.

Distribuire il progetto in Azure

Importante

La distribuzione in un'applicazione di funzione esistente sovrascriverà sempre il contenuto di tale app in Azure.

  1. Nel riquadro comandi immettere e quindi selezionare Azure Functions: Deploy to Function App.

  2. Selezionare l'app per le funzioni appena creata. Quando viene richiesto di sovrascrivere le distribuzioni precedenti, selezionare Distribuisci per distribuire il codice della funzione nella nuova risorsa dell'app per le funzioni.

  3. Al termine della distribuzione, selezionare Visualizzare l'output per visualizzare i risultati della creazione e della distribuzione, incluse le risorse Azure create. Se non si riesce a visualizzare la notifica, selezionare l'icona della campana nell'angolo in basso a destra per visualizzarla di nuovo.

    Screenshot della finestra Visualizza output.

Testare la funzione in Azure

  1. Nel pannello di output Visual Studio Code copiare l'URL del trigger HTTP. Il formato dell'URL che chiama la funzione attivata da HTTP sarà simile al seguente:

    https://<function-app-name>.azurewebsites.net/api/HelloOrchestration_HttpStart

  2. Incollare il nuovo URL per la richiesta HTTP nella barra degli indirizzi del browser. La risposta sullo stato deve essere uguale a quella ottenuta durante il test in locale, quando si usa l'app pubblicata.

L'app C# Durable Functions creata e pubblicata con Visual Studio Code è pronta per l'uso.

Pulire le risorse

Se non sono più necessarie le risorse create per completare la guida introduttiva, per evitare i costi correlati nella sottoscrizione Azure, delete il gruppo di risorse e tutte le risorse correlate.

In questa guida introduttiva utilizzerai Visual Studio 2022 per creare e testare localmente un'app "hello world" Durable Functions. La funzione orchestra e concatena le chiamate ad altre funzioni. Si pubblica quindi il codice della funzione in Azure. Gli strumenti usati sono disponibili tramite il carico di lavoro di sviluppo Azure in Visual Studio 2022.

Screenshot del codice dell'app Durable Functions in Visual Studio 2019.

Prerequisiti

Per completare l'esercitazione introduttiva, sono necessari gli elementi seguenti:

  • Visual Studio 2022 installato.

    Assicurarsi che sia installato anche il workload Azure development. Visual Studio 2019 supporta anche lo sviluppo di Durable Functions, ma l'interfaccia utente e i passaggi sono diversi.

  • Emulatore Azurite installato ed in esecuzione.

Se non si ha un account Azure, creare un account free prima di iniziare.

Creare un progetto di app per le funzioni

Il modello di Azure Functions crea un progetto 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 in modo da gestire, distribuire, ridimensionare e condividere più facilmente le risorse.

  1. Nel menu Visual Studio File selezionare New>Project.

  2. In Creare un nuovo progetto cercare functions, selezionare il modello Azure Functions e quindi selezionare Next.

    Screenshot della finestra di dialogo Nuovo progetto in Visual Studio.

  3. In Nome del progetto immettere un nome per il progetto e quindi selezionare OK. Il nome del progetto deve essere uno spazio dei nomi C# valido, quindi non è possibile usare caratteri di sottolineatura, trattini o altri caratteri non alfanumerici.

  4. In Altre informazioniusare le impostazioni descritte nella tabella successiva.

    Screenshot della finestra di dialogo Crea una nuova applicazione Azure Functions in Visual Studio.

    Impostazione Azione Descrizione
    Funzioni ruolo di lavoro Selezionare .NET 8 Isolato (Supporto a lungo termine). Crea un progetto di Azure Functions che supporta .NET 8 in esecuzione in un processo di lavoro isolato e Azure Functions Runtime 4.0. Per altre informazioni, vedere Come impostare come destinazione la versione di runtime Azure Functions.
    Funzione Immettere Durable Functions Orchestration. Crea un'orchestrazione di Durable Functions.

    Note

    Se .NET 8 Isolated (Long Term Support) non viene visualizzato nel menu di lavoro Functions, è possibile che non siano presenti i set di strumenti e i modelli di Azure Functions più recenti. Passare a Strumenti>Opzioni>Progetti e Soluzioni>Azure Functions>Verifica la presenza di aggiornamenti per scaricare l'ultima versione.

  5. Per usare l'emulatore Azurite, assicurarsi che sia selezionata la casella di controllo Usa Azurite per l'account di archiviazione di runtime (AzureWebJobStorage). Per creare un progetto di Funzioni usando un modello di orchestrazione Durable Functions, selezionare Crea. Questo progetto contiene i file di configurazione di base necessari per eseguire le funzioni.

    Note

    È possibile scegliere altre opzioni di archiviazione per l'app Durable Functions. Per altre informazioni, vedere provider di archiviazione per Durable Functions.

Nella cartella dell'app un file denominato Function1.cs contiene tre funzioni. Le tre funzioni sono i blocchi predefiniti di base di un'app Durable Functions:

Metodo Descrizione
RunOrchestrator Definisce l'orchestrazione dell'applicazione Durable Functions. In questo caso, l'orchestrazione viene avviata, crea un elenco e quindi aggiunge il risultato di tre chiamate di funzione all'elenco. Al termine delle tre chiamate di funzione, viene restituito l'elenco.
SayHello Un'app per le funzioni semplice che restituisce hello. Questa funzione contiene la logica di business orchestrata.
HttpStart Una funzione attivata da HTTP che avvia un'istanza dell'orchestrazione e restituisce una risposta di controllo dello stato.

Per altre informazioni su queste funzioni, vedere Durable Functions tipi e caratteristiche.

Testare la funzione in locale

Azure Functions Core Tools offre la possibilità di eseguire un progetto Azure Functions nel computer di sviluppo locale. Viene richiesto di installare questi strumenti la prima volta che si avvia una funzione in Visual Studio Code.

  1. In Visual Studio Code impostare un punto di interruzione nel codice della funzione attività SayHello e quindi selezionare F5. Se richiesto, accetta la richiesta da parte di Visual Studio per scaricare e installare Azure Functions Core (strumenti di riga di comando). Potrebbe essere necessario anche abilitare un'eccezione del firewall per consentire agli strumenti di gestire le richieste HTTP.

    Note

    Per altre informazioni sul debug, vedere Durable Functions diagnostics.

  2. Copiare l'URL della funzione dall'output del runtime di Azure Functions.

    Screenshot del runtime locale di Azure.

  3. Incollare l'URL per la richiesta HTTP nella barra degli indirizzi del browser ed eseguire la richiesta. Lo screenshot seguente mostra la risposta alla richiesta GET restituita dalla funzione al browser:

    Screenshot che mostra una finestra del browser con la voce statusQueryGetUri evidenziata.

    La risposta è il risultato iniziale della funzione HTTP. Informa che l'orchestrazione durevole è stata avviata correttamente. Non visualizza ancora il risultato finale dell'orchestrazione. La risposta include alcuni URL utili.

    A questo punto, è necessario che venga raggiunto il punto di interruzione nella funzione dell'attività perché l’orchestrazione possa avviarsi. Eseguire le operazioni richieste per ottenere una risposta sullo stato dell'orchestrazione.

  4. Copiare il valore dell'URL per statusQueryGetUri, incollarlo nella barra degli indirizzi del browser ed eseguire la richiesta.

    La richiesta esegue una query per determinare lo stato dell'istanza di orchestrazione. Si noterà che l'istanza è stata completata e che include gli output o i risultati della funzione durevole, come in questo esempio:

    {
        "name":"HelloCities",
        "instanceId":"668814ac6ce84a43a9e6757f81dbc0bc",
        "runtimeStatus":"Completed",
        "input":null,
        "customStatus":null,
        "output":"Hello, Tokyo! Hello, London! Hello Seattle!",
        "createdTime":"2023-01-31T16:44:34Z",
        "lastUpdatedTime":"2023-01-31T16:44:37Z"
    }
    

    Suggerimento

    Informazioni su come osservare il comportamento replay di un'app Durable Functions tramite punti di interruzione.

  5. Per arrestare il debug, selezionare MAIUSC+F5.

Dopo aver verificato che la funzione venga eseguita correttamente nel computer locale, è possibile pubblicare il progetto in Azure.

Pubblicare il progetto in Azure

È necessario disporre di un'app per le funzioni nella sottoscrizione Azure prima di pubblicare il progetto. È possibile creare un'app per le funzioni in Visual Studio.

  1. In Solution Explorer fare clic con il pulsante destro del mouse sul progetto e quindi scegliere Publish.

  2. Nella pagina Pubblica effettuare le selezioni seguenti:

    • In Target selezionare Azure e quindi selezionare Next.
    • In Specific target selezionare Azure App per le funzioni e quindi selezionare Next.
    • Nell'istanza di Funzioni selezionare Crea nuovo.

    Screenshot della pagina Pubblica. Nella sezione Istanza di Funzioni è visibile un gruppo di risorse ed è evidenziato Crea Nuovo.

  3. Creare una nuova istanza usando i valori specificati nella tabella seguente:

    Impostazione valore Descrizione
    Nome Nome globalmente univoco Il nome deve identificare in modo univoco la nuova app per le funzioni. Accettare il nome suggerito o immettere un nuovo nome. I caratteri seguenti sono validi: a-z, 0-9e -.
    Nome della sottoscrizione Nome della sottoscrizione L'applicazione di funzioni viene creata in un abbonamento Azure. Accettare la sottoscrizione predefinita o selezionare una sottoscrizione diversa dall'elenco.
    Gruppo di risorse Nome del gruppo di risorse L'app per le funzioni viene creata in un gruppo di risorse. Selezionare Nuovo per creare un nuovo gruppo di risorse. È anche possibile selezionare un gruppo di risorse esistente dall'elenco.
    Tipo di piano Flex Consumption Quando si pubblica il progetto in un'app per le funzioni eseguita in un piano a consumo Flex, è possibile pagare solo per le esecuzioni dell'app per le funzioni. Altri piani di hosting possono comportare costi più elevati.
    IMPORTANTE:
    Quando si crea un piano a Consumo Flessibile, è prima necessario selezionare Piano di servizio app e quindi riselezionare Consumo Flessibile per risolvere un problema con la finestra di dialogo.
    Sistema operativo Linux Il piano Flex Consumption richiede attualmente Linux.
    Ubicazione Posizione del servizio app Selezionare una località in un'area Azure supportata dal piano Flex Consumption. Quando viene selezionata un'area non supportata, il pulsante Crea è disattivato.
    Dimensioni della memoria dell'istanza 2048 Le dimensioni di memoria delle istanze della macchina virtuale in cui viene eseguita l'app sono univoci per il piano Flex Consumption.
    Azure Storage Un account di archiviazione per utilizzo generico Il runtime di Funzioni richiede un account di archiviazione. Selezionare Nuovo per configurare un account di archiviazione per utilizzo generico. È anche possibile usare un account esistente che soddisfi i requisiti dell'account di archiviazione.
    Application Insights Un'istanza di Application Insights È consigliabile attivare l'integrazione di Application Insights per l'app per le funzioni. Selezionare Nuovo per creare una nuova istanza, in un'area di lavoro nuova o esistente Log Analytics. È anche possibile usare un'istanza esistente.

    Screenshot della nuova finestra di dialogo Crea app per le funzioni. I campi per il nome, la sottoscrizione, il gruppo di risorse, il piano e altre impostazioni sono compilati.

  4. 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.

  5. Selezionare Fine. Verrà visualizzata la finestra Stato di avanzamento della creazione del profilo di pubblicazione. Al termine della creazione del profilo, selezionare Chiudi.

  6. Nella pagina del profilo di pubblicazione selezionare Pubblicazione per distribuire il pacchetto che contiene 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 pagina del profilo di pubblicazione.

  7. Nella pagina del profilo di pubblicazione passare alla sezione Hosting . Seleziona i puntini di sospensione (...) e quindi seleziona Apri nel portale di Azure. La nuova risorsa Azure'app per le funzioni viene aperta nel portale di Azure.

    Screenshot della pagina del profilo di pubblicazione. Nella sezione Hosting il menu a tre puntini è aperto e Apri nel portale di Azure è evidenziato.

Testare la funzione in Azure

  1. Nella pagina Profilo di pubblicazione copiare l'URL di base dell'app per le funzioni. Sostituire la parte localhost:port dell'URL usato durante il test della funzione in locale con il nuovo URL di base.

    L'URL che chiama il trigger HTTP della funzione durevole deve avere il formato seguente:

    https://<APP_NAME>.azurewebsites.net/api/<FUNCTION_NAME>_HttpStart

  2. Incollare il nuovo URL per la richiesta HTTP nella barra degli indirizzi del browser. Quando si usa l'app pubblicata, la risposta sullo stato deve essere uguale a quella ottenuta durante il test in locale.

L'app C# Durable Functions creata e pubblicata con Visual Studio è pronta per l'uso.

Pulire le risorse

Se non sono più necessarie le risorse create per completare la guida introduttiva, per evitare i costi correlati nella sottoscrizione Azure, delete il gruppo di risorse e tutte le risorse correlate.