Freigeben über


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.GenericIoTHubClient
IoTHubDeviceClient
azure.iot.device.iothub.abstract_clients.AbstractIoTHubDeviceClient
IoTHubDeviceClient

Konstruktor

IoTHubDeviceClient(mqtt_pipeline, http_pipeline)

Parameter

mqtt_pipeline
<xref:azure.iot.device.iothub.pipeline.MQTTPipeline>
Erforderlich

Die Pipeline, die zum Herstellen einer Verbindung mit dem IoTHub-Endpunkt verwendet wird.

http_pipeline
Erforderlich

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:

  1. 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.

  2. 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.

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
Erforderlich

Die Verbindungszeichenfolge für die IoTHub-Instanz, mit der Sie eine Verbindung herstellen möchten.

server_verification_cert
str
Erforderlich

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
Erforderlich

Konfigurationsoption. Der Standardwert lautet False. Legen Sie bei Verwendung von MQTT über Websockets auf TRUE fest.

cipher
str oder list(str)
Erforderlich

Konfigurationsoption. Verschlüsselungssammlungen für TLS/SSL, als Zeichenfolge im OpenSSL-Verschlüsselungslistenformat oder als Liste von Verschlüsselungssammlungszeichenfolgen.

product_info
str
Erforderlich

Konfigurationsoption. Der Standardwert ist eine leere Zeichenfolge. Die Zeichenfolge enthält beliebige Produktinformationen, die an die Benutzer-Agent-Zeichenfolge angefügt werden.

proxy_options
ProxyOptions
Erforderlich

Optionen zum Senden von Datenverkehr über Proxyserver.

sastoken_ttl
int
Erforderlich

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
Erforderlich

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
Erforderlich

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
Erforderlich

Versuch, eine unterbrochene Verbindung wie zu wiederherstellen (Standard: True)

connection_retry_interval
int
Erforderlich

Intervall in Sekunden zwischen versuchen, eine unterbrochene Verbindung wie möglich herzustellen (Standard: 10)

ensure_desired_properties
bool
Erforderlich

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

ValueError if given an invalid connection_string.
TypeError if given an unsupported parameter.

create_from_sastoken

Instanziieren des Clients aus einer vorab erstellten SAS-Tokenzeichenfolge

create_from_sastoken(sastoken, **kwargs)

Parameter

sastoken
str
Erforderlich

Die SAS-Tokenzeichenfolge

server_verification_cert
str
Erforderlich

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.

gateway_hostname
str
Erforderlich

Konfigurationsoption. Der Gatewayhostname für das Gatewaygerät.

websockets
bool
Erforderlich

Konfigurationsoption. Der Standardwert lautet False. Legen Sie bei Verwendung von MQTT über Websockets auf TRUE fest.

cipher
str oder list(str)
Erforderlich

Konfigurationsoption. Verschlüsselungssammlungen für TLS/SSL, als Zeichenfolge im OpenSSL-Verschlüsselungslistenformat oder als Liste von Verschlüsselungssammlungszeichenfolgen.

product_info
str
Erforderlich

Konfigurationsoption. Der Standardwert ist eine leere Zeichenfolge. Die Zeichenfolge enthält beliebige Produktinformationen, die an die Benutzer-Agent-Zeichenfolge angefügt werden.

proxy_options
ProxyOptions
Erforderlich

Optionen zum Senden von Datenverkehr über Proxyserver.

keep_alive
int
Erforderlich

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
Erforderlich

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
Erforderlich

Versuch, eine unterbrochene Verbindung wie zu wiederherstellen (Standard: True)

connection_retry_interval
int
Erforderlich

Intervall in Sekunden zwischen versuchen, eine unterbrochene Verbindung wie möglich herzustellen (Standard: 10)

ensure_desired_properties
bool
Erforderlich

Stellen Sie sicher, dass der neueste Patch für die gewünschten Eigenschaften bei erneuten Verbindungen empfangen wurde (Standard: True).

Ausnahmen

TypeError if given an unsupported parameter.
ValueError if the sastoken parameter is invalid.

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
Erforderlich

Der symmetrische Schlüssel.

hostname
str
Erforderlich

Host, auf dem iotHub ausgeführt wird. Befindet sich im Azure-Portal auf der Registerkarte Übersicht als Zeichenfolgenhostname.

device_id
Erforderlich

Der Geräte-ID

server_verification_cert
str
Erforderlich

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.

gateway_hostname
str
Erforderlich

Konfigurationsoption. Der Gatewayhostname für das Gatewaygerät.

websockets
bool
Erforderlich

Konfigurationsoption. Der Standardwert lautet False. Legen Sie bei Verwendung von MQTT über Websockets auf true fest.

cipher
str oder list(str)
Erforderlich

Konfigurationsoption. Cipher Suite(s) für TLS/SSL, als Zeichenfolge im "OpenSSL-Verschlüsselungslistenformat" oder als Liste von Verschlüsselungssuitezeichenfolgen.

product_info
str
Erforderlich

Konfigurationsoption. Der Standardwert ist eine leere Zeichenfolge. Die Zeichenfolge enthält beliebige Produktinformationen, die an die Benutzer-Agent-Zeichenfolge angefügt werden.

proxy_options
ProxyOptions
Erforderlich

Optionen zum Senden von Datenverkehr über Proxyserver.

sastoken_ttl
int
Erforderlich

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
Erforderlich

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
Erforderlich

Verbinden Sie den Client automatisch mit IoTHub, wenn eine Methode aufgerufen wird, die eine Verbindung erfordert. (Standard: TRUE)

connection_retry
bool
Erforderlich

Versuchen Sie, eine gelöschte Verbindung erneut herzustellen (Standard: True)

connection_retry_interval
int
Erforderlich

Intervall in Sekunden zwischen versuchen, eine gelöschte Verbindung erneut herzustellen (Standard: 10)

ensure_desired_properties
bool
Erforderlich

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

TypeError if given an unsupported parameter.
ValueError if the provided parameters are invalid.

create_from_x509_certificate

Instanziieren sie einen Client mithilfe der X509-Zertifikatauthentifizierung.

create_from_x509_certificate(x509, hostname, device_id, **kwargs)

Parameter

hostname
str
Erforderlich

Host, der iotHub ausführt. Finden Sie im Azure-Portal auf der Registerkarte Übersicht als Zeichenfolgenhostname.

x509
X509
Erforderlich

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
Erforderlich

Die ID, die zum eindeutigen Identifizieren eines Geräts in IoTHub verwendet wird

server_verification_cert
str
Erforderlich

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.

gateway_hostname
str
Erforderlich

Konfigurationsoption. Der Gatewayhostname für das Gatewaygerät.

websockets
bool
Erforderlich

Konfigurationsoption. Der Standardwert lautet False. Legen Sie bei Verwendung von MQTT über Websockets auf true fest.

cipher
str oder list(str)
Erforderlich

Konfigurationsoption. Cipher Suite(s) für TLS/SSL, als Zeichenfolge im "OpenSSL-Verschlüsselungslistenformat" oder als Liste von Verschlüsselungssuitezeichenfolgen.

product_info
str
Erforderlich

Konfigurationsoption. Der Standardwert ist eine leere Zeichenfolge. Die Zeichenfolge enthält beliebige Produktinformationen, die an die Benutzer-Agent-Zeichenfolge angefügt werden.

proxy_options
ProxyOptions
Erforderlich

Optionen zum Senden von Datenverkehr über Proxyserver.

keep_alive
int
Erforderlich

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
Erforderlich

Verbinden Sie den Client automatisch mit IoTHub, wenn eine Methode aufgerufen wird, die eine Verbindung erfordert. (Standard: TRUE)

connection_retry
bool
Erforderlich

Versuchen Sie, eine gelöschte Verbindung erneut herzustellen (Standard: True)

connection_retry_interval
int
Erforderlich

Intervall in Sekunden zwischen versuchen, eine gelöschte Verbindung erneut herzustellen (Standard: 10)

ensure_desired_properties
bool
Erforderlich

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

TypeError if given an unsupported parameter.

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
Erforderlich

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

correlation_id
str
Erforderlich

Bereitgestellt von IoT Hub auf get_storage_info_for_blob Anfrage.

is_success
bool
Erforderlich

Ein boolescher Wert, der angibt, ob die Datei erfolgreich hochgeladen wurde.

status_code
int
Erforderlich

Ein numerischer status Code, der die status für das Hochladen der Datei in den Speicher darstellt.

status_description
str
Erforderlich

Eine Beschreibung, die dem status_code entspricht.

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

reported_properties_patch
dict
Erforderlich

Twin Reported Properties patch as a JSON dict

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
Erforderlich

Gibt an, ob der Vorgang blockiert werden soll, bis eine Nachricht empfangen wird.

timeout
int
Erforderlich

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
Standardwert: None

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
Standardwert: True

Gibt an, ob der Vorgang blockiert werden soll, bis eine Anforderung empfangen wird.

timeout
int
Standardwert: None

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:

  1. 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.

  2. 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
Standardwert: True

Gibt an, ob der Vorgang blockiert werden soll, bis eine Anforderung empfangen wird.

timeout
int
Standardwert: None

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

dict,

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
Erforderlich

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.

ValueError if the message fails size validation.

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

method_response
MethodResponse
Erforderlich

Die zu sendende MethodResponse.

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

sastoken
str
Erforderlich

Die neue SAS-Tokenzeichenfolge für den Client, die verwendet werden soll

Ausnahmen

ValueError if the sastoken parameter is invalid

, 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).