Informazioni sul parser del modello Gemelli digitali
Il linguaggio DTDL (Digital Twins Definition Language) è descritto nella specifica DTDL. Gli utenti possono usare il parser del modello di Gemelli digitali NuGet pacchetto per convalidare ed eseguire query su un modello definito in più file.
Installare il parser del modello DTDL
Il parser è disponibile in NuGet.org con l'ID Microsoft.Azure.DigitalTwins.Parser. Per installare il parser, usare qualsiasi strumento di gestione pacchetti compatibile NuGet, ad esempio quello in Visual Studio o nell'interfaccia della dotnet
riga di comando.
dotnet add package Microsoft.Azure.DigitalTwins.Parser
Nota
Al momento della scrittura, la versione del parser è 3.12.7
.
Usare il parser per convalidare un modello
Un modello può essere composto da una o più interfacce descritte nei file JSON. È possibile usare il parser per caricare tutti i file in una determinata cartella e usare il parser per convalidare tutti i file nel suo complesso, inclusi eventuali riferimenti tra i file:
Creare un
IEnumerable<string>
oggetto con un elenco di tutti i contenuti del modello:using System.IO; string folder = @"c:\myModels\"; string filespec = "*.json"; List<string> modelJson = new List<string>(); foreach (string filename in Directory.GetFiles(folder, filespec)) { using StreamReader modelReader = new StreamReader(filename); modelJson.Add(modelReader.ReadToEnd()); }
Creare un'istanza di
ModelParser
e chiamareParseAsync
:using Microsoft.Azure.DigitalTwins.Parser; ModelParser modelParser = new ModelParser(); IReadOnlyDictionary<Dtmi, DTEntityInfo> parseResult = await modelParser.ParseAsync(modelJson);
Verificare se sono presenti errori di convalida. Se il parser rileva eventuali errori, genera un'eccezione
ParsingException
con un elenco di errori:try { IReadOnlyDictionary<Dtmi, DTEntityInfo> parseResult = await modelParser.ParseAsync(modelJson); } catch (ParsingException pex) { Console.WriteLine(pex.Message); foreach (var err in pex.Errors) { Console.WriteLine(err.PrimaryID); Console.WriteLine(err.Message); } }
Esaminare l'oggetto
Model
. Se la convalida ha esito positivo, è possibile usare l'API del parser del modello per esaminare il modello. Il frammento di codice seguente illustra come scorrere tutti i modelli analizzati e visualizzare le proprietà esistenti:foreach (var item in parseResult) { Console.WriteLine($"\t{item.Key}"); Console.WriteLine($"\t{item.Value.DisplayName?.Values.FirstOrDefault()}"); }
Passaggi successivi
L'API del parser del modello esaminata in questo articolo consente a molti scenari di automatizzare o convalidare le attività che dipendono dai modelli DTDL. Ad esempio, è possibile compilare dinamicamente un'interfaccia utente dalle informazioni nel modello.