BasicDigitalTwin Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Classe d’assistance facultative pour désérialiser un jumeau numérique.
[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
- Héritage
-
BasicDigitalTwin
- Attributs
Exemples
Voici un exemple d’utilisation de la classe d’assistance BasicDigitalTwin pour sérialiser et créer un jumeau numérique.
// 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}'.");
Voici un exemple d’utilisation de la classe d’assistance BasicDigitalTwin pour obtenir et désérialiser un jumeau numérique.
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}");
Remarques
Cette classe d’assistance fonctionne uniquement avec System.Text.Json. Lorsqu’il est utilisé avec le ObjectSerializerparamètre , DigitalTwinsClientOptions il ne fonctionne qu’avec la valeur par défaut (JsonObjectSerializer).
Pour plus d’exemples, consultez nos exemples de dépôt.
Constructeurs
BasicDigitalTwin() |
Classe d’assistance facultative pour désérialiser un jumeau numérique. |
Propriétés
Contents |
Ce champ contient les propriétés et les composants définis dans la section contenu de la définition DTDL du jumeau. |
ETag |
Chaîne représentant un ETag faible pour l’entité sur laquelle cette requête effectue une opération, conformément à la RFC7232. |
Id |
Id unique du jumeau numérique dans un jumeau numérique instance. Ce champ est présent sur chaque jumeau numérique. |
LastUpdatedOn |
Date et heure de la dernière mise à jour du jumeau. |
Metadata |
Informations sur le modèle à laquelle un jumeau numérique est conforme. Ce champ est présent sur chaque jumeau numérique. |
S’applique à
Azure SDK for .NET