IoTHubDeviceClient Classe
Client d’appareil asynchrone qui se connecte à un Azure IoT Hub instance.
Initialiseur pour un IoTHubDeviceClient.
Cet initialiseur ne doit pas être appelé directement. Au lieu de cela, utilisez l’une des valeurs de classe «>> create_from_<< » pour instancier
- Héritage
-
azure.iot.device.iothub.aio.async_clients.GenericIoTHubClientIoTHubDeviceClientazure.iot.device.iothub.abstract_clients.AbstractIoTHubDeviceClientIoTHubDeviceClient
Constructeur
IoTHubDeviceClient(mqtt_pipeline, http_pipeline)
Paramètres
- mqtt_pipeline
- <xref:azure.iot.device.iothub.pipeline.MQTTPipeline>
Pipeline utilisé pour se connecter au point de terminaison IoTHub.
- http_pipeline
Méthodes
connect |
Connecte le client à un instance Azure IoT Hub ou Azure IoT Edge Hub. La destination est choisie en fonction des informations d’identification passées via le paramètre auth_provider qui a été fourni lors de l’initialisation de cet objet. |
create_from_connection_string |
Instanciez le client à partir d’un appareil IoTHub ou d’une chaîne de connexion de module. |
create_from_sastoken |
Instancier le client à partir d’une chaîne de jeton SAS créée au préalable |
create_from_symmetric_key |
Instancier un client à l’aide de l’authentification par clé symétrique. |
create_from_x509_certificate |
Instancier un client à l’aide de l’authentification par certificat X509. |
disconnect |
Déconnectez le client du instance Azure IoT Hub ou Azure IoT Edge Hub. Il est recommandé d’appeler cette coroutine lorsque vous avez terminé avec le instance client. |
get_storage_info_for_blob |
Envoie une requête POST via HTTP à un point de terminaison IoTHub qui retourne des informations pour le chargement via le compte de stockage Azure lié à l’IoTHub auquel votre appareil est connecté. |
get_twin |
Obtient le jumeau d’appareil ou de module à partir du service Azure IoT Hub ou Azure IoT Edge Hub. |
notify_blob_upload_status |
Une fois le chargement terminé, l’appareil envoie une requête POST au point de terminaison IoT Hub avec des informations sur la status d’une tentative de chargement vers un objet blob. Cela est utilisé par IoT Hub pour notifier les clients à l’écoute. |
patch_twin_reported_properties |
Mettez à jour les propriétés signalées avec le service Azure IoT Hub ou Azure IoT Edge Hub. Si le service retourne une erreur sur l’opération de correctif, cette fonction déclenche l’erreur appropriée. |
receive_message |
Recevez un message qui a été envoyé à partir du Azure IoT Hub. Si aucun message n’est encore disponible, attend qu’un élément soit disponible. Déconseillé depuis la version 2.3.0 : nous vous recommandons d’utiliser la propriété .on_message_received pour définir un gestionnaire à la place |
receive_method_request |
Recevez une demande de méthode via le Azure IoT Hub ou Azure IoT Edge Hub. Si aucune demande de méthode n’est encore disponible, attend qu’elle soit disponible. Déconseillé depuis la version 2.3.0 : nous vous recommandons d’utiliser la propriété .on_method_request_received pour définir un gestionnaire à la place |
receive_twin_desired_properties_patch |
Recevez un correctif de propriété souhaité via le Azure IoT Hub ou Azure IoT Edge Hub. Si aucune demande de méthode n’est encore disponible, attend qu’elle soit disponible. Déconseillé depuis la version 2.3.0 : nous vous recommandons d’utiliser la propriété .on_twin_desired_properties_patch_received pour définir un gestionnaire à la place |
send_message |
Envoie un message au point de terminaison d’événements par défaut sur le instance azure Azure IoT Hub ou Azure IoT Edge Hub. Si la connexion au service n’a pas encore été ouverte par un appel à se connecter, cette fonction ouvre la connexion avant d’envoyer l’événement. |
send_method_response |
Envoyez une réponse à une demande de méthode via le Azure IoT Hub ou Azure IoT Edge Hub. Si la connexion au service n’a pas encore été ouverte par un appel à se connecter, cette fonction ouvre la connexion avant d’envoyer l’événement. |
shutdown |
Arrêtez le client pour une sortie normale. Une fois cette méthode appelée, toutes les tentatives d’appels de client supplémentaires entraînent la levée d’une erreur ClientError |
update_sastoken |
Mettez à jour le jeton SAP du client utilisé pour l’authentification, puis réautorise la connexion. Cette API ne peut être utilisée que si le client a été créé initialement avec un jeton SAP. |
connect
Connecte le client à un instance Azure IoT Hub ou Azure IoT Edge Hub.
La destination est choisie en fonction des informations d’identification passées via le paramètre auth_provider qui a été fourni lors de l’initialisation de cet objet.
async connect()
Exceptions
si les informations d’identification ne sont pas valides et qu’une connexion ne peut pas être établie.
si l’établissement d’une connexion entraîne un échec.
si la connexion est perdue pendant l’exécution.
si la connexion expire.
en cas de défaillance inattendue lors de l’exécution.
create_from_connection_string
Instanciez le client à partir d’un appareil IoTHub ou d’une chaîne de connexion de module.
create_from_connection_string(connection_string, **kwargs)
Paramètres
- connection_string
- str
Chaîne de connexion pour l’IoTHub auquel vous souhaitez vous connecter.
- server_verification_cert
- str
Option de configuration. Chaîne de certificats approuvée. Nécessaire lors de l’utilisation de la connexion à un point de terminaison qui a une racine d’approbation non standard, telle qu’une passerelle de protocole.
- websockets
- bool
Option de configuration. La valeur par défaut est FALSE. Définissez sur true si vous utilisez MQTT sur des websockets.
Option de configuration. Suite de chiffrement pour TLS/SSL, sous forme de chaîne au « format de liste de chiffrement OpenSSL » ou de liste de chaînes de suite de chiffrement.
- product_info
- str
Option de configuration. La valeur par défaut est une chaîne vide. La chaîne contient des informations de produit arbitraires qui sont ajoutées à la chaîne de l’agent utilisateur.
- sastoken_ttl
- int
Durée de vie (en secondes) du SasToken créé utilisé pour l’authentification. La valeur par défaut est 3 600 secondes (1 heure).
- keep_alive
- int
Période maximale en secondes entre les communications avec le répartiteur. Si aucun autre message n’est échangé, cela contrôle la vitesse à laquelle le client envoie des messages ping au répartiteur. S’il n’est pas fourni, la valeur par défaut de 60 secondes est utilisée.
- auto_connect
- bool
Connectez automatiquement le client à IoTHub lorsqu’une méthode est appelée, ce qui nécessite l’établissement d’une connexion. (Valeur par défaut : True)
- connection_retry
- bool
Tentative de rétablir une connexion supprimée (valeur par défaut : True)
- connection_retry_interval
- int
Intervalle, en secondes, entre les tentatives de rétablir une connexion supprimée (valeur par défaut : 10)
- ensure_desired_properties
- bool
Vérifiez que le correctif des propriétés souhaitées le plus récent a été reçu lors des nouvelles connexions (Par défaut : True)
Retours
Une instance d’un client IoTHub qui utilise une chaîne de connexion pour l’authentification.
Exceptions
create_from_sastoken
Instancier le client à partir d’une chaîne de jeton SAS créée au préalable
create_from_sastoken(sastoken, **kwargs)
Paramètres
- server_verification_cert
- str
Option de configuration. Chaîne de certificats approuvée. Nécessaire lors de l’utilisation de la connexion à un point de terminaison qui a une racine d’approbation non standard, telle qu’une passerelle de protocole.
- gateway_hostname
- str
Option de configuration. Nom d’hôte de la passerelle pour l’appareil de passerelle.
- websockets
- bool
Option de configuration. La valeur par défaut est FALSE. Définissez sur true si vous utilisez MQTT sur des websockets.
Option de configuration. Suite de chiffrement pour TLS/SSL, sous forme de chaîne au « format de liste de chiffrement OpenSSL » ou de liste de chaînes de suite de chiffrement.
- product_info
- str
Option de configuration. La valeur par défaut est une chaîne vide. La chaîne contient des informations de produit arbitraires qui sont ajoutées à la chaîne de l’agent utilisateur.
- keep_alive
- int
Période maximale en secondes entre les communications avec le répartiteur. Si aucun autre message n’est échangé, cela contrôle la vitesse à laquelle le client envoie des messages ping au répartiteur. S’il n’est pas fourni, la valeur par défaut de 60 secondes est utilisée.
- auto_connect
- bool
Connectez automatiquement le client à IoTHub lorsqu’une méthode est appelée, ce qui nécessite l’établissement d’une connexion. (Valeur par défaut : True)
- connection_retry
- bool
Tentative de rétablir une connexion supprimée (valeur par défaut : True)
- connection_retry_interval
- int
Intervalle, en secondes, entre les tentatives de rétablir une connexion supprimée (valeur par défaut : 10)
- ensure_desired_properties
- bool
Vérifiez que le correctif des propriétés souhaitées le plus récent a été reçu lors des nouvelles connexions (Par défaut : True)
Exceptions
create_from_symmetric_key
Instancier un client à l’aide de l’authentification par clé symétrique.
create_from_symmetric_key(symmetric_key, hostname, device_id, **kwargs)
Paramètres
- symmetric_key
Clé symétrique.
- hostname
- str
Hôte exécutant IotHub. Vous trouverez le Portail Azure sous l’onglet Vue d’ensemble en tant que nom d’hôte de chaîne.
- device_id
ID de l’appareil
- server_verification_cert
- str
Option de configuration. Chaîne de certificats approuvée. Nécessaire lors de l’utilisation de la connexion à un point de terminaison qui a une racine d’approbation non standard, telle qu’une passerelle de protocole.
- gateway_hostname
- str
Option de configuration. Nom d’hôte de la passerelle pour l’appareil de passerelle.
- websockets
- bool
Option de configuration. La valeur par défaut est FALSE. Définissez sur true si vous utilisez MQTT sur des websockets.
Option de configuration. Suite(s) de chiffrement pour TLS/SSL, sous forme de chaîne au « format de liste de chiffrement OpenSSL » ou de liste de chaînes de suite de chiffrement.
- product_info
- str
Option de configuration. La valeur par défaut est une chaîne vide. La chaîne contient des informations de produit arbitraires qui sont ajoutées à la chaîne de l’agent utilisateur.
- sastoken_ttl
- int
Durée de vie (en secondes) du SasToken créé utilisé pour l’authentification. La valeur par défaut est de 3600 secondes (1 heure)
- keep_alive
- int
Période maximale en secondes entre les communications avec le répartiteur. Si aucun autre message n’est échangé, cela contrôle la vitesse à laquelle le client envoie des messages ping au répartiteur. S’il n’est pas fourni, la valeur par défaut de 60 secondes est utilisée.
- auto_connect
- bool
Connectez automatiquement le client à IoTHub lorsqu’une méthode est appelée, ce qui nécessite l’établissement d’une connexion. (Valeur par défaut : True)
- connection_retry
- bool
Tentative de rétablir une connexion supprimée (valeur par défaut : True)
- connection_retry_interval
- int
Intervalle, en secondes, entre les tentatives de rétablir une connexion supprimée (valeur par défaut : 10)
- ensure_desired_properties
- bool
Vérifiez que le correctif de propriétés souhaité le plus récent a été reçu lors des nouvelles connexions (Valeur par défaut :True)
Retours
Instance d’un client IoTHub qui utilise une clé symétrique pour l’authentification.
Exceptions
create_from_x509_certificate
Instancier un client à l’aide de l’authentification par certificat X509.
create_from_x509_certificate(x509, hostname, device_id, **kwargs)
Paramètres
- hostname
- str
Hôte exécutant l’IotHub. Vous trouverez le Portail Azure sous l’onglet Vue d’ensemble en tant que nom d’hôte de chaîne.
- x509
- X509
Objet de certificat x509 complet. Pour utiliser le certificat, l’objet d’inscription doit contenir un certificat (le certificat racine ou l’un des certificats d’autorité de certification intermédiaires). Si le certificat provient d’un fichier CER, il doit être encodé en base64.
- server_verification_cert
- str
Option de configuration. Chaîne de certificats approuvé. Nécessaire lors de l’utilisation de la connexion à un point de terminaison qui a une racine d’approbation non standard, telle qu’une passerelle de protocole.
- gateway_hostname
- str
Option de configuration. Nom d’hôte de la passerelle pour l’appareil de passerelle.
- websockets
- bool
Option de configuration. La valeur par défaut est FALSE. Définissez sur true si vous utilisez MQTT sur des websockets.
Option de configuration. Suite(s) de chiffrement pour TLS/SSL, sous forme de chaîne au « format de liste de chiffrement OpenSSL » ou de liste de chaînes de suite de chiffrement.
- product_info
- str
Option de configuration. La valeur par défaut est une chaîne vide. La chaîne contient des informations de produit arbitraires qui sont ajoutées à la chaîne de l’agent utilisateur.
- keep_alive
- int
Période maximale en secondes entre les communications avec le répartiteur. Si aucun autre message n’est échangé, cela contrôle la vitesse à laquelle le client envoie des messages ping au répartiteur. S’il n’est pas fourni, la valeur par défaut de 60 secondes est utilisée.
- auto_connect
- bool
Connectez automatiquement le client à IoTHub lorsqu’une méthode est appelée, ce qui nécessite l’établissement d’une connexion. (Valeur par défaut : True)
- connection_retry
- bool
Tentative de rétablir une connexion supprimée (valeur par défaut : True)
- connection_retry_interval
- int
Intervalle, en secondes, entre les tentatives de rétablir une connexion supprimée (valeur par défaut : 10)
- ensure_desired_properties
- bool
Vérifiez que le correctif de propriétés souhaité le plus récent a été reçu lors des nouvelles connexions (Valeur par défaut :True)
Retours
Une instance d’un client IoTHub qui utilise un certificat X509 pour l’authentification.
Exceptions
disconnect
Déconnectez le client du instance Azure IoT Hub ou Azure IoT Edge Hub.
Il est recommandé d’appeler cette coroutine lorsque vous avez terminé avec le instance client.
async disconnect()
Exceptions
en cas d’échec inattendu pendant l’exécution.
get_storage_info_for_blob
Envoie une requête POST via HTTP à un point de terminaison IoTHub qui retourne des informations pour le chargement via le compte de stockage Azure lié à l’IoTHub auquel votre appareil est connecté.
async get_storage_info_for_blob(blob_name)
Paramètres
- blob_name
- str
Nom au format chaîne de l’objet blob qui sera chargé à l’aide de l’API de stockage. Ce nom sera utilisé pour générer les informations d’identification appropriées pour le stockage et doit correspondre à ce qui sera utilisé avec le Kit de développement logiciel (SDK) Stockage Azure pour effectuer le chargement d’objets blob.
Retours
Un objet de type JSON (dictionnaire) de IoT Hub qui contiendra des informations pertinentes, notamment : correlationId, hostName, containerName, blobName, sasToken.
Exceptions
si les informations d’identification ne sont pas valides et qu’une connexion ne peut pas être établie.
si l’établissement d’une connexion entraîne un échec.
si la connexion est perdue pendant l’exécution.
si la connexion expire.
en cas de défaillance inattendue lors de l’exécution.
get_twin
Obtient le jumeau d’appareil ou de module à partir du service Azure IoT Hub ou Azure IoT Edge Hub.
async get_twin()
Retours
Terminer le jumeau en tant que dictée JSON
Type de retour
Exceptions
si les informations d’identification ne sont pas valides et qu’une connexion ne peut pas être établie.
si l’établissement d’une connexion entraîne un échec.
si la connexion est perdue pendant l’exécution.
si la tentative de connexion expire
si le client n’est pas connecté (et qu’aucune connexion automatique n’est activée)
en cas d’échec inattendu pendant l’exécution.
notify_blob_upload_status
Une fois le chargement terminé, l’appareil envoie une requête POST au point de terminaison IoT Hub avec des informations sur la status d’une tentative de chargement vers un objet blob. Cela est utilisé par IoT Hub pour notifier les clients à l’écoute.
async notify_blob_upload_status(correlation_id, is_success, status_code, status_description)
Paramètres
- status_code
- int
Code status numérique qui est la status pour le chargement du fichier dans le stockage.
Exceptions
si les informations d’identification ne sont pas valides et qu’une connexion ne peut pas être établie.
si l’établissement d’une connexion entraîne un échec.
si la connexion est perdue pendant l’exécution.
si la connexion expire.
en cas de défaillance inattendue lors de l’exécution.
patch_twin_reported_properties
Mettez à jour les propriétés signalées avec le service Azure IoT Hub ou Azure IoT Edge Hub.
Si le service retourne une erreur sur l’opération de correctif, cette fonction déclenche l’erreur appropriée.
async patch_twin_reported_properties(reported_properties_patch)
Paramètres
- reported_properties_patch
- dict
Correctif des propriétés signalées de jumeau sous forme de dictée JSON
Exceptions
si les informations d’identification ne sont pas valides et qu’une connexion ne peut pas être établie.
si l’établissement d’une connexion entraîne un échec.
si la connexion est perdue pendant l’exécution.
si la tentative de connexion expire
si le client n’est pas connecté (et qu’aucune connexion automatique n’est activée)
en cas d’échec inattendu pendant l’exécution.
receive_message
Recevez un message qui a été envoyé à partir du Azure IoT Hub.
Si aucun message n’est encore disponible, attend qu’un élément soit disponible.
Déconseillé depuis la version 2.3.0 : nous vous recommandons d’utiliser la propriété .on_message_received pour définir un gestionnaire à la place
receive_message()
Retours
Message envoyé par le Azure IoT Hub.
Type de retour
Exceptions
si les informations d’identification ne sont pas valides et qu’une connexion ne peut pas être établie.
si l’établissement d’une connexion entraîne un échec.
si la connexion est perdue pendant l’exécution.
si la connexion expire.
en cas de défaillance inattendue lors de l’exécution.
receive_method_request
Recevez une demande de méthode via le Azure IoT Hub ou Azure IoT Edge Hub.
Si aucune demande de méthode n’est encore disponible, attend qu’elle soit disponible.
Déconseillé depuis la version 2.3.0 : nous vous recommandons d’utiliser la propriété .on_method_request_received pour définir un gestionnaire à la place
receive_method_request(method_name=None)
Paramètres
- method_name
- str
Indiquez éventuellement le nom de la méthode pour laquelle recevoir des demandes. Si ce paramètre n’est pas donné, toutes les méthodes qui ne sont pas encore spécifiquement ciblées par un autre appel à receive_method seront reçues.
Retours
Objet MethodRequest représentant la demande de méthode reçue.
Type de retour
Exceptions
si les informations d’identification ne sont pas valides et qu’une connexion ne peut pas être établie.
si l’établissement d’une connexion entraîne un échec.
si la connexion est perdue pendant l’exécution.
si la connexion expire.
en cas de défaillance inattendue lors de l’exécution.
receive_twin_desired_properties_patch
Recevez un correctif de propriété souhaité via le Azure IoT Hub ou Azure IoT Edge Hub.
Si aucune demande de méthode n’est encore disponible, attend qu’elle soit disponible.
Déconseillé depuis la version 2.3.0 : nous vous recommandons d’utiliser la propriété .on_twin_desired_properties_patch_received pour définir un gestionnaire à la place
receive_twin_desired_properties_patch()
Retours
Correctif des propriétés souhaitées de jumeau en tant que dict JSON
Type de retour
Exceptions
si les informations d’identification ne sont pas valides et qu’une connexion ne peut pas être établie.
si l’établissement d’une connexion entraîne un échec.
si la connexion est perdue pendant l’exécution.
si la connexion expire.
en cas de défaillance inattendue lors de l’exécution.
send_message
Envoie un message au point de terminaison d’événements par défaut sur le instance azure Azure IoT Hub ou Azure IoT Edge Hub.
Si la connexion au service n’a pas encore été ouverte par un appel à se connecter, cette fonction ouvre la connexion avant d’envoyer l’événement.
async send_message(message)
Paramètres
- message
- Message
Message réel à envoyer. Tout ce qui est passé qui n’est pas une instance de la classe Message est converti en objet Message.
Exceptions
si les informations d’identification ne sont pas valides et qu’une connexion ne peut pas être établie.
si l’établissement d’une connexion entraîne un échec.
si la connexion est perdue pendant l’exécution.
si la tentative de connexion expire
si le client n’est pas connecté (et qu’aucune connexion automatique n’est activée)
en cas d’échec inattendu pendant l’exécution.
send_method_response
Envoyez une réponse à une demande de méthode via le Azure IoT Hub ou Azure IoT Edge Hub.
Si la connexion au service n’a pas encore été ouverte par un appel à se connecter, cette fonction ouvre la connexion avant d’envoyer l’événement.
async send_method_response(method_response)
Paramètres
Exceptions
si les informations d’identification ne sont pas valides et qu’une connexion ne peut pas être établie.
si l’établissement d’une connexion entraîne un échec.
si la connexion est perdue pendant l’exécution.
si la tentative de connexion expire
si le client n’est pas connecté (et qu’aucune connexion automatique n’est activée)
en cas d’échec inattendu pendant l’exécution.
shutdown
Arrêtez le client pour une sortie normale.
Une fois cette méthode appelée, toutes les tentatives d’appels de client supplémentaires entraînent la levée d’une erreur ClientError
async shutdown()
Exceptions
en cas d’échec inattendu pendant l’exécution.
update_sastoken
Mettez à jour le jeton SAP du client utilisé pour l’authentification, puis réautorise la connexion.
Cette API ne peut être utilisée que si le client a été créé initialement avec un jeton SAP.
async update_sastoken(sastoken)
Paramètres
Exceptions
si les informations d’identification ne sont pas valides et qu’une connexion ne peut pas être rétablie.
si le rétablissement de la connexion entraîne un échec.
si la connexion est perdue pendant l’exécution.
si la tentative de réautorisation expire.
si le client n’a pas été initialement créé avec un jeton SAP.
en cas d’échec inattendu pendant l’exécution.
Attributs
connected
Propriété en lecture seule pour indiquer si le transport est connecté ou non.
on_background_exception
La fonction de gestionnaire ou coroutine est appelée lorsqu’une exception d’arrière-plan se produit.
La fonction ou la définition de coroutine doit prendre un argument positionnel (l’objet exception)
on_connection_state_change
Fonction de gestionnaire ou coroutine qui sera appelée lorsque l’état de la connexion change.
La fonction ou la définition de coroutine ne doit prendre aucun argument positionnel.
on_message_received
Fonction de gestionnaire ou coroutine qui sera appelée lors de la réception d’un message.
La fonction ou la définition de coroutine doit prendre un argument positionnel (l’objet Message )
on_method_request_received
Fonction de gestionnaire ou coroutine qui sera appelée lors de la réception d’une demande de méthode.
N’oubliez pas d’accuser réception de la demande de méthode dans votre fonction ou coroutine via l’utilisation de la méthode .send_method_response() du client.
La fonction ou la définition de coroutine doit prendre un argument positionnel (l’objet MethodRequest )
on_new_sastoken_required
Fonction de gestionnaire ou coroutine qui sera appelée lorsque le client aura besoin d’un nouveau jeton SAS. Cela se produit environ 2 minutes avant l’expiration du jeton SAS. Sur les plateformes Windows, si la durée de vie dépasse environ 49 jours, un nouveau jeton sera nécessaire après ces 49 jours, quelle que soit la durée de vie de la SAP.
Notez que ce gestionnaire est nécessaire UNIQUEMENT lors de l’utilisation d’un client créé via la méthode .create_from_sastoken().
Le nouveau jeton peut être fourni dans votre fonction ou coroutine à l’aide de la méthode .update_sastoken() du client.
La fonction ou la définition de coroutine ne doit prendre aucun argument positionnel.
on_twin_desired_properties_patch_received
Fonction de gestionnaire ou coroutine qui sera appelée lors de la réception d’un correctif des propriétés souhaitées de jumeau.
La fonction ou la définition de coroutine doit prendre un argument positionnel (le correctif de jumeau sous la forme d’un objet de dictionnaire JSON)
Azure SDK for Python