Share via


Esercitazione: Creare un grafo di Gemelli digitali di Azure usando l'interfaccia della riga di comando di Azure

In questa esercitazione si creerà un grafo in Gemelli digitali di Azure usando modelli, gemelli e relazioni. Lo strumento per questa esercitazione è il set di comandi di Gemelli digitali di Azure per l'interfaccia della riga di comando di Azure.

È possibile usare i comandi dell'interfaccia della riga di comando per eseguire azioni essenziali di Gemelli digitali di Azure, ad esempio il caricamento di modelli, la creazione e la modifica di gemelli e la creazione di relazioni. È anche possibile esaminare la documentazione di riferimento per az dt command set per visualizzare il set completo di comandi dell'interfaccia della riga di comando.

In questa esercitazione si apprenderà come:

  • Modellare un ambiente
  • Creare i gemelli digitali
  • Aggiungere relazioni per formare un grafo
  • Eseguire una query sul grafico per rispondere alle domande

Prerequisiti

Per completare i passaggi di questa esercitazione, è necessario prima completare i prerequisiti seguenti.

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

Scaricare i modelli di esempio

L'esercitazione usa due modelli pre-scritti che fanno parte del progetto di esempio end-to-end C# per Gemelli digitali di Azure. I file del modello si trovano qui:

Per ottenere i file nel computer, usare i collegamenti di spostamento precedenti e copiare i corpi dei file nei file locali nel computer con gli stessi nomi (Room.json e Floor.json).

Preparare l'ambiente per l'interfaccia della riga di comando di Azure

Configurare la sessione dell'interfaccia della riga di comando

Per iniziare a usare Gemelli digitali di Azure nell'interfaccia della riga di comando, è prima di tutto necessario accedere e impostare il contesto dell'interfaccia della riga di comando sulla sottoscrizione per questa sessione. Eseguire questi comandi nella finestra dell'interfaccia della riga di comando:

az login
az account set --subscription "<your-Azure-subscription-ID>"

Suggerimento

Nel comando riportato sopra si può anche usare il nome della sottoscrizione invece dell'ID.

Se è la prima volta che si usa questa sottoscrizione con Gemelli digitali di Azure, eseguire questo comando per registrarsi con lo spazio dei nomi di Gemelli digitali di Azure. In caso di dubbi, è possibile eseguirlo di nuovo anche se è stato già completato nel passato.

az provider register --namespace 'Microsoft.DigitalTwins'

Si aggiungerà quindi l'estensione Microsoft Azure IoT per l'interfaccia della riga di comando di Azure per abilitare i comandi per interagire con Gemelli digitali di Azure e altri servizi IoT. Eseguire questo comando per assicurarsi di avere la versione più recente dell'estensione:

az extension add --upgrade --name azure-iot

A questo momento è possibile usare Gemelli digitali di Azure nell'interfaccia della riga di comando di Azure.

Per verificarlo, è possibile eseguire az dt --help in qualsiasi momento per visualizzare un elenco dei comandi di Gemelli digitali di Azure di primo livello disponibili.

Preparare un'istanza di Gemelli digitali di Azure

Per usare Gemelli digitali di Azure come descritto in questo articolo, è necessario prima configurare un'istanza di Gemelli digitali di Azure e le autorizzazioni necessarie. Se in precedenza è stata già configurata un'istanza di Gemelli digitali di Azure, è possibile usare tale istanza.

In caso contrario, seguire le istruzioni riportate in Configurare un'istanza e l'autenticazione. Le istruzioni contengono anche le operazioni da eseguire per verificare che ogni passaggio sia stato completato correttamente e sia quindi possibile passare all'uso della nuova istanza.

Dopo aver configurato l'istanza di Gemelli digitali di Azure, prendere nota dei valori seguenti che saranno necessari per connettersi all'istanza in un secondo momento:

  • Nome host dell'istanza
  • Sottoscrizione di Azure usata per creare l'istanza

Suggerimento

Se si conosce il nome descrittivo dell'istanza, è possibile usare il comando dell'interfaccia della riga di comando seguente per ottenere il nome host e i valori della sottoscrizione:

az dt show --dt-name <Azure-Digital-Twins-instance-name>

Verranno visualizzati nell'output simile al seguente: Screenshot of Cloud Shell browser window showing the output of the az dt show command. The hostName field and subscription ID are highlighted.

Modellare un ambiente fisico con DTDL

Ora che l'interfaccia della riga di comando e l'istanza di Gemelli digitali di Azure sono configurate, è possibile iniziare a creare un grafico di uno scenario.

Il primo passaggio per la creazione di una soluzione di Gemelli digitali di Azure consiste nel definire i modelli gemelli per l'ambiente.

I modelli sono simili alle classi nei linguaggi di programmazione orientati a oggetti. Forniscono modelli definiti dall'utente per i gemelli digitali da seguire e di cui creare istanze in seguito. Vengono scritti in un linguaggio simile a JSON denominato DTDL (Digital Twins Definition Language) e possono definire le proprietà, le relazioni e i componenti di un gemello.

Nota

DTDL consente anche di definire comandi nei gemelli digitali. Tuttavia, i comandi non sono attualmente supportati nel servizio Gemelli digitali di Azure.

Passare al file Room.json creato nella sezione Prerequisiti . Aprirlo in un editor di codice e modificarlo nei modi seguenti:

  1. Aggiornare il numero di versione per indicare che si specifica una versione più aggiornata di questo modello. A tale scopo, sostituire 1 alla fine del valore @id con 2. È anche possibile inserire qualsiasi numero maggiore del numero di versione corrente.

  2. Modificare una proprietà. Modificare il nome della Humidity proprietà in HumidityLevel (o qualcosa di diverso se si desidera. Se si usa qualcosa di diverso da HumidityLevel, tenere presente ciò che è stato usato e continuare a usarlo invece di HumidityLevel durante l'esercitazione.

  3. Aggiungere una proprietà. Sotto la proprietà HumidityLevel che termina alla riga 15 incollare il codice seguente per aggiungere una proprietà RoomName alla stanza:

    ,{
      "@type": "Property",
      "name": "RoomName",
      "schema": "string"
    }
    
  4. Aggiungere una relazione. Sotto la RoomName proprietà appena aggiunta, incollare il codice seguente per aggiungere la possibilità per questo tipo di gemello di formare contains relazioni con altri gemelli:

    ,{
      "@type": "Relationship",
      "name": "contains"
    }
    

Al termine, il modello aggiornato sarà simile al seguente:

{
    "@id": "dtmi:example:Room;2",
    "@type": "Interface",
    "displayName": "Room",
    "contents": [
      {
        "@type": "Property",
        "name": "Temperature",
        "schema": "double"
      },
      {
        "@type": "Property",
        "name": "HumidityLevel",
        "schema": "double"
      }
      ,{
        "@type": "Property",
        "name": "RoomName",
        "schema": "string"
      }
      ,{
        "@type": "Relationship",
        "name": "contains"
      }
    ],
    "@context": "dtmi:dtdl:context;3"
  }

Assicurarsi di salvare il file prima di procedere.

Caricare modelli in Gemelli digitali di Azure

Dopo aver progettato i modelli, è necessario caricarli nell'istanza di Gemelli digitali di Azure. In questo modo viene configurata l'istanza del servizio Gemelli digitali di Azure con un vocabolario di dominio personalizzato. Dopo aver caricato i modelli, è possibile creare istanze di gemelli che le usano.

  1. Se si usa un'installazione locale dell'interfaccia della riga di comando di Azure, è possibile ignorare questo passaggio. Se si usa Cloud Shell, sarà necessario caricare i file del modello nella risorsa di archiviazione di Cloud Shell in modo che i file saranno disponibili quando si esegue il comando Cloud Shell che li usa. A tale scopo, selezionare l'icona "Carica/Scarica file" e scegliere "Carica".

    Screenshot of Cloud Shell browser window showing selection of the Upload icon.

    Passare al file Room.json nel computer e selezionare "Apri". Ripetere quindi questo passaggio per Floor.json.

  2. Usare quindi il comando az dt model create come illustrato di seguito per caricare il modello Room aggiornato nell'istanza di Gemelli digitali di Azure. Il secondo comando carica un altro modello, Floor, che verrà usato anche nella sezione successiva per creare diversi tipi di gemelli. Esiste un segnaposto per il nome host dell'istanza (è anche possibile usare il nome descrittivo dell'istanza con un lieve calo delle prestazioni) e un segnaposto per un percorso di ogni file di modello. Se si usa Cloud Shell, Room.json e Floor.json si trovano nella directory di archiviazione principale, quindi è sufficiente usare i nomi di file direttamente nel comando seguente dove è necessario un percorso.

    az dt model create --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --models <path-to-Room.json>
    az dt model create --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --models <path-to-Floor.json>
    

    L'output di ogni comando mostrerà informazioni sul modello caricato correttamente.

    Suggerimento

    È anche possibile caricare tutti i modelli all'interno di una directory contemporaneamente, usando l'opzione --from-directory per il comando di creazione del modello. Per altre informazioni, vedere Parametri facoltativi per az dt model create.

  3. Verificare che i modelli siano stati creati con il comando az dt model list , come illustrato di seguito. In questo modo verrà stampato un elenco di tutti i modelli caricati nell'istanza di Gemelli digitali di Azure con le informazioni complete. Esiste un segnaposto per il nome host dell'istanza(è anche possibile usare il nome descrittivo dell'istanza con un lieve calo delle prestazioni).

    az dt model list --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --definition
    

    Cercare il modello Room modificato nei risultati:

    Screenshot of Cloud Shell showing result of the model list command, which includes the updated Room model.

Errori

L'interfaccia della riga di comando gestisce anche gli errori del servizio.

Eseguire di nuovo il az dt model create comando per provare a ricaricare uno degli stessi modelli caricati, per una seconda volta:

az dt model create --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --models Room.json

Poiché i modelli non possono essere sovrascritti, l'esecuzione di questo comando sullo stesso modello restituirà ora un codice di errore di ModelIdAlreadyExists.

Creare i gemelli digitali

Ora che alcuni modelli sono stati caricati nell'istanza di Gemelli digitali di Azure, è possibile creare i gemelli digitali in base alle definizioni dei modelli. I gemelli digitali rappresentano le entità all'interno dell'ambiente aziendale, ad esempio i sensori di un'azienda agricola, le stanze di un edificio o i fari di un'auto.

Per creare un gemello digitale, usare il comando az dt twin create . È necessario fare riferimento al modello su cui si basa il gemello e facoltativamente definire i valori iniziali per tutte le proprietà nel modello. Non è necessario passare informazioni sulle relazioni in questa fase.

  1. Eseguire questo codice nell'interfaccia della riga di comando per creare diversi gemelli, in base al modello Room aggiornato in precedenza e a un altro modello, Floor. Tenere presente che Room ha tre proprietà, in modo da poter fornire argomenti con i valori iniziali per queste proprietà. L'inizializzazione dei valori delle proprietà è facoltativa in generale, ma sono necessarie per questa esercitazione. Esiste un segnaposto per il nome host dell'istanza(è anche possibile usare il nome descrittivo dell'istanza con un lieve calo delle prestazioni).

    az dt twin create --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --dtmi "dtmi:example:Room;2" --twin-id room0 --properties '{"RoomName":"Room0", "Temperature":70, "HumidityLevel":30}'
    az dt twin create --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --dtmi "dtmi:example:Room;2" --twin-id room1 --properties '{"RoomName":"Room1", "Temperature":80, "HumidityLevel":60}'
    az dt twin create --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --dtmi "dtmi:example:Floor;1" --twin-id floor0
    az dt twin create --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --dtmi "dtmi:example:Floor;1" --twin-id floor1
    

    Nota

    Se si usa qualcosa di diverso da Cloud Shell nell'ambiente Bash, potrebbe essere necessario eseguire l'escape di determinati caratteri nel codice JSON inline in modo che venga analizzato correttamente.

    Per altre informazioni, vedere Usare caratteri speciali in shell diverse.

    L'output di ogni comando mostrerà informazioni sul gemello creato correttamente (incluse le proprietà per i gemelli della stanza inizializzate con loro).

  2. È possibile verificare che i gemelli siano stati creati con il comando az dt twin query , come illustrato di seguito. La query mostrata trova tutti i gemelli digitali nell'istanza di Gemelli digitali di Azure. Esiste un segnaposto per il nome host dell'istanza(è anche possibile usare il nome descrittivo dell'istanza con un lieve calo delle prestazioni).

    az dt twin query --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --query-command "SELECT * FROM DIGITALTWINS"
    

    Cercare i gemelli room0, room1, floor0 e floor1 nei risultati. Ecco un estratto che mostra parte del risultato di questa query.

    Screenshot of Cloud Shell showing partial result of twin query, including room0 and room1.

Nota

Dopo aver apportato una modifica ai dati nel grafico, potrebbe verificarsi una latenza fino a 10 secondi prima che le modifiche vengano riflesse nelle query.

L'API DigitalTwins riflette immediatamente le modifiche, quindi se è necessaria una risposta immediata, usare una richiesta API (DigitalTwins GetById) o una chiamata SDK (GetDigitalTwin) per ottenere dati gemelli anziché una query.

Modificare un gemello digitale

È anche possibile modificare le proprietà di un gemello creato.

  1. Eseguire il comando az dt twin update seguente per modificare roomName di room0 da Room0 a PresidentialSuite. Esiste un segnaposto per il nome host dell'istanza(è anche possibile usare il nome descrittivo dell'istanza con un lieve calo delle prestazioni).

    az dt twin update --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --twin-id room0 --json-patch '{"op":"add", "path":"/RoomName", "value": "PresidentialSuite"}'
    

    Nota

    Per questa esercitazione è consigliabile usare l'interfaccia della riga di comando nell'ambiente Bash. Se si usa l'ambiente PowerShell, potrebbe essere necessario eseguire l'escape delle virgolette affinché il --json-patch valore JSON venga analizzato correttamente.

    L'output di questo comando mostrerà le informazioni correnti del gemello e verrà visualizzato il nuovo valore per nel RoomName risultato.

    Screenshot of Cloud Shell showing result of the update command, which includes a RoomName of PresidentialSuite.

  2. È possibile verificare che l'aggiornamento sia riuscito eseguendo il comando az dt twin show per visualizzare le informazioni di room0. Esiste un segnaposto per il nome host dell'istanza(è anche possibile usare il nome descrittivo dell'istanza con un lieve calo delle prestazioni).

    az dt twin show --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --twin-id room0
    

    L'output dovrebbe riflettere il nome aggiornato.

Creare un grafo con l'aggiunta di relazioni

Successivamente, è possibile creare alcune relazioni tra questi gemelli, per connetterle a un grafo gemello. I grafi dei gemelli vengono usati per rappresentare l'intero ambiente.

I tipi di relazioni che è possibile creare da un gemello a un altro vengono definiti all'interno dei modelli caricati in precedenza. La definizione del modello per Floor specifica che i piani possono avere un tipo di relazione denominata contains. Poiché la definizione del modello specifica questa relazione, è possibile creare una containsrelazione di tipo da ogni gemello Floor alla stanza corrispondente che contiene.

Per aggiungere una relazione, usare il comando az dt twin relationship create . Specificare il gemello da cui proviene la relazione, il tipo di relazione e il gemello a cui si connette la relazione. Infine, assegnare alla relazione un ID univoco. Se una relazione è stata definita per avere proprietà, è possibile inizializzare anche le proprietà della relazione in questo comando.

  1. Eseguire il codice seguente per aggiungere una containsrelazione di tipo da ognuno dei gemelli Floor creati in precedenza al gemello Room corrispondente. Le relazioni sono denominate relationship0 e relationship1. Esiste un segnaposto per il nome host dell'istanza(è anche possibile usare il nome descrittivo dell'istanza con un lieve calo delle prestazioni).

    az dt twin relationship create --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --relationship-id relationship0 --relationship contains --twin-id floor0 --target room0
    az dt twin relationship create --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --relationship-id relationship1 --relationship contains --twin-id floor1 --target room1
    

    Suggerimento

    La contains relazione nel modello Floor è stata definita anche con due proprietà ownershipUser e ownershipDepartment, quindi è anche possibile fornire argomenti con i valori iniziali per questi quando si creano le relazioni. Per creare una relazione con queste proprietà inizializzate, aggiungere l'opzione --properties a uno dei comandi precedenti, come illustrato di seguito:

    ... --properties '{"ownershipUser":"MyUser", "ownershipDepartment":"MyDepartment"}'
    

    L'output di ogni comando mostrerà informazioni sulla relazione creata correttamente.

  2. È possibile verificare le relazioni con uno dei comandi seguenti, che stampano le relazioni nell'istanza di Gemelli digitali di Azure. Ogni comando ha un segnaposto per il nome host dell'istanza(è anche possibile usare il nome descrittivo dell'istanza con un lieve calo delle prestazioni).

    • Per visualizzare tutte le relazioni che escono da ogni piano (visualizzazione delle relazioni da un lato):
      az dt twin relationship list --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --twin-id floor0
      az dt twin relationship list --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --twin-id floor1
      
    • Per visualizzare tutte le relazioni in arrivo in ogni stanza (visualizzazione della relazione dall'altro):
      az dt twin relationship list --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --twin-id room0 --incoming
      az dt twin relationship list --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --twin-id room1 --incoming
      
    • Per cercare queste relazioni singolarmente, in base all'ID:
      az dt twin relationship show --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --twin-id floor0 --relationship-id relationship0
      az dt twin relationship show --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --twin-id floor1 --relationship-id relationship1
      

I gemelli e le relazioni configurati in questa esercitazione formano il grafo concettuale seguente:

A diagram showing a conceptual graph. floor0 is connected via relationship0 to room0, and floor1 is connected via relationship1 to room1.

Eseguire una query sul grafo dei gemelli per rispondere alla domande sull'ambiente

Una delle principali funzionalità di Gemelli digitali di Azure è la possibilità di eseguire query sul grafo dei gemelli in modo semplice ed efficiente per trovare le risposte alle domande sull'ambiente. Nell'interfaccia della riga di comando di Azure l'esecuzione di query viene eseguita con il comando az dt twin query .

Nota

Dopo aver apportato una modifica ai dati nel grafico, potrebbe verificarsi una latenza fino a 10 secondi prima che le modifiche vengano riflesse nelle query.

L'API DigitalTwins riflette immediatamente le modifiche, quindi se è necessaria una risposta immediata, usare una richiesta API (DigitalTwins GetById) o una chiamata SDK (GetDigitalTwin) per ottenere dati gemelli anziché una query.

Eseguire le query seguenti nell'interfaccia della riga di comando per rispondere ad alcune domande sull'ambiente di esempio. Ogni comando ha un segnaposto per il nome host dell'istanza(è anche possibile usare il nome descrittivo dell'istanza con un lieve calo delle prestazioni).

  1. Quali sono tutte le entità dell'ambiente rappresentato in Gemelli digitali di Azure? (query su tutto)

    az dt twin query --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --query-command "SELECT * FROM DIGITALTWINS"
    

    Questa query consente di prendere immediatamente il controllo dell'ambiente e assicurarsi che tutto sia rappresentato come si vuole che si trovi all'interno di Gemelli digitali di Azure. Il risultato di questa query è un output contenente ogni gemello digitale con i relativi dettagli. Ecco un estratto:

    Screenshot of Cloud Shell showing partial result of twin query, including room0 and room1.

    Suggerimento

    È possibile riconoscere che si tratta dello stesso comando usato nella sezione Creare gemelli digitali in precedenza per trovare tutti i Gemelli digitali di Azure nell'istanza di .

  2. Quali sono tutte le stanze dell'ambiente? (query per modello)

    az dt twin query --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --query-command "SELECT * FROM DIGITALTWINS T WHERE IS_OF_MODEL(T, 'dtmi:example:Room;2')"
    

    È possibile limitare la query ai gemelli di un determinato tipo, per ottenere informazioni più specifiche su quello che rappresentano. Il risultato di questo mostra room0 e room1, ma non mostra floor0 o floor1 (poiché sono pavimenti, non camere).

    Screenshot of Cloud Shell showing result of model query, which includes only room0 and room1.

  3. Quali sono tutte le stanze in floor0? (query per relazione)

    az dt twin query --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --query-command "SELECT room FROM DIGITALTWINS floor JOIN room RELATED floor.contains where floor.\$dtId = 'floor0'"
    

    È possibile eseguire query in base alle relazioni nel grafo, per ottenere informazioni sul modo in cui i gemelli sono connessi o limitare la query a una determinata area. Questa query illustra anche che viene eseguita una query sull'ID di un gemello ( ad esempio floor0 nella query precedente) usando il campo $dtIddei metadati . Solo room0 è al piano 0, quindi è l'unica stanza nel risultato per questa query.

    Screenshot of Cloud Shell showing result of relationship query, which includes room0.

    Nota

    Quando si usa Cloud Shell per eseguire una query con campi di metadati come questo che inizia con $, è necessario eseguire l'escape $ con una barra rovesciata per informare Cloud Shell che non è una variabile e deve essere usata come valore letterale nel testo della query. Ciò si riflette nello screenshot precedente.

  4. Quali sono i gemelli dell'ambiente con una temperatura superiore a 75? (query per proprietà)

    az dt twin query --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --query-command "SELECT * FROM DigitalTwins T WHERE T.Temperature > 75"
    

    È possibile eseguire una query sul grafico in base alle proprietà per rispondere a diversi tipi di domande, tra cui la ricerca di outlier nell'ambiente che potrebbe richiedere attenzione. Sono supportati anche altri operatori di confronto, ossia <,>, = o !=. I risultati mostrano room1, perché ha una temperatura pari a 80.

    Screenshot of Cloud Shell showing result of property query, which includes only room1.

  5. Quali sono tutte le stanze in floor0 con una temperatura superiore a 75? (query composta)

    az dt twin query --dt-name <Azure-Digital-Twins-instance-hostname-or-name> --query-command "SELECT room FROM DIGITALTWINS floor JOIN room RELATED floor.contains where floor.\$dtId = 'floor0' AND IS_OF_MODEL(room, 'dtmi:example:Room;2') AND room.Temperature > 75"
    

    È anche possibile combinare le query precedenti come in SQL, usando operatori di combinazione come AND, OR, NOT. Questa query usa AND per rendere più specifica la query precedente sulle temperature dei gemelli. Il risultato include ora solo le stanze con temperature superiori a 75 che si trovano in floor0, ovvero in questo caso nessuna stanza. Il set di risultati è vuoto.

    Screenshot of Cloud Shell showing result of compound query, which doesn't include any items.

Pulire le risorse

Dopo aver completato questa esercitazione, è possibile scegliere le risorse da rimuovere, a seconda delle operazioni da eseguire successivamente.

  • Se si prevede di continuare con l'esercitazione successiva, è possibile mantenere le risorse configurate qui e riutilizzare l'istanza di Gemelli digitali di Azure senza cancellare nulla tra loro.
  • Se non sono necessarie risorse create in questa esercitazione, è possibile eliminare l'istanza di Gemelli digitali di Azure e tutte le altre risorse di questo articolo con il comando az group delete dell'interfaccia della riga di comando. In questo modo vengono eliminate tutte le risorse di Azure in un gruppo di risorse, nonché il gruppo di risorse stesso.

    Importante

    L'eliminazione di un gruppo di risorse è irreversibile. Il gruppo di risorse e tutte le risorse in esso contenute vengono eliminati in modo permanente. Assicurarsi di non eliminare accidentalmente il gruppo di risorse sbagliato o le risorse errate.

    Aprire Azure Cloud Shell o una finestra dell'interfaccia della riga di comando locale ed eseguire il comando seguente per eliminare il gruppo di risorse e tutto ciò che contiene.

    az group delete --name <your-resource-group>
    

È anche possibile eliminare i file di modello creati nel computer locale.

Passaggi successivi

In questa esercitazione si è iniziato a usare Gemelli digitali di Azure creando un grafo nell'istanza usando l'interfaccia della riga di comando di Azure. Sono stati creati modelli, gemelli digitali e relazioni per formare un grafo. Sono state anche eseguite alcune query sul grafico per ottenere un'idea dei tipi di domande a cui è possibile rispondere Gemelli digitali di Azure.

Passare all'esercitazione successiva per combinare Gemelli digitali di Azure con altri servizi di Azure per completare uno scenario end-to-end basato sui dati: