Compartilhar via


Twin Classe

As informações de estado de um dispositivo ou módulo. Isso é criado e excluído implicitamente quando a identidade do dispositivo/módulo correspondente é criada ou excluída 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
Obrigatório

O identificador exclusivo do dispositivo no registro de identidade do Hub IoT. É uma cadeia de caracteres que diferencia maiúsculas de minúsculas (até 128 caracteres de comprimento) de caracteres alfanuméricos ASCII de 7 bits, e os seguintes caracteres especiais {'-', ':', '.', '+', '%', '_', '#', '*', '?', '!', '(', ')', ',', '=', '@', ';', '$', '''}.

module_id
str
Obrigatório

O identificador exclusivo do módulo no registro de identidade do Hub IoT. É uma cadeia de caracteres que diferencia maiúsculas de minúsculas (até 128 caracteres de comprimento) de caracteres alfanuméricos ASCII de 7 bits, e os seguintes caracteres especiais {'-', ':', '.', '+', '%', '_', '#', '*', '?', '!', '(', ')', ',', '=', '@', ';', '$', '''}.

tags
dict[str, object]
Obrigatório

A coleção de pares chave-valor lida e gravada pelo back-end da solução. Eles não são visíveis para aplicativos de dispositivo. As chaves são codificadas em UTF-8, diferenciam maiúsculas de minúsculas e até 1 KB de comprimento. Os caracteres permitidos excluem caracteres de controle UNICODE (segmentos C0 e C1), '.', '$' e espaço. Os valores são objetos JSON, com até 4 KB de comprimento.

properties
TwinProperties
Obrigatório

As propriedades desejadas e relatadas do gêmeo.

etag
str
Obrigatório

A cadeia de caracteres que representa uma ETag para o dispositivo gêmeo, de acordo com RFC7232.

version
<xref:long>
Obrigatório

A versão do dispositivo gêmeo, incluindo marcas e propriedades desejadas

device_etag
str
Obrigatório

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

status
str ou <xref:protocol.models.enum>
Obrigatório

O status habilitado do dispositivo. Se estiver desabilitado, o dispositivo não poderá se conectar ao serviço. Os valores possíveis incluem: 'enabled', 'disabled'

status_reason
str
Obrigatório

O motivo da status atual do dispositivo, se houver.

status_update_time
datetime
Obrigatório

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

connection_state
str ou <xref:protocol.models.enum>
Obrigatório

O estado de conexão do dispositivo. Os valores possíveis incluem: 'Disconnected', 'Connected'

last_activity_time
datetime
Obrigatório

A data e a hora em que o dispositivo se conectou pela última vez ou recebeu ou enviou uma mensagem. A data e a hora são especificadas no formato datetime ISO8601 em UTC, por exemplo, 2015-01-28T16:24:48.789Z. Esse valor não será atualizado se o dispositivo usar o protocolo HTTP/1 para executar operações de mensagens.

cloud_to_device_message_count
int
Obrigatório

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

authentication_type
str ou <xref:protocol.models.enum>
Obrigatório

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

x509_thumbprint
X509Thumbprint
Obrigatório

A impressão digital X509 do dispositivo.

capabilities
DeviceCapabilities
Obrigatório
device_scope
str
Obrigatório

O escopo do dispositivo.

parent_scopes
list[str]
Obrigatório

Os escopos dos dispositivos de borda de nível superior, se aplicável. Disponível somente para dispositivos de borda.

Métodos

as_dict

Retornar um ditado que pode ser JSONify usando json.dump.

Opcionalmente, o uso avançado pode usar um retorno de chamada como parâmetro:

Key é o nome do atributo usado no Python. Attr_desc é um dict de metadados. Atualmente contém 'type' com o tipo msrest e 'key' com a chave codificada restAPI. Value é o valor atual neste objeto .

A cadeia de caracteres retornada será usada para serializar a chave. Se o tipo de retorno for uma lista, isso será considerado um dict de resultado hierárquico.

Confira os três exemplos neste arquivo:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Se você quiser serialização XML, poderá passar os kwargs is_xml=True.

deserialize

Analise um str usando a sintaxe RestAPI e retorne um modelo.

enable_additional_properties_sending
from_dict

Analisar um ditado usando determinado extrator de chave retorna um modelo.

Por padrão, considere extratores de chave (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor e last_rest_key_case_insensitive_extractor)

is_xml_model
serialize

Retorne o JSON que seria enviado para o azure desse modelo.

Esse é um alias para as_dict(full_restapi_key_transformer, keep_readonly=False).

Se você quiser serialização XML, poderá passar os kwargs is_xml=True.

validate

Valide esse modelo recursivamente e retorne uma lista de ValidationError.

as_dict

Retornar um ditado que pode ser JSONify usando json.dump.

Opcionalmente, o uso avançado pode usar um retorno de chamada como parâmetro:

Key é o nome do atributo usado no Python. Attr_desc é um dict de metadados. Atualmente contém 'type' com o tipo msrest e 'key' com a chave codificada restAPI. Value é o valor atual neste objeto .

A cadeia de caracteres retornada será usada para serializar a chave. Se o tipo de retorno for uma lista, isso será considerado um dict de resultado hierárquico.

Confira os três exemplos neste arquivo:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Se você quiser serialização XML, poderá 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 chave.

keep_readonly
valor padrão: True

Retornos

Um objeto compatível com JSON de dict

Tipo de retorno

deserialize

Analise um str usando a sintaxe RestAPI e retorne um modelo.

deserialize(data, content_type=None)

Parâmetros

data
str
Obrigatório

Um str usando a estrutura RestAPI. JSON por padrão.

content_type
str
valor padrão: None

JSON por padrão, defina application/xml se XML.

Retornos

Uma instância desse modelo

Exceções

DeserializationError if something went wrong

enable_additional_properties_sending

enable_additional_properties_sending()

from_dict

Analisar um ditado usando determinado extrator de chave retorna um modelo.

Por padrão, considere extratores de 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
Obrigatório

Um ditado usando a estrutura RestAPI

content_type
str
valor padrão: None

JSON por padrão, defina application/xml se XML.

key_extractors
valor padrão: None

Retornos

Uma instância desse modelo

Exceções

DeserializationError if something went wrong

is_xml_model

is_xml_model()

serialize

Retorne o JSON que seria enviado para o azure desse modelo.

Esse é um alias para as_dict(full_restapi_key_transformer, keep_readonly=False).

Se você quiser serialização XML, poderá passar os kwargs is_xml=True.

serialize(keep_readonly=False, **kwargs)

Parâmetros

keep_readonly
bool
valor padrão: False

Se você quiser serializar os atributos somente leitura

Retornos

Um objeto compatível com JSON de dict

Tipo de retorno

validate

Valide esse modelo recursivamente e retorne uma lista de ValidationError.

validate()

Retornos

Uma lista de erros de validação

Tipo de retorno