Partager via


Twin Classe

Informations d’état d’un appareil ou d’un module. Elle est implicitement créée et supprimée lorsque l’identité d’appareil/module correspondante est créée ou supprimée dans le IoT Hub.

Héritage
Twin

Constructeur

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)

Paramètres

device_id
str
Obligatoire

Identificateur unique de l’appareil dans le registre des identités du IoT Hub. Il s’agit d’une chaîne respectant la casse (jusqu’à 128 caractères) de caractères alphanumériques ASCII 7 bits, et les caractères spéciaux suivants {'-', ':', '.', '+', '%', '_', '#', '*', '?', '!', '(', ')', ',', '=', '@', ';', '$', '''}.

module_id
str
Obligatoire

Identificateur unique du module dans le registre des identités du IoT Hub. Il s’agit d’une chaîne respectant la casse (jusqu’à 128 caractères) de caractères alphanumériques ASCII 7 bits, et les caractères spéciaux suivants {'-', ':', '.', '+', '%', '_', '#', '*', '?', '!', '(', ')', ',', '=', '@', ';', '$', '''}.

tags
dict[str, object]
Obligatoire

Collection de paires clé-valeur lues et écrites par le serveur principal de la solution. Ils ne sont pas visibles pour les applications d’appareil. Elles sont encodées en UTF-8, respectant la casse et d’une longueur maximale de 1 Ko. Les caractères autorisés excluent les caractères de contrôle UNICODE (segments C0 et C1), '.', '$' et space. Les valeurs sont des objets JSON, d’une longueur maximale de 4 Ko.

properties
TwinProperties
Obligatoire

Propriétés souhaitées et signalées du jumeau.

etag
str
Obligatoire

Chaîne représentant un ETag pour le jumeau d’appareil, conformément à la norme RFC7232.

version
<xref:long>
Obligatoire

Version du jumeau d’appareil, y compris les balises et les propriétés souhaitées

device_etag
str
Obligatoire

Chaîne représentant un ETag pour l’appareil, conformément à RFC7232.

status
str ou <xref:protocol.models.enum>
Obligatoire

status activé de l’appareil. S’il est désactivé, l’appareil ne peut pas se connecter au service. Les valeurs possibles sont les suivantes : « enabled », « disabled »

status_reason
str
Obligatoire

Raison de la status actuelle de l’appareil, le cas échéant.

status_update_time
datetime
Obligatoire

Date et heure de la dernière mise à jour du status de l’appareil.

connection_state
str ou <xref:protocol.models.enum>
Obligatoire

État de connexion de l’appareil. Les valeurs possibles sont les suivantes : « Déconnecté », « Connecté »

last_activity_time
datetime
Obligatoire

Date et heure de la dernière connexion de l’appareil, de réception ou d’envoi d’un message. La date et l’heure sont saisies au format datetime ISO8601 au format UTC, par exemple, 2015-01-28T16:24:48.789Z. Cette valeur n’est pas mise à jour si l’appareil utilise le protocole HTTP/1 pour effectuer des opérations de messagerie.

cloud_to_device_message_count
int
Obligatoire

Nombre de messages cloud-à-appareil envoyés.

authentication_type
str ou <xref:protocol.models.enum>
Obligatoire

Type d’authentification utilisé par l’appareil. Les valeurs possibles sont les suivantes : 'sas', 'selfSigned', 'certificateAuthority', 'none'

x509_thumbprint
X509Thumbprint
Obligatoire

Empreinte numérique X509 de l’appareil.

capabilities
DeviceCapabilities
Obligatoire
device_scope
str
Obligatoire

Portée de l’appareil.

parent_scopes
list[str]
Obligatoire

Étendues des périphériques de niveau supérieur, le cas échéant. Disponible uniquement pour les appareils de périphérie.

Méthodes

as_dict

Retourne un dictée qui peut être JSONify à l’aide de json.dump.

L’utilisation avancée peut éventuellement utiliser un rappel comme paramètre :

La clé est le nom d’attribut utilisé dans Python. Attr_desc est un dictée de métadonnées. Contient actuellement « type » avec le type msrest et « key » avec la clé encodée RestAPI. Value est la valeur actuelle dans cet objet.

La chaîne retournée sera utilisée pour sérialiser la clé. Si le type de retour est une liste, cela est considéré comme un dicté de résultat hiérarchique.

Consultez les trois exemples de ce fichier :

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Si vous souhaitez une sérialisation XML, vous pouvez passer les kwargs is_xml=True.

deserialize

Analysez un str à l’aide de la syntaxe RestAPI et retournez un modèle.

enable_additional_properties_sending
from_dict

L’analyse d’un dicté à l’aide de l’extracteur de clé donné retourne un modèle.

Par défaut, considérez les extracteurs de clés (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor et last_rest_key_case_insensitive_extractor)

is_xml_model
serialize

Retourne le JSON qui serait envoyé à Azure à partir de ce modèle.

Il s’agit d’un alias pour as_dict(full_restapi_key_transformer, keep_readonly=False).

Si vous souhaitez une sérialisation XML, vous pouvez passer les kwargs is_xml=True.

validate

Validez ce modèle de manière récursive et retournez une liste de ValidationError.

as_dict

Retourne un dictée qui peut être JSONify à l’aide de json.dump.

L’utilisation avancée peut éventuellement utiliser un rappel comme paramètre :

La clé est le nom d’attribut utilisé dans Python. Attr_desc est un dictée de métadonnées. Contient actuellement « type » avec le type msrest et « key » avec la clé encodée RestAPI. Value est la valeur actuelle dans cet objet.

La chaîne retournée sera utilisée pour sérialiser la clé. Si le type de retour est une liste, cela est considéré comme un dicté de résultat hiérarchique.

Consultez les trois exemples de ce fichier :

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Si vous souhaitez une sérialisation XML, vous pouvez passer les kwargs is_xml=True.

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

Paramètres

key_transformer
<xref:function>

Fonction de transformateur de clé.

keep_readonly
valeur par défaut: True

Retours

Objet compatible JSON de dict

Type de retour

deserialize

Analysez un str à l’aide de la syntaxe RestAPI et retournez un modèle.

deserialize(data, content_type=None)

Paramètres

data
str
Obligatoire

Str utilisant la structure RestAPI. JSON par défaut.

content_type
str
valeur par défaut: None

JSON par défaut, définissez application/xml si XML.

Retours

Une instance de ce modèle

Exceptions

DeserializationError if something went wrong

enable_additional_properties_sending

enable_additional_properties_sending()

from_dict

L’analyse d’un dicté à l’aide de l’extracteur de clé donné retourne un modèle.

Par défaut, considérez les extracteurs de clés (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor et last_rest_key_case_insensitive_extractor)

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

Paramètres

data
dict
Obligatoire

Dict utilisant la structure RestAPI

content_type
str
valeur par défaut: None

JSON par défaut, définissez application/xml si XML.

key_extractors
valeur par défaut: None

Retours

Une instance de ce modèle

Exceptions

DeserializationError if something went wrong

is_xml_model

is_xml_model()

serialize

Retourne le JSON qui serait envoyé à Azure à partir de ce modèle.

Il s’agit d’un alias pour as_dict(full_restapi_key_transformer, keep_readonly=False).

Si vous souhaitez une sérialisation XML, vous pouvez passer les kwargs is_xml=True.

serialize(keep_readonly=False, **kwargs)

Paramètres

keep_readonly
bool
valeur par défaut: False

Si vous souhaitez sérialiser les attributs readonly

Retours

Objet compatible JSON de dict

Type de retour

validate

Validez ce modèle de manière récursive et retournez une liste de ValidationError.

validate()

Retours

Liste des erreurs de validation

Type de retour