Partilhar via


Twin Classe

As informações de estado de um dispositivo ou módulo. Isto é criado e eliminado implicitamente quando a identidade do módulo/dispositivo correspondente é criada ou eliminada no Hub IoT.

Herança
Twin

Construtor

Twin(*, device_id: str = None, module_id: str = None, tags=None, properties=None, etag: str = None, version: int = None, device_etag: str = None, status=None, status_reason: str = None, status_update_time=None, connection_state=None, last_activity_time=None, cloud_to_device_message_count: int = None, authentication_type=None, x509_thumbprint=None, capabilities=None, device_scope: str = None, parent_scopes=None, **kwargs)

Parâmetros

device_id
str
Necessário

O identificador exclusivo do dispositivo no registo de identidade do Hub IoT. É uma cadeia sensível a maiúsculas e minúsculas (até 128 carateres) de carateres alfanuméricos ascii de 7 bits, e os seguintes carateres especiais {'-', ':', '.', '+', '%', '_', '#', '*', '?', '!', '(', ')', '', '', '=', '@', ';', '$', '''}.

module_id
str
Necessário

O identificador exclusivo do módulo no registo de identidade do Hub IoT. É uma cadeia sensível a maiúsculas e minúsculas (até 128 carateres) de carateres alfanuméricos ascii de 7 bits, e os seguintes carateres especiais {'-', ':', '.', '+', '%', '_', '#', '*', '?', '!', '(', ')', '', '', '=', '@', ';', '$', '''}.

tags
dict[str, object]
Necessário

A coleção de pares chave-valor lida e escrita pelo back-end da solução. Não são visíveis para aplicações de dispositivos. As chaves são codificadas com UTF-8, sensíveis às maiúsculas e minúsculas e até 1 KB de comprimento. Os carateres permitidos excluem carateres de controlo UNICODE (segmentos C0 e C1), ".", "$" e espaço. Os valores são objetos JSON, até 4 KB de comprimento.

properties
TwinProperties
Necessário

As propriedades pretendidas e comunicadas do duplo.

etag
str
Necessário

A cadeia que representa um ETag para o dispositivo duplo, de acordo com RFC7232.

version
<xref:long>
Necessário

A versão do dispositivo duplo, incluindo etiquetas e propriedades pretendidas

device_etag
str
Necessário

A cadeia que representa um ETag para o dispositivo, de acordo com RFC7232.

status
str ou <xref:protocol.models.enum>
Necessário

O estado ativado do dispositivo. Se estiver desativado, o dispositivo não consegue ligar ao serviço. Os valores possíveis incluem: "ativado", "desativado"

status_reason
str
Necessário

O motivo do estado atual do dispositivo, se existir.

status_update_time
datetime
Necessário

A data e hora em que o estado do dispositivo foi atualizado pela última vez.

connection_state
str ou <xref:protocol.models.enum>
Necessário

O estado de ligação do dispositivo. Os valores possíveis incluem: "Desligado", "Ligado"

last_activity_time
datetime
Necessário

A data e hora em que o dispositivo ligou ou recebeu ou enviou uma mensagem pela última vez. A data e hora são sepecificadas no formato de data/hora ISO8601 em UTC, por exemplo, 2015-01-28T16:24:48.789Z. Este valor não é atualizado se o dispositivo utilizar o protocolo HTTP/1 para realizar operações de mensagens.

cloud_to_device_message_count
int
Necessário

O número de mensagens da cloud para o dispositivo enviadas.

authentication_type
str ou <xref:protocol.models.enum>
Necessário

O tipo de autenticação utilizado pelo dispositivo. Os valores possíveis incluem: "sas", "selfSigned", "certificateAuthority", "none"

x509_thumbprint
X509Thumbprint
Necessário

O thumbprint X509 do dispositivo.

capabilities
DeviceCapabilities
Necessário
device_scope
str
Necessário

O âmbito do dispositivo.

parent_scopes
list[str]
Necessário

Os âmbitos dos dispositivos edge de nível superior, se aplicável. Apenas disponível para dispositivos edge.

Métodos

as_dict

Devolva um ditado que pode ser JSONify com json.dump.

Opcionalmente, a utilização avançada pode utilizar uma chamada de retorno como parâmetro:

A chave é o nome do atributo utilizado no Python. Attr_desc é um ditado dos metadados. Atualmente contém "type" com o tipo msrest e "key" com a chave codificada RestAPI. Valor é o valor atual neste objeto.

A cadeia devolvida será utilizada para serializar a chave. Se o tipo de retorno for uma lista, este é considerado ditado de resultado hierárquico.

Veja os três exemplos neste ficheiro:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Se quiser serialização XML, pode passar os kwargs is_xml=True.

deserialize

Analise um str com a sintaxe RestAPI e devolva um modelo.

enable_additional_properties_sending
from_dict

Analisar um ditado com um determinado extrator de chaves devolve um modelo.

Por predefinição, considere extratores chave (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor e last_rest_key_case_insensitive_extractor)

is_xml_model
serialize

Devolva o JSON que seria enviado para o azure a partir deste modelo.

Este é um alias para as_dict(full_restapi_key_transformer, keep_readonly=Falso).

Se quiser serialização XML, pode passar os kwargs is_xml=True.

validate

Valide este modelo de forma recursiva e devolva uma lista de ValidationError.

as_dict

Devolva um ditado que pode ser JSONify com json.dump.

Opcionalmente, a utilização avançada pode utilizar uma chamada de retorno como parâmetro:

A chave é o nome do atributo utilizado no Python. Attr_desc é um ditado dos metadados. Atualmente contém "type" com o tipo msrest e "key" com a chave codificada RestAPI. Valor é o valor atual neste objeto.

A cadeia devolvida será utilizada para serializar a chave. Se o tipo de retorno for uma lista, este é considerado ditado de resultado hierárquico.

Veja os três exemplos neste ficheiro:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Se quiser serialização XML, pode passar os kwargs is_xml=True.

as_dict(keep_readonly=True, key_transformer=<function attribute_transformer>, **kwargs)

Parâmetros

key_transformer
<xref:function>

Uma função de transformador de chaves.

keep_readonly
valor predefinido: True

Devoluções

Um objeto compatível com JSON de dict

Tipo de retorno

deserialize

Analise um str com a sintaxe RestAPI e devolva um modelo.

deserialize(data, content_type=None)

Parâmetros

data
str
Necessário

Um str com a estrutura RestAPI. JSON por predefinição.

content_type
str
valor predefinido: None

JSON por predefinição, defina aplicação/xml se XML.

Devoluções

Uma instância deste modelo

Exceções

DeserializationError if something went wrong

enable_additional_properties_sending

enable_additional_properties_sending()

from_dict

Analisar um ditado com um determinado extrator de chaves devolve um modelo.

Por predefinição, considere extratores chave (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor e last_rest_key_case_insensitive_extractor)

from_dict(data, key_extractors=None, content_type=None)

Parâmetros

data
dict
Necessário

Um ditado com a estrutura restAPI

content_type
str
valor predefinido: None

JSON por predefinição, defina aplicação/xml se XML.

key_extractors
valor predefinido: None

Devoluções

Uma instância deste modelo

Exceções

DeserializationError if something went wrong

is_xml_model

is_xml_model()

serialize

Devolva o JSON que seria enviado para o azure a partir deste modelo.

Este é um alias para as_dict(full_restapi_key_transformer, keep_readonly=Falso).

Se quiser serialização XML, pode passar os kwargs is_xml=True.

serialize(keep_readonly=False, **kwargs)

Parâmetros

keep_readonly
bool
valor predefinido: False

Se quiser serializar os atributos só de leitura

Devoluções

Um objeto compatível com JSON de dict

Tipo de retorno

validate

Valide este modelo de forma recursiva e devolva uma lista de ValidationError.

validate()

Devoluções

Uma lista de erros de validação

Tipo de retorno