Freigeben über


IoTHubModuleClient Klasse

Ein synchroner Modulclient, der eine Verbindung mit einem Azure IoT Hub oder Azure IoT Edge instance herstellt.

Initialisierer für einen IoTHubModuleClient.

Dieser Initialisierer sollte nicht direkt aufgerufen werden. Verwenden Sie stattdessen eine der Methoden der ">>create_from_<<"-Klasse, um zu instanziieren.

Vererbung
azure.iot.device.iothub.sync_clients.GenericIoTHubClient
IoTHubModuleClient
azure.iot.device.iothub.abstract_clients.AbstractIoTHubModuleClient
IoTHubModuleClient

Konstruktor

IoTHubModuleClient(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
<xref:azure.iot.device.iothub.pipeline.HTTPPipeline>
Erforderlich

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

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, was bedeutet, dass diese Funktion erst zurückgegeben wird, wenn die Verbindung mit dem Dienst vollständig hergestellt wurde.

create_from_connection_string

Instanziieren Sie den Client aus einer IoTHub-Gerät- oder Modulverbindungszeichenfolge.

create_from_edge_environment

Instanziieren Sie den Client aus der IoT Edge Umgebung.

Diese Methode kann nur innerhalb eines IoT Edge-Containers oder in einer Debugumgebung ausgeführt werden, die für die Edge-Entwicklung konfiguriert ist (z. B. Visual Studio, Visual Studio Code).

create_from_sastoken

Instanziieren des Clients aus einer vorab erstellten SAS-Tokenzeichenfolge

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

invoke_method

Rufen Sie eine Methode von Ihrem Client auf einem Geräte- oder Modulclient auf, und erhalten Sie die Antwort auf den Methodenaufruf.

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_on_input

Empfangen sie eine Eingabenachricht, die von einem anderen Modul an eine bestimmte Eingabe 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 im Azure IoT Hub- oder Azure IoT Edge Hub-instance.

Dies ist ein synchrones Ereignis, d. h. diese Funktion wird erst zurückgegeben, 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 noch nicht durch einen Verbindungsaufruf geöffnet wurde, öffnet diese Funktion die Verbindung, bevor das Ereignis gesendet wird.

send_message_to_output

Sendet ein Ereignis/eine Nachricht an die angegebene Modulausgabe.

Dies sind ausgehende Ereignisse und sollen "Ausgabeereignisse" sein.

Dies ist ein synchrones Ereignis, d. h. diese Funktion wird erst zurückgegeben, 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 noch nicht durch einen Verbindungsaufruf geöffnet wurde, öffnet diese Funktion die Verbindung, bevor das Ereignis gesendet wird.

send_method_response

Senden einer Antwort auf eine Methodenanforderung über den Azure IoT Hub oder Azure IoT Edge Hub.

Dies ist ein synchrones Ereignis, d. h. diese Funktion wird erst zurückgegeben, 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 noch nicht durch einen Verbindungsaufruf geöffnet wurde, öffnet diese Funktion die Verbindung, bevor das Ereignis gesendet wird.

shutdown

Fahren Sie den Client für einen ordnungsgemäßen Beenden herunter.

Sobald diese Methode aufgerufen wurde, führen alle Versuche, weitere Clientaufrufe auszuführen, dazu, dass ein ClientError ausgelöst wird.

update_sastoken

Aktualisieren Sie das sas-Token des Clients, das für die Authentifizierung verwendet wird, und authentifiziert dann 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, was bedeutet, dass diese Funktion erst zurückgegeben wird, 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 verloren geht.

, wenn die Verbindung ein Timeout aufweist.

, wenn während der Ausführung ein unerwarteter Fehler auftritt.

create_from_connection_string

Instanziieren Sie den Client aus einer IoTHub-Gerät- oder Modulverbindungszeichenfolge.

create_from_connection_string(connection_string, **kwargs)

Parameter

connection_string
str
Erforderlich

Die Verbindungszeichenfolge für das IoTHub, mit dem Sie eine Verbindung herstellen möchten.

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.

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 eine Verbindungszeichenfolge für die Authentifizierung verwendet.

Ausnahmen

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

create_from_edge_environment

Instanziieren Sie den Client aus der IoT Edge Umgebung.

Diese Methode kann nur innerhalb eines IoT Edge-Containers oder in einer Debugumgebung ausgeführt werden, die für die Edge-Entwicklung konfiguriert ist (z. B. Visual Studio, Visual Studio Code).

create_from_edge_environment(**kwargs)

Parameter

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)

Gibt zurück

Ein instance eines IoTHub-Clients, der die IoT Edge-Umgebung für die Authentifizierung verwendet.

Ausnahmen

OSError if the IoT Edge container is not configured correctly.
ValueError if debug variables are invalid.
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 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).

Ausnahmen

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

create_from_x509_certificate

Instanziieren sie einen Client mithilfe der X509-Zertifikatauthentifizierung.

create_from_x509_certificate(x509, hostname, device_id, module_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

module_id
str
Erforderlich

Die ID, die verwendet wird, um ein Modul auf einem Gerät auf dem IoTHub eindeutig zu identifizieren.

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

invoke_method

Rufen Sie eine Methode von Ihrem Client auf einem Geräte- oder Modulclient auf, und erhalten Sie die Antwort auf den Methodenaufruf.

invoke_method(method_params, device_id, module_id=None)

Parameter

method_params
dict
Erforderlich

Sollte methodName (str), payload (str), connectTimeoutInSeconds (int) und responseTimeoutInSeconds (int) enthalten.

device_id
str
Erforderlich

Geräte-ID des Zielgeräts, auf dem die Methode aufgerufen wird.

module_id
str
Standardwert: None

Modul-ID des Zielmoduls, in dem die Methode aufgerufen wird. (Optional)

Gibt zurück

method_result sollte eine status und eine Nutzlast enthalten.

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 die Verbindung ein Timeout aufweist.

, 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_on_input

Empfangen sie eine Eingabenachricht, die von einem anderen Modul an eine bestimmte Eingabe 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_on_input(input_name, block=True, timeout=None)

Parameter

input_name
str
Erforderlich

Der Eingabename, auf dem eine Nachricht empfangen werden soll.

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 an die angegebene Eingabe gesendet wurde, oder Keine, 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 verloren geht.

, wenn die Verbindung ein Timeout aufweist.

, 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 verloren geht.

, wenn die Verbindung ein Timeout aufweist.

, 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 verloren geht.

, wenn die Verbindung ein Timeout aufweist.

, wenn während der Ausführung ein unerwarteter Fehler auftritt.

send_message

Sendet eine Nachricht an den Standardendpunkt für Ereignisse im Azure IoT Hub- oder Azure IoT Edge Hub-instance.

Dies ist ein synchrones Ereignis, d. h. diese Funktion wird erst zurückgegeben, 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 noch nicht durch einen Verbindungsaufruf geöffnet wurde, öffnet diese Funktion die Verbindung, bevor das Ereignis gesendet wird.

send_message(message)

Parameter

message
Message
Erforderlich

Die tatsächlich zu sendende Nachricht. Alle übergebenen Objekte, die kein 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 unterbrochen wird.

Wenn bei Verbindungsversuch ein Timeout 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_message_to_output

Sendet ein Ereignis/eine Nachricht an die angegebene Modulausgabe.

Dies sind ausgehende Ereignisse und sollen "Ausgabeereignisse" sein.

Dies ist ein synchrones Ereignis, d. h. diese Funktion wird erst zurückgegeben, 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 noch nicht durch einen Verbindungsaufruf geöffnet wurde, öffnet diese Funktion die Verbindung, bevor das Ereignis gesendet wird.

send_message_to_output(message, output_name)

Parameter

message
Message
Erforderlich

Nachricht, die an die angegebene Ausgabe gesendet werden soll. Alle übergebenen Objekte, die kein instance der Message-Klasse sind, werden in das Message-Objekt konvertiert.

output_name
str
Erforderlich

Name der Ausgabe, an die das Ereignis gesendet werden soll.

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 bei Verbindungsversuch ein Timeout 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 einer Antwort auf eine Methodenanforderung über den Azure IoT Hub oder Azure IoT Edge Hub.

Dies ist ein synchrones Ereignis, d. h. diese Funktion wird erst zurückgegeben, 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 noch nicht durch einen Verbindungsaufruf geöffnet wurde, öffnet diese Funktion die Verbindung, bevor das Ereignis gesendet wird.

send_method_response(method_response)

Parameter

method_response
MethodResponse
Erforderlich

Die zu sendende MethodResponse.The MethodResponse to send.

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 bei Verbindungsversuch ein Timeout 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 für einen ordnungsgemäßen Beenden herunter.

Sobald diese Methode aufgerufen wurde, führen alle Versuche, weitere Clientaufrufe auszuführen, dazu, dass ein ClientError 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 authentifiziert dann 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, die vom Client verwendet werden soll

Ausnahmen

ValueError if the sastoken parameter is invalid

, wenn die Anmeldeinformationen ungültig sind und keine Verbindung hergestellt werden kann.

, wenn ein erneutes Herstellen der Verbindung zu einem Fehler führt.

, wenn die Verbindung während der Ausführung unterbrochen wird.

, wenn beim Erneutauthentifizierungsversuch 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 Funktions- oder Coroutinendefinition sollte ein Positionsargument (das Ausnahmeobjekt) verwenden.

on_connection_state_change

Die Handlerfunktion oder Coroutine, die aufgerufen wird, wenn sich der Verbindungszustand ändert.

Die Funktions- oder Coroutindefinition sollte keine Positionsargumente enthalten.

on_message_received

Die Handlerfunktion oder Coroutine, die aufgerufen wird, wenn eine Eingabenachricht empfangen wird.

Die Funktionsdefinition oder Coroutine sollte ein Positionsargument (das Message -Objekt) verwenden.

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 Funktions- oder Coroutinendefinition sollte ein Positionsargument (das MethodRequest -Objekt) verwenden.

on_new_sastoken_required

Die Handlerfunktion oder Coroutine, die aufgerufen wird, wenn der Client ein neues SAS-Token benötigt. Dies geschieht ungefähr 2 Minuten vor Ablauf des SAS-Tokens. Wenn die Lebensdauer auf Windows-Plattformen etwa 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 enthalten.

on_twin_desired_properties_patch_received

Die Handlerfunktion oder Coroutine, die aufgerufen wird, wenn ein Zwillingspatch für gewünschte Eigenschaften empfangen wird.

Die Funktions- oder Coroutinendefinition sollte ein Positionsargument verwenden (der Zwillingspatch in Form eines JSON-Wörterbuchobjekts).