BasicDigitalTwin Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Eine optionale Hilfsklasse zum Deserialisieren eines digitalen Zwillings.
[System.Text.Json.Serialization.JsonConverter(typeof(Azure.DigitalTwins.Core.BasicDigitalTwinJsonConverter))]
public class BasicDigitalTwin
[<System.Text.Json.Serialization.JsonConverter(typeof(Azure.DigitalTwins.Core.BasicDigitalTwinJsonConverter))>]
type BasicDigitalTwin = class
Public Class BasicDigitalTwin
- Vererbung
-
BasicDigitalTwin
- Attribute
Beispiele
Hier sehen Sie ein Beispiel für die Verwendung der BasicDigitalTwin-Hilfsklasse zum Serialisieren und Erstellen eines digitalen Zwillings.
// Create digital twin with component payload using the BasicDigitalTwin serialization helper
var basicTwin = new BasicDigitalTwin
{
Id = basicDtId,
// model Id of digital twin
Metadata =
{
ModelId = modelId,
PropertyMetadata = new Dictionary<string, DigitalTwinPropertyMetadata>
{
{
"Prop2",
new DigitalTwinPropertyMetadata
{
// must always be serialized as ISO 8601
SourceTime = DateTimeOffset.UtcNow,
}
}
},
},
Contents =
{
// digital twin properties
{ "Prop1", "Value1" },
{ "Prop2", 987 },
// component
{
"Component1",
new BasicDigitalTwinComponent
{
// writeable component metadata
Metadata = new Dictionary<string, DigitalTwinPropertyMetadata>
{
{
"ComponentProp2",
new DigitalTwinPropertyMetadata
{
// must always be serialized as ISO 8601
SourceTime = DateTimeOffset.UtcNow,
}
}
},
// component properties
Contents =
{
{ "ComponentProp1", "Component value 1" },
{ "ComponentProp2", 123 },
},
}
},
},
};
Response<BasicDigitalTwin> createDigitalTwinResponse = await client.CreateOrReplaceDigitalTwinAsync(basicDtId, basicTwin);
Console.WriteLine($"Created digital twin '{createDigitalTwinResponse.Value.Id}'.");
Hier sehen Sie ein Beispiel für die Verwendung der BasicDigitalTwin-Hilfsklasse zum Abrufen und Deserialisieren eines digitalen Zwillings.
Response<BasicDigitalTwin> getBasicDtResponse = await client.GetDigitalTwinAsync<BasicDigitalTwin>(basicDtId);
BasicDigitalTwin basicDt = getBasicDtResponse.Value;
// Must cast Component1 as a JsonElement and get its raw text in order to deserialize it as a dictionary
string component1RawText = ((JsonElement)basicDt.Contents["Component1"]).GetRawText();
var component1 = JsonSerializer.Deserialize<BasicDigitalTwinComponent>(component1RawText);
Console.WriteLine($"Retrieved and deserialized digital twin {basicDt.Id}:\n\t" +
$"ETag: {basicDt.ETag}\n\t" +
$"ModelId: {basicDt.Metadata.ModelId}\n\t" +
$"LastUpdatedOn: {basicDt.LastUpdatedOn}\n\t" +
$"Prop1: {basicDt.Contents["Prop1"]}, last updated on {basicDt.Metadata.PropertyMetadata["Prop1"].LastUpdatedOn}\n\t" +
$"Prop2: {basicDt.Contents["Prop2"]}, last updated on {basicDt.Metadata.PropertyMetadata["Prop2"].LastUpdatedOn} and sourced at {basicDt.Metadata.PropertyMetadata["Prop2"].SourceTime}\n\t" +
$"Component1.LastUpdatedOn: {component1.LastUpdatedOn}\n\t" +
$"Component1.Prop1: {component1.Contents["ComponentProp1"]}, last updated on: {component1.Metadata["ComponentProp1"].LastUpdatedOn}\n\t" +
$"Component1.Prop2: {component1.Contents["ComponentProp2"]}, last updated on: {component1.Metadata["ComponentProp2"].LastUpdatedOn} and sourced at: {component1.Metadata["ComponentProp2"].SourceTime}");
Hinweise
Diese Hilfsklasse funktioniert nur mit System.Text.Json. Wenn sie mit dem ObjectSerializer- Parameter DigitalTwinsClientOptions verwendet wird, funktioniert es nur mit dem Standardwert (JsonObjectSerializer).
Weitere Beispiele finden Sie in unseren Repositorybeispielen.
Konstruktoren
BasicDigitalTwin() |
Eine optionale Hilfsklasse zum Deserialisieren eines digitalen Zwillings. |
Eigenschaften
Contents |
Dieses Feld enthält Eigenschaften und Komponenten, die im Inhaltsabschnitt der DTDL-Definition des Zwillings definiert sind. |
ETag |
Eine Zeichenfolge, die ein schwaches ETag für die Entität darstellt, für die diese Anforderung gemäß RFC7232 einen Vorgang ausführt. |
Id |
Die eindeutige ID des digitalen Zwillings in einem digitalen Zwilling instance. Dieses Feld ist auf jedem digitalen Zwilling vorhanden. |
LastUpdatedOn |
Das Datum und die Uhrzeit der letzten Aktualisierung des Zwillings. |
Metadata |
Informationen zum Modell, dem ein digitaler Zwilling entspricht. Dieses Feld ist auf jedem digitalen Zwilling vorhanden. |
Gilt für:
Azure SDK for .NET