BasicDigitalTwin Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Uma classe auxiliar opcional para desserializar um gêmeo digital.
[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
- Herança
-
BasicDigitalTwin
- Atributos
Exemplos
Aqui está um exemplo de como usar a classe auxiliar BasicDigitalTwin para serializar e criar um gêmeo digital.
// 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}'.");
Aqui está um exemplo de como usar a classe auxiliar BasicDigitalTwin para obter e desserializar um gêmeo digital.
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}");
Comentários
Essa classe auxiliar só funcionará com System.Text.Json. Quando usado com o ObjectSerializerparâmetro DigitalTwinsClientOptions , ele só funcionará com o padrão (JsonObjectSerializer).
Para obter mais exemplos, confira nossos exemplos de repositório.
Construtores
BasicDigitalTwin() |
Uma classe auxiliar opcional para desserializar um gêmeo digital. |
Propriedades
Contents |
Esse campo conterá propriedades e componentes conforme definido na seção de conteúdo da definição DTDL do gêmeo. |
ETag |
Uma cadeia de caracteres que representa uma ETag fraca para a entidade na qual essa solicitação executa uma operação, de acordo com RFC7232. |
Id |
A ID exclusiva do gêmeo digital em uma instância de gêmeos digitais. Esse campo está presente em todos os gêmeos digitais. |
LastUpdatedOn |
A data e a hora em que o gêmeo foi atualizado pela última vez. |
Metadata |
Informações sobre o modelo com o qual um gêmeo digital está em conformidade. Esse campo está presente em todos os gêmeos digitais. |
Aplica-se a
Azure SDK for .NET