IoTHubDeviceClient Klasse
Ein synchroner Geräteclient, der eine Verbindung mit einem Azure IoT Hub instance herstellt.
Initialisierer für einen IoTHubDeviceClient.
Dieser Initialisierer sollte nicht direkt aufgerufen werden. Verwenden Sie stattdessen eine der ">>create_from_<<"-Klassenmethoden, um zu instanziieren.
- Vererbung
-
azure.iot.device.iothub.sync_clients.GenericIoTHubClientIoTHubDeviceClientazure.iot.device.iothub.abstract_clients.AbstractIoTHubDeviceClientIoTHubDeviceClient
Konstruktor
IoTHubDeviceClient(mqtt_pipeline, http_pipeline)
Parameter
- mqtt_pipeline
- <xref:azure.iot.device.iothub.pipeline.MQTTPipeline>
Die Pipeline, die zum Herstellen einer Verbindung mit dem IoTHub-Endpunkt verwendet wird.
- http_pipeline
Methoden
connect |
Verbindet den Client mit einem Azure IoT Hub oder azure IoT Edge Hub instance. Das Ziel wird basierend auf den Anmeldeinformationen ausgewählt, die über den parameter auth_provider übergeben wurden, der bei der Initialisierung dieses Objekts angegeben wurde. Dies ist ein synchroner Aufruf, d. h. diese Funktion wird erst zurückgegeben, wenn die Verbindung mit dem Dienst vollständig hergestellt wurde. |
create_from_connection_string |
Instanziieren Sie den Client von einem IoTHub-Gerät oder einer Modulverbindungszeichenfolge. |
create_from_sastoken |
Instanziieren des Clients aus einer vorab erstellten SAS-Tokenzeichenfolge |
create_from_symmetric_key |
Instanziieren sie einen Client mithilfe der symmetrischen Schlüsselauthentifizierung. |
create_from_x509_certificate |
Instanziieren sie einen Client mithilfe der X509-Zertifikatauthentifizierung. |
disconnect |
Trennen Sie den Client vom Azure IoT Hub- oder Azure IoT Edge Hub-instance. Es wird empfohlen, dass Sie diese Funktion aufrufen, wenn Sie mit dem Client instance vollständig fertig sind. Dies ist ein synchroner Aufruf, was bedeutet, dass diese Funktion erst zurückgegeben wird, wenn die Verbindung mit dem Dienst vollständig geschlossen wurde. |
get_storage_info_for_blob |
Sendet eine POST-Anforderung über HTTP an einen IoTHub-Endpunkt, der Informationen zum Hochladen über das Azure Storage-Konto zurückgibt, das mit dem IoTHub verknüpft ist, mit dem Ihr Gerät verbunden ist. |
get_twin |
Ruft den Geräte- oder Modulzwillen aus dem Azure IoT Hub- oder Azure IoT Edge Hub-Dienst ab. Dies ist ein synchroner Aufruf, was bedeutet, dass diese Funktion erst zurückgegeben wird, wenn der Zwilling aus dem Dienst abgerufen wurde. |
notify_blob_upload_status |
Wenn der Upload abgeschlossen ist, sendet das Gerät eine POST-Anforderung an den IoT Hub-Endpunkt mit Informationen zum status eines Uploads in blobs. Dies wird von IoT Hub verwendet, um lauschende Clients zu benachrichtigen. |
patch_twin_reported_properties |
Aktualisieren Sie gemeldete Eigenschaften mit dem Azure IoT Hub- oder Azure IoT Edge Hub-Dienst. Dies ist ein synchroner Aufruf, was bedeutet, dass diese Funktion erst zurückgegeben wird, wenn der Patch an den Dienst gesendet und bestätigt wurde. Wenn der Dienst einen Fehler für den Patchvorgang zurückgibt, löst diese Funktion den entsprechenden Fehler aus. |
receive_message |
Erhalten Sie eine Nachricht, die vom Azure IoT Hub gesendet wurde. Seit Version 2.3.0 veraltet: Es wird empfohlen, stattdessen die .on_message_received-Eigenschaft zum Festlegen eines Handlers zu verwenden. |
receive_method_request |
Erhalten Sie eine Methodenanforderung über den Azure IoT Hub oder Azure IoT Edge Hub. Seit Version 2.3.0 veraltet: Es wird empfohlen, stattdessen die .on_method_request_received-Eigenschaft zum Festlegen eines Handlers zu verwenden. |
receive_twin_desired_properties_patch |
Erhalten Sie einen gewünschten Eigenschaftenpatch über den Azure IoT Hub oder Azure IoT Edge Hub. Hierbei handelt es sich um einen synchronen Aufruf, d. h. folgendes:
Seit Version 2.3.0 veraltet: Es wird empfohlen, stattdessen die .on_twin_desired_properties_patch_received-Eigenschaft zum Festlegen eines Handlers zu verwenden. |
send_message |
Sendet eine Nachricht an den Standardendpunkt für Ereignisse auf dem Azure IoT Hub oder Azure IoT Edge Hub instance. Dies ist ein synchrones Ereignis, was bedeutet, dass diese Funktion erst zurückgegeben wird, wenn das Ereignis an den Dienst gesendet wurde und der Dienst den Empfang des Ereignisses bestätigt hat. Wenn die Verbindung mit dem Dienst zuvor nicht durch einen Verbindungsaufruf geöffnet wurde, öffnet diese Funktion die Verbindung vor dem Senden des Ereignisses. |
send_method_response |
Senden Sie eine Antwort auf eine Methodenanforderung über den Azure IoT Hub oder Azure IoT Edge Hub. Dies ist ein synchrones Ereignis, was bedeutet, dass diese Funktion erst zurückgegeben wird, wenn das Ereignis an den Dienst gesendet wurde und der Dienst den Empfang des Ereignisses bestätigt hat. Wenn die Verbindung mit dem Dienst zuvor nicht durch einen Verbindungsaufruf geöffnet wurde, öffnet diese Funktion die Verbindung vor dem Senden des Ereignisses. |
shutdown |
Fahren Sie den Client herunter, um ordnungsgemäß zu beenden. Sobald diese Methode aufgerufen wird, führen alle Versuche mit weiteren Clientaufrufen dazu, dass ein ClientFehler ausgelöst wird. |
update_sastoken |
Aktualisieren Sie das SAS-Token des Clients, das für die Authentifizierung verwendet wird, und authentifizieren Sie die Verbindung erneut. Diese API kann nur verwendet werden, wenn der Client ursprünglich mit einem SAS-Token erstellt wurde. |
connect
Verbindet den Client mit einem Azure IoT Hub oder azure IoT Edge Hub instance.
Das Ziel wird basierend auf den Anmeldeinformationen ausgewählt, die über den parameter auth_provider übergeben wurden, der bei der Initialisierung dieses Objekts angegeben wurde.
Dies ist ein synchroner Aufruf, d. h. diese Funktion wird erst zurückgegeben, wenn die Verbindung mit dem Dienst vollständig hergestellt wurde.
connect()
Ausnahmen
, wenn anmeldeinformationen ungültig sind und keine Verbindung hergestellt werden kann.
, wenn ein Verbindungsaufbau zu einem Fehler führt.
, wenn die Verbindung während der Ausführung unterbrochen wird.
, wenn für die Verbindung ein Timeout besteht.
, wenn während der Ausführung ein unerwarteter Fehler auftritt.
create_from_connection_string
Instanziieren Sie den Client von einem IoTHub-Gerät oder einer Modulverbindungszeichenfolge.
create_from_connection_string(connection_string, **kwargs)
Parameter
- connection_string
- str
Die Verbindungszeichenfolge für die IoTHub-Instanz, mit der Sie eine Verbindung herstellen möchten.
- server_verification_cert
- str
Konfigurationsoption. Die vertrauenswürdige Zertifikatkette. Erforderlich, wenn Sie eine Verbindung mit einem Endpunkt herstellen, der über einen nicht standardmäßigen Vertrauensstamm verfügt, z. B. ein Protokollgateway.
- websockets
- bool
Konfigurationsoption. Der Standardwert lautet False. Legen Sie bei Verwendung von MQTT über Websockets auf TRUE fest.
Konfigurationsoption. Verschlüsselungssammlungen für TLS/SSL, als Zeichenfolge im OpenSSL-Verschlüsselungslistenformat oder als Liste von Verschlüsselungssammlungszeichenfolgen.
- product_info
- str
Konfigurationsoption. Der Standardwert ist eine leere Zeichenfolge. Die Zeichenfolge enthält beliebige Produktinformationen, die an die Benutzer-Agent-Zeichenfolge angefügt werden.
- sastoken_ttl
- int
Die Gültigkeitsdauer (in Sekunden) für das erstellte SasToken, das für die Authentifizierung verwendet wird. Der Standardwert ist 3600 Sekunden (1 Stunde).
- keep_alive
- int
Maximaler Zeitraum in Sekunden zwischen der Kommunikation mit dem Broker. Wenn keine anderen Nachrichten ausgetauscht werden, steuert dies die Rate, mit der der Client Pingnachrichten an den Broker sendet. Wenn nicht angegeben, wird der Standardwert von 60 Sekunden verwendet.
- auto_connect
- bool
Stellen Sie automatisch eine Verbindung zwischen dem Client und IoTHub her, wenn eine Methode aufgerufen wird, für die eine Verbindung hergestellt werden muss. (Standard: TRUE)
- connection_retry
- bool
Versuch, eine unterbrochene Verbindung wie zu wiederherstellen (Standard: True)
- connection_retry_interval
- int
Intervall in Sekunden zwischen versuchen, eine unterbrochene Verbindung wie möglich herzustellen (Standard: 10)
- ensure_desired_properties
- bool
Stellen Sie sicher, dass der neueste Patch für die gewünschten Eigenschaften bei erneuten Verbindungen empfangen wurde (Standard: True).
Gibt zurück
Ein instance eines IoTHub-Clients, der eine Verbindungszeichenfolge für die Authentifizierung verwendet.
Ausnahmen
create_from_sastoken
Instanziieren des Clients aus einer vorab erstellten SAS-Tokenzeichenfolge
create_from_sastoken(sastoken, **kwargs)
Parameter
- server_verification_cert
- str
Konfigurationsoption. Die vertrauenswürdige Zertifikatkette. Erforderlich, wenn Sie eine Verbindung mit einem Endpunkt herstellen, der über einen nicht standardmäßigen Vertrauensstamm verfügt, z. B. ein Protokollgateway.
- websockets
- bool
Konfigurationsoption. Der Standardwert lautet False. Legen Sie bei Verwendung von MQTT über Websockets auf TRUE fest.
Konfigurationsoption. Verschlüsselungssammlungen für TLS/SSL, als Zeichenfolge im OpenSSL-Verschlüsselungslistenformat oder als Liste von Verschlüsselungssammlungszeichenfolgen.
- product_info
- str
Konfigurationsoption. Der Standardwert ist eine leere Zeichenfolge. Die Zeichenfolge enthält beliebige Produktinformationen, die an die Benutzer-Agent-Zeichenfolge angefügt werden.
- keep_alive
- int
Maximaler Zeitraum in Sekunden zwischen der Kommunikation mit dem Broker. Wenn keine anderen Nachrichten ausgetauscht werden, steuert dies die Rate, mit der der Client Pingnachrichten an den Broker sendet. Wenn nicht angegeben, wird der Standardwert von 60 Sekunden verwendet.
- auto_connect
- bool
Stellen Sie automatisch eine Verbindung zwischen dem Client und IoTHub her, wenn eine Methode aufgerufen wird, für die eine Verbindung hergestellt werden muss. (Standard: TRUE)
- connection_retry
- bool
Versuch, eine unterbrochene Verbindung wie zu wiederherstellen (Standard: True)
- connection_retry_interval
- int
Intervall in Sekunden zwischen versuchen, eine unterbrochene Verbindung wie möglich herzustellen (Standard: 10)
- ensure_desired_properties
- bool
Stellen Sie sicher, dass der neueste Patch für die gewünschten Eigenschaften bei erneuten Verbindungen empfangen wurde (Standard: True).
Ausnahmen
create_from_symmetric_key
Instanziieren sie einen Client mithilfe der symmetrischen Schlüsselauthentifizierung.
create_from_symmetric_key(symmetric_key, hostname, device_id, **kwargs)
Parameter
- symmetric_key
Der symmetrische Schlüssel.
- hostname
- str
Host, auf dem iotHub ausgeführt wird. Befindet sich im Azure-Portal auf der Registerkarte Übersicht als Zeichenfolgenhostname.
- device_id
Der Geräte-ID
- server_verification_cert
- str
Konfigurationsoption. Die vertrauenswürdige Zertifikatkette. Erforderlich, wenn Sie eine Verbindung mit einem Endpunkt herstellen, der über einen nicht standardmäßigen Vertrauensstamm verfügt, z. B. ein Protokollgateway.
- websockets
- bool
Konfigurationsoption. Der Standardwert lautet False. Legen Sie bei Verwendung von MQTT über Websockets auf true fest.
Konfigurationsoption. Cipher Suite(s) für TLS/SSL, als Zeichenfolge im "OpenSSL-Verschlüsselungslistenformat" oder als Liste von Verschlüsselungssuitezeichenfolgen.
- product_info
- str
Konfigurationsoption. Der Standardwert ist eine leere Zeichenfolge. Die Zeichenfolge enthält beliebige Produktinformationen, die an die Benutzer-Agent-Zeichenfolge angefügt werden.
- sastoken_ttl
- int
Die Gültigkeitsdauer (in Sekunden) für das erstellte SasToken, das für die Authentifizierung verwendet wird. Der Standardwert ist 3600 Sekunden (1 Stunde).
- keep_alive
- int
Maximaler Zeitraum in Sekunden zwischen der Kommunikation mit dem Broker. Wenn keine anderen Nachrichten ausgetauscht werden, steuert dies die Rate, mit der der Client Pingnachrichten an den Broker sendet. Wenn nicht angegeben, wird der Standardwert von 60 Sekunden verwendet.
- auto_connect
- bool
Verbinden Sie den Client automatisch mit IoTHub, wenn eine Methode aufgerufen wird, die eine Verbindung erfordert. (Standard: TRUE)
- connection_retry
- bool
Versuchen Sie, eine gelöschte Verbindung erneut herzustellen (Standard: True)
- connection_retry_interval
- int
Intervall in Sekunden zwischen versuchen, eine gelöschte Verbindung erneut herzustellen (Standard: 10)
- ensure_desired_properties
- bool
Stellen Sie sicher, dass der neueste gewünschte Eigenschaftenpatch bei erneuten Verbindungen empfangen wurde (Standard:True).
Gibt zurück
Ein instance eines IoTHub-Clients, der einen symmetrischen Schlüssel für die Authentifizierung verwendet.
Ausnahmen
create_from_x509_certificate
Instanziieren sie einen Client mithilfe der X509-Zertifikatauthentifizierung.
create_from_x509_certificate(x509, hostname, device_id, **kwargs)
Parameter
- hostname
- str
Host, der iotHub ausführt. Finden Sie im Azure-Portal auf der Registerkarte Übersicht als Zeichenfolgenhostname.
- x509
- X509
Das vollständige x509-Zertifikatobjekt. Um das Zertifikat zu verwenden, muss das Registrierungsobjekt ein Zertifikat (entweder das Stammzertifikat oder eines der Zwischenzertifikate der Zertifizierungsstelle) enthalten. Wenn das Zertifikat aus einer CER-Datei stammt, muss es base64-codiert sein.
- device_id
- str
Die ID, die zum eindeutigen Identifizieren eines Geräts in IoTHub verwendet wird
- server_verification_cert
- str
Konfigurationsoption. Die vertrauenswürdige Zertifikatkette. Erforderlich, wenn eine Verbindung mit einem Endpunkt verwendet wird, der über einen nicht standardmäßigen Vertrauensstamm verfügt, z. B. ein Protokollgateway.
- websockets
- bool
Konfigurationsoption. Der Standardwert lautet False. Legen Sie bei Verwendung von MQTT über Websockets auf true fest.
Konfigurationsoption. Cipher Suite(s) für TLS/SSL, als Zeichenfolge im "OpenSSL-Verschlüsselungslistenformat" oder als Liste von Verschlüsselungssuitezeichenfolgen.
- product_info
- str
Konfigurationsoption. Der Standardwert ist eine leere Zeichenfolge. Die Zeichenfolge enthält beliebige Produktinformationen, die an die Benutzer-Agent-Zeichenfolge angefügt werden.
- keep_alive
- int
Maximaler Zeitraum in Sekunden zwischen der Kommunikation mit dem Broker. Wenn keine anderen Nachrichten ausgetauscht werden, steuert dies die Rate, mit der der Client Pingnachrichten an den Broker sendet. Wenn nicht angegeben, wird der Standardwert von 60 Sekunden verwendet.
- auto_connect
- bool
Verbinden Sie den Client automatisch mit IoTHub, wenn eine Methode aufgerufen wird, die eine Verbindung erfordert. (Standard: TRUE)
- connection_retry
- bool
Versuchen Sie, eine gelöschte Verbindung erneut herzustellen (Standard: True)
- connection_retry_interval
- int
Intervall in Sekunden zwischen versuchen, eine gelöschte Verbindung erneut herzustellen (Standard: 10)
- ensure_desired_properties
- bool
Stellen Sie sicher, dass der neueste gewünschte Eigenschaftenpatch bei erneuten Verbindungen empfangen wurde (Standard:True).
Gibt zurück
Ein instance eines IoTHub-Clients, der ein X509-Zertifikat für die Authentifizierung verwendet.
Ausnahmen
disconnect
Trennen Sie den Client vom Azure IoT Hub- oder Azure IoT Edge Hub-instance.
Es wird empfohlen, dass Sie diese Funktion aufrufen, wenn Sie mit dem Client instance vollständig fertig sind.
Dies ist ein synchroner Aufruf, was bedeutet, dass diese Funktion erst zurückgegeben wird, wenn die Verbindung mit dem Dienst vollständig geschlossen wurde.
disconnect()
Ausnahmen
, wenn während der Ausführung ein unerwarteter Fehler auftritt.
get_storage_info_for_blob
Sendet eine POST-Anforderung über HTTP an einen IoTHub-Endpunkt, der Informationen zum Hochladen über das Azure Storage-Konto zurückgibt, das mit dem IoTHub verknüpft ist, mit dem Ihr Gerät verbunden ist.
get_storage_info_for_blob(blob_name)
Parameter
- blob_name
- str
Der Name im Zeichenfolgenformat des Blobs, das mithilfe der Speicher-API hochgeladen wird. Dieser Name wird verwendet, um die richtigen Anmeldeinformationen für Storage zu generieren, und muss mit dem übereinstimmen, was mit dem Azure Storage SDK zum Ausführen des Blobuploads verwendet wird.
Gibt zurück
Ein JSON-ähnliches (Wörterbuch)-Objekt aus IoT Hub, das relevante Informationen enthält, einschließlich: correlationId, hostName, containerName, blobName, sasToken.
Ausnahmen
, wenn anmeldeinformationen ungültig sind und keine Verbindung hergestellt werden kann.
, wenn ein Verbindungsaufbau zu einem Fehler führt.
, wenn die Verbindung während der Ausführung unterbrochen wird.
, wenn für die Verbindung ein Timeout besteht.
, wenn während der Ausführung ein unerwarteter Fehler auftritt.
get_twin
Ruft den Geräte- oder Modulzwillen aus dem Azure IoT Hub- oder Azure IoT Edge Hub-Dienst ab.
Dies ist ein synchroner Aufruf, was bedeutet, dass diese Funktion erst zurückgegeben wird, wenn der Zwilling aus dem Dienst abgerufen wurde.
get_twin()
Gibt zurück
Vollständiger Zwilling als JSON-Dikt
Rückgabetyp
Ausnahmen
, wenn anmeldeinformationen ungültig sind und keine Verbindung hergestellt werden kann.
, wenn ein Verbindungsaufbau zu einem Fehler führt.
, wenn die Verbindung während der Ausführung verloren geht.
wenn das Zeitüberschreitungsüberschreitung bei Verbindungsversuchen auftritt
wenn der Client nicht verbunden ist (und keine automatische Verbindung aktiviert ist)
, wenn während der Ausführung ein unerwarteter Fehler auftritt.
notify_blob_upload_status
Wenn der Upload abgeschlossen ist, sendet das Gerät eine POST-Anforderung an den IoT Hub-Endpunkt mit Informationen zum status eines Uploads in blobs. Dies wird von IoT Hub verwendet, um lauschende Clients zu benachrichtigen.
notify_blob_upload_status(correlation_id, is_success, status_code, status_description)
Parameter
- is_success
- bool
Ein boolescher Wert, der angibt, ob die Datei erfolgreich hochgeladen wurde.
- status_code
- int
Ein numerischer status Code, der die status für das Hochladen der Datei in den Speicher darstellt.
Ausnahmen
, wenn anmeldeinformationen ungültig sind und keine Verbindung hergestellt werden kann.
, wenn ein Verbindungsaufbau zu einem Fehler führt.
, wenn die Verbindung während der Ausführung unterbrochen wird.
, wenn für die Verbindung ein Timeout besteht.
, wenn während der Ausführung ein unerwarteter Fehler auftritt.
patch_twin_reported_properties
Aktualisieren Sie gemeldete Eigenschaften mit dem Azure IoT Hub- oder Azure IoT Edge Hub-Dienst.
Dies ist ein synchroner Aufruf, was bedeutet, dass diese Funktion erst zurückgegeben wird, wenn der Patch an den Dienst gesendet und bestätigt wurde.
Wenn der Dienst einen Fehler für den Patchvorgang zurückgibt, löst diese Funktion den entsprechenden Fehler aus.
patch_twin_reported_properties(reported_properties_patch)
Parameter
Ausnahmen
, wenn anmeldeinformationen ungültig sind und keine Verbindung hergestellt werden kann.
, wenn ein Verbindungsaufbau zu einem Fehler führt.
, wenn die Verbindung während der Ausführung verloren geht.
wenn das Zeitüberschreitungsüberschreitung bei Verbindungsversuchen auftritt
wenn der Client nicht verbunden ist (und keine automatische Verbindung aktiviert ist)
, wenn während der Ausführung ein unerwarteter Fehler auftritt.
receive_message
Erhalten Sie eine Nachricht, die vom Azure IoT Hub gesendet wurde.
Seit Version 2.3.0 veraltet: Es wird empfohlen, stattdessen die .on_message_received-Eigenschaft zum Festlegen eines Handlers zu verwenden.
receive_message(block=True, timeout=None)
Parameter
- block
- bool
Gibt an, ob der Vorgang blockiert werden soll, bis eine Nachricht empfangen wird.
- timeout
- int
Geben Sie optional eine Anzahl von Sekunden an, bis das Blockieren ein Timeout hat.
Gibt zurück
Nachricht, die vom Azure IoT Hub gesendet wurde, oder Keine, wenn bis zum Ende des Sperrzeitraums keine Methodenanforderung empfangen wurde.
Rückgabetyp
Ausnahmen
, wenn anmeldeinformationen ungültig sind und keine Verbindung hergestellt werden kann.
, wenn ein Verbindungsaufbau zu einem Fehler führt.
, wenn die Verbindung während der Ausführung unterbrochen wird.
, wenn für die Verbindung ein Timeout besteht.
, wenn während der Ausführung ein unerwarteter Fehler auftritt.
receive_method_request
Erhalten Sie eine Methodenanforderung über den Azure IoT Hub oder Azure IoT Edge Hub.
Seit Version 2.3.0 veraltet: Es wird empfohlen, stattdessen die .on_method_request_received-Eigenschaft zum Festlegen eines Handlers zu verwenden.
receive_method_request(method_name=None, block=True, timeout=None)
Parameter
- method_name
- str
Geben Sie optional den Namen der Methode an, für die Anforderungen empfangen werden sollen. Wenn dieser Parameter nicht angegeben wird, werden alle Methoden empfangen, die nicht bereits speziell für eine andere Anforderung an receive_method verwendet werden.
- block
- bool
Gibt an, ob der Vorgang blockiert werden soll, bis eine Anforderung empfangen wird.
- timeout
- int
Geben Sie optional eine Anzahl von Sekunden an, bis das Blockieren ein Timeout hat.
Gibt zurück
MethodRequest-Objekt, das die empfangene Methodenanforderung darstellt, oder None, wenn bis zum Ende des Sperrzeitraums keine Methodenanforderung empfangen wurde.
Ausnahmen
, wenn anmeldeinformationen ungültig sind und keine Verbindung hergestellt werden kann.
, wenn ein Verbindungsaufbau zu einem Fehler führt.
, wenn die Verbindung während der Ausführung unterbrochen wird.
, wenn für die Verbindung ein Timeout besteht.
, wenn während der Ausführung ein unerwarteter Fehler auftritt.
receive_twin_desired_properties_patch
Erhalten Sie einen gewünschten Eigenschaftenpatch über den Azure IoT Hub oder Azure IoT Edge Hub.
Hierbei handelt es sich um einen synchronen Aufruf, d. h. folgendes:
Wenn block=True, wird diese Funktion blockiert, bis eine der folgenden Aktionen erfolgt:
Ein gewünschter Eigenschaftenpatch wird vom Azure IoT Hub oder Azure IoT Edge Hub empfangen.
der Timeoutzeitraum, sofern angegeben, verstreicht. Wenn ein Timeout auftritt, löst diese Funktion eine InboxEmpty-Ausnahme aus.
Wenn block=False, gibt diese Funktion alle gewünschten Eigenschaftenpatches zurück, die möglicherweise von der Pipeline empfangen, aber noch nicht an die Anwendung zurückgegeben wurden. Wenn keine gewünschten Eigenschaftenpatches von der Pipeline empfangen wurden, löst diese Funktion eine InboxEmpty-Ausnahme aus.
Seit Version 2.3.0 veraltet: Es wird empfohlen, stattdessen die .on_twin_desired_properties_patch_received-Eigenschaft zum Festlegen eines Handlers zu verwenden.
receive_twin_desired_properties_patch(block=True, timeout=None)
Parameter
- block
- bool
Gibt an, ob der Vorgang blockiert werden soll, bis eine Anforderung empfangen wird.
- timeout
- int
Geben Sie optional eine Anzahl von Sekunden an, bis das Blockieren ein Timeout hat.
Gibt zurück
Twin Desired Properties-Patch als JSON-Diktat oder None, wenn bis zum Ende des Sperrzeitraums kein Patch empfangen wurde
Rückgabetyp
Ausnahmen
, wenn anmeldeinformationen ungültig sind und keine Verbindung hergestellt werden kann.
, wenn ein Verbindungsaufbau zu einem Fehler führt.
, wenn die Verbindung während der Ausführung unterbrochen wird.
, wenn für die Verbindung ein Timeout besteht.
, wenn während der Ausführung ein unerwarteter Fehler auftritt.
send_message
Sendet eine Nachricht an den Standardendpunkt für Ereignisse auf dem Azure IoT Hub oder Azure IoT Edge Hub instance.
Dies ist ein synchrones Ereignis, was bedeutet, dass diese Funktion erst zurückgegeben wird, wenn das Ereignis an den Dienst gesendet wurde und der Dienst den Empfang des Ereignisses bestätigt hat.
Wenn die Verbindung mit dem Dienst zuvor nicht durch einen Verbindungsaufruf geöffnet wurde, öffnet diese Funktion die Verbindung vor dem Senden des Ereignisses.
send_message(message)
Parameter
- message
- Message
Die tatsächliche Nachricht, die gesendet werden soll. Alle übergebenen Elemente, die keine instance der Message-Klasse sind, werden in das Message-Objekt konvertiert.
Ausnahmen
, wenn anmeldeinformationen ungültig sind und keine Verbindung hergestellt werden kann.
, wenn ein Verbindungsaufbau zu einem Fehler führt.
, wenn die Verbindung während der Ausführung verloren geht.
wenn das Zeitüberschreitungsüberschreitung bei Verbindungsversuchen auftritt
wenn der Client nicht verbunden ist (und keine automatische Verbindung aktiviert ist)
, wenn während der Ausführung ein unerwarteter Fehler auftritt.
send_method_response
Senden Sie eine Antwort auf eine Methodenanforderung über den Azure IoT Hub oder Azure IoT Edge Hub.
Dies ist ein synchrones Ereignis, was bedeutet, dass diese Funktion erst zurückgegeben wird, wenn das Ereignis an den Dienst gesendet wurde und der Dienst den Empfang des Ereignisses bestätigt hat.
Wenn die Verbindung mit dem Dienst zuvor nicht durch einen Verbindungsaufruf geöffnet wurde, öffnet diese Funktion die Verbindung vor dem Senden des Ereignisses.
send_method_response(method_response)
Parameter
Ausnahmen
, wenn anmeldeinformationen ungültig sind und keine Verbindung hergestellt werden kann.
, wenn ein Verbindungsaufbau zu einem Fehler führt.
, wenn die Verbindung während der Ausführung verloren geht.
wenn das Zeitüberschreitungsüberschreitung bei Verbindungsversuchen auftritt
wenn der Client nicht verbunden ist (und keine automatische Verbindung aktiviert ist)
, wenn während der Ausführung ein unerwarteter Fehler auftritt.
shutdown
Fahren Sie den Client herunter, um ordnungsgemäß zu beenden.
Sobald diese Methode aufgerufen wird, führen alle Versuche mit weiteren Clientaufrufen dazu, dass ein ClientFehler ausgelöst wird.
shutdown()
Ausnahmen
, wenn während der Ausführung ein unerwarteter Fehler auftritt.
update_sastoken
Aktualisieren Sie das SAS-Token des Clients, das für die Authentifizierung verwendet wird, und authentifizieren Sie die Verbindung erneut.
Diese API kann nur verwendet werden, wenn der Client ursprünglich mit einem SAS-Token erstellt wurde.
update_sastoken(sastoken)
Parameter
Ausnahmen
, wenn die Anmeldeinformationen ungültig sind und eine Verbindung nicht wiederhergestellt werden kann.
, wenn ein erneutes Einrichten der Verbindung zu einem Fehler führt.
, wenn die Verbindung während der Ausführung verloren geht.
, wenn beim erneuten Autorisierungsversuch ein Zeitüberschreitungsversuch auftritt.
, wenn der Client ursprünglich nicht mit einem SAS-Token erstellt wurde.
, wenn während der Ausführung ein unerwarteter Fehler auftritt.
Attribute
connected
Schreibgeschützte Eigenschaft, um anzugeben, ob der Transport verbunden ist oder nicht.
on_background_exception
Die Handlerfunktion oder Coroutine wird aufgerufen, wenn eine Hintergrundausnahme auftritt.
Die Funktion oder Coroutinendefinition sollte ein Positionsargument (das Ausnahmeobjekt) annehmen.
on_connection_state_change
Die Handlerfunktion oder Coroutine, die aufgerufen wird, wenn sich der Verbindungszustand ändert.
Die Funktions- oder Coroutindefinition sollte keine Positionsargumente annehmen.
on_message_received
Die Handlerfunktion oder Coroutine, die aufgerufen wird, wenn eine Nachricht empfangen wird.
Die Funktion oder Coroutinendefinition sollte ein Positionsargument (das Message -Objekt) annehmen.
on_method_request_received
Die Handlerfunktion oder Coroutine, die aufgerufen wird, wenn eine Methodenanforderung empfangen wird.
Denken Sie daran, die Methodenanforderung in Ihrer Funktion oder Coroutine mithilfe der .send_method_response()-Methode des Clients zu bestätigen.
Die Funktion oder Coroutinendefinition sollte ein Positionsargument (das MethodRequest -Objekt) annehmen.
on_new_sastoken_required
Die Handlerfunktion oder Coroutine, die aufgerufen wird, wenn der Client ein neues SAS-Token benötigt. Dies geschieht ca. 2 Minuten vor Ablauf des SAS-Tokens. Wenn die Lebensdauer auf Windows-Plattformen ungefähr 49 Tage überschreitet, ist nach diesen 49 Tagen ein neues Token erforderlich, unabhängig davon, wie lange die SAS-Lebensdauer ist.
Beachten Sie, dass dieser Handler NUR erforderlich ist, wenn ein Client verwendet wird, der über die .create_from_sastoken()-Methode erstellt wurde.
Das neue Token kann in Ihrer Funktion oder Coroutine über die .update_sastoken()-Methode des Clients bereitgestellt werden.
Die Funktions- oder Coroutindefinition sollte keine Positionsargumente annehmen.
on_twin_desired_properties_patch_received
Die Handlerfunktion oder Coroutine, die aufgerufen wird, wenn ein Patch für die gewünschten Eigenschaften eines Zwillings empfangen wird.
Die Funktions- oder Coroutinendefinition sollte ein Positionsargument annehmen (der Zwillingspatch in Form eines JSON-Wörterbuchobjekts).
Azure SDK for Python