Udostępnij za pośrednictwem


Twin Klasa

Informacje o stanie urządzenia lub modułu. Jest to tworzone i usuwane niejawnie po utworzeniu lub usunięciu odpowiedniej tożsamości urządzenia/modułu w IoT Hub.

Dziedziczenie
Twin

Konstruktor

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)

Parametry

device_id
str
Wymagane

Unikatowy identyfikator urządzenia w rejestrze tożsamości IoT Hub. Jest to ciąg uwzględniający wielkość liter (do 128 znaków długości) znaków alfanumerycznych ASCII 7-bitowych, i następujące znaki specjalne {'-', ':', '.', '+', '%', '_', '#', '*', '?', '!', '(', ')', ',', '=', '@', ';', '$', ''}.

module_id
str
Wymagane

Unikatowy identyfikator modułu w rejestrze tożsamości IoT Hub. Jest to ciąg uwzględniający wielkość liter (do 128 znaków długości) znaków alfanumerycznych ASCII 7-bitowych, i następujące znaki specjalne {'-', ':', '.', '+', '%', '_', '#', '*', '?', '!', '(', ')', ',', '=', '@', ';', '$', ''}.

tags
dict[str, object]
Wymagane

Kolekcja par klucz-wartość odczytanych i zapisywanych przez zaplecze rozwiązania. Nie są one widoczne dla aplikacji urządzeń. Klucze są zakodowane w formacie UTF-8, z uwzględnieniem wielkości liter i długości do 1 KB. Dozwolone znaki wykluczają znaki sterujące UNICODE (segmenty C0 i C1), ".", "$" i spację. Wartości to obiekty JSON o długości do 4 KB.

properties
TwinProperties
Wymagane

Żądane i zgłoszone właściwości bliźniaczej reprezentacji bliźniaczej.

etag
str
Wymagane

Ciąg reprezentujący element ETag dla bliźniaczej reprezentacji urządzenia zgodnie z RFC7232.

version
<xref:long>
Wymagane

Wersja bliźniaczej reprezentacji urządzenia, w tym tagi i żądane właściwości

device_etag
str
Wymagane

Ciąg reprezentujący element ETag dla urządzenia zgodnie z RFC7232.

status
str lub <xref:protocol.models.enum>
Wymagane

Stan włączonego urządzenia. Jeśli to ustawienie jest wyłączone, urządzenie nie może nawiązać połączenia z usługą. Możliwe wartości to: "enabled", "disabled"

status_reason
str
Wymagane

Przyczyna bieżącego stanu urządzenia, jeśli istnieje.

status_update_time
datetime
Wymagane

Data i godzina ostatniej aktualizacji stanu urządzenia.

connection_state
str lub <xref:protocol.models.enum>
Wymagane

Stan połączenia urządzenia. Możliwe wartości to: "Disconnected", "Connected"

last_activity_time
datetime
Wymagane

Data i godzina ostatniego połączenia lub odebrania lub wysłania komunikatu przez urządzenie. Data i godzina są oddzielone formatem daty i godziny ISO8601 w formacie UTC, na przykład 2015-01-28T16:24:48.789Z. Ta wartość nie jest aktualizowana, jeśli urządzenie używa protokołu HTTP/1 do wykonywania operacji obsługi komunikatów.

cloud_to_device_message_count
int
Wymagane

Liczba wysłanych komunikatów z chmury do urządzenia.

authentication_type
str lub <xref:protocol.models.enum>
Wymagane

Typ uwierzytelniania używany przez urządzenie. Możliwe wartości to: "sas", "selfSigned", "certificateAuthority", "none"

x509_thumbprint
X509Thumbprint
Wymagane

Odcisk palca X509 urządzenia.

capabilities
DeviceCapabilities
Wymagane
device_scope
str
Wymagane

Zakres urządzenia.

parent_scopes
list[str]
Wymagane

Zakresy urządzeń brzegowych wyższego poziomu, jeśli ma to zastosowanie. Dostępne tylko dla urządzeń brzegowych.

Metody

as_dict

Zwróć dykt, który może być JSONify przy użyciu pliku json.dump.

Użycie zaawansowane może opcjonalnie używać wywołania zwrotnego jako parametru:

Klucz to nazwa atrybutu używana w języku Python. Attr_desc to dykt metadanych. Obecnie zawiera ciąg "type" z typem msrest i kluczem zakodowanym za pomocą interfejsu RESTAPI. Wartość jest bieżącą wartością w tym obiekcie.

Zwrócony ciąg będzie używany do serializacji klucza. Jeśli zwracany typ jest listą, jest to uznawane za hierarchiczny dykt wyniku.

Zobacz trzy przykłady w tym pliku:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Jeśli chcesz serializacji XML, możesz przekazać kwargs is_xml=True.

deserialize

Analizowanie ciągu przy użyciu składni restAPI i zwracanie modelu.

enable_additional_properties_sending
from_dict

Przeanalizuj dykt przy użyciu danego modułu wyodrębniającego klucz, który zwraca model.

Domyślnie należy rozważyć wyodrębnianie kluczy (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor i last_rest_key_case_insensitive_extractor)

is_xml_model
serialize

Zwróć kod JSON, który zostanie wysłany na platformę Azure z tego modelu.

Jest to alias as_dict (full_restapi_key_transformer, keep_readonly=False).

Jeśli chcesz serializacji XML, możesz przekazać kwargs is_xml=True.

validate

Zweryfikuj ten model cyklicznie i zwróć listę błędu ValidationError.

as_dict

Zwróć dykt, który może być JSONify przy użyciu pliku json.dump.

Użycie zaawansowane może opcjonalnie używać wywołania zwrotnego jako parametru:

Klucz to nazwa atrybutu używana w języku Python. Attr_desc to dykt metadanych. Obecnie zawiera ciąg "type" z typem msrest i kluczem zakodowanym za pomocą interfejsu RESTAPI. Wartość jest bieżącą wartością w tym obiekcie.

Zwrócony ciąg będzie używany do serializacji klucza. Jeśli zwracany typ jest listą, jest to uznawane za hierarchiczny dykt wyniku.

Zobacz trzy przykłady w tym pliku:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Jeśli chcesz serializacji XML, możesz przekazać kwargs is_xml=True.

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

Parametry

key_transformer
<xref:function>

Funkcja transformatora klucza.

keep_readonly
wartość domyślna: True

Zwraca

Obiekt zgodny z dyktacją JSON

Typ zwracany

deserialize

Analizowanie ciągu przy użyciu składni restAPI i zwracanie modelu.

deserialize(data, content_type=None)

Parametry

data
str
Wymagane

Str używający struktury RestAPI. Domyślnie dane JSON.

content_type
str
wartość domyślna: None

Domyślnie w formacie JSON ustaw wartość application/xml, jeśli plik XML.

Zwraca

Wystąpienie tego modelu

Wyjątki

DeserializationError if something went wrong

enable_additional_properties_sending

enable_additional_properties_sending()

from_dict

Przeanalizuj dykt przy użyciu danego modułu wyodrębniającego klucz, który zwraca model.

Domyślnie należy rozważyć wyodrębnianie kluczy (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor i last_rest_key_case_insensitive_extractor)

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

Parametry

data
dict
Wymagane

Dykt używający struktury RestAPI

content_type
str
wartość domyślna: None

Domyślnie w formacie JSON ustaw wartość application/xml, jeśli plik XML.

key_extractors
wartość domyślna: None

Zwraca

Wystąpienie tego modelu

Wyjątki

DeserializationError if something went wrong

is_xml_model

is_xml_model()

serialize

Zwróć kod JSON, który zostanie wysłany na platformę Azure z tego modelu.

Jest to alias as_dict (full_restapi_key_transformer, keep_readonly=False).

Jeśli chcesz serializacji XML, możesz przekazać kwargs is_xml=True.

serialize(keep_readonly=False, **kwargs)

Parametry

keep_readonly
bool
wartość domyślna: False

Jeśli chcesz serializować atrybuty tylko do odczytu

Zwraca

Obiekt zgodny z dyktacją JSON

Typ zwracany

validate

Zweryfikuj ten model cyklicznie i zwróć listę błędu ValidationError.

validate()

Zwraca

Lista błędów walidacji

Typ zwracany