Udostępnij za pośrednictwem


IoTHubModuleClient Klasa

Synchroniczny klient modułu, który łączy się z wystąpieniem Azure IoT Hub lub Azure IoT Edge.

Inicjator dla klasy IoTHubModuleClient.

Ten inicjator nie powinien być wywoływany bezpośrednio. Zamiast tego użyj jednej z klas ">>create_from_<<", aby utworzyć wystąpienie

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

Konstruktor

IoTHubModuleClient(mqtt_pipeline, http_pipeline)

Parametry

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

Potok używany do nawiązywania połączenia z punktem końcowym usługi IoTHub.

http_pipeline
<xref:azure.iot.device.iothub.pipeline.HTTPPipeline>
Wymagane

Potok używany do nawiązywania połączenia z punktem końcowym usługi IoTHub za pośrednictwem protokołu HTTP.

Metody

connect

Łączy klienta z wystąpieniem usługi Azure IoT Hub lub Azure IoT Edge Hub.

Miejsce docelowe jest wybierane na podstawie poświadczeń przekazywanych za pośrednictwem parametru auth_provider, który został podany podczas inicjowania tego obiektu.

Jest to wywołanie synchroniczne, co oznacza, że ta funkcja nie zostanie zwrócona, dopóki połączenie z usługą nie zostanie całkowicie nawiązane.

create_from_connection_string

Utwórz wystąpienie klienta z urządzenia IoTHub lub parametrów połączenia modułu.

create_from_edge_environment

Utwórz wystąpienie klienta ze środowiska IoT Edge.

Tę metodę można uruchomić tylko z poziomu kontenera IoT Edge lub w środowisku debugowania skonfigurowanym do programowania w przeglądarce Edge (np. Visual Studio, Visual Studio Code)

create_from_sastoken

Utworzenie wystąpienia klienta przy użyciu wstępnie utworzonego ciągu tokenu SYGNATURy dostępu współdzielonego

create_from_x509_certificate

Utworzenie wystąpienia klienta przy użyciu uwierzytelniania certyfikatu X509.

disconnect

Odłącz klienta od wystąpienia usługi Azure IoT Hub lub usługi Azure IoT Edge Hub.

Zaleca się wywołanie tej funkcji po całkowitym zakończeniu pracy z wystąpieniem klienta.

Jest to wywołanie synchroniczne, co oznacza, że ta funkcja nie zostanie zwrócona, dopóki połączenie z usługą nie zostanie całkowicie zamknięte.

get_twin

Pobiera bliźniaczą reprezentację urządzenia lub modułu z usługi Azure IoT Hub lub Azure IoT Edge Hub.

Jest to wywołanie synchroniczne, co oznacza, że ta funkcja nie zostanie zwrócona, dopóki bliźniacza reprezentacja nie zostanie pobrana z usługi.

invoke_method

Wywołaj metodę z klienta na urządzeniu lub kliencie modułu i odbierz odpowiedź na wywołanie metody.

patch_twin_reported_properties

Zaktualizuj zgłaszane właściwości za pomocą usługi Azure IoT Hub lub Azure IoT Edge Hub.

Jest to wywołanie synchroniczne, co oznacza, że ta funkcja nie zostanie zwrócona, dopóki poprawka nie zostanie wysłana do usługi i potwierdzona.

Jeśli usługa zwróci błąd operacji poprawki, ta funkcja zgłosi odpowiedni błąd.

receive_message_on_input

Odbieranie komunikatu wejściowego, który został wysłany z innego modułu do określonego danych wejściowych.

Przestarzałe od wersji 2.3.0: Zalecamy użycie właściwości .on_message_received w celu ustawienia programu obsługi.

receive_method_request

Odbieranie żądania metody za pośrednictwem Azure IoT Hub lub usługi Azure IoT Edge Hub.

Przestarzałe od wersji 2.3.0: Zalecamy użycie właściwości .on_method_request_received w celu ustawienia programu obsługi.

receive_twin_desired_properties_patch

Otrzymywanie poprawki żądanej właściwości za pośrednictwem Azure IoT Hub lub usługi Azure IoT Edge Hub.

Jest to wywołanie synchroniczne, co oznacza następujące kwestie:

  1. Jeśli block=True, ta funkcja zostanie zablokowana do momentu wystąpienia jednej z następujących czynności:

    • Żądana poprawka właściwości jest odbierana z usługi Azure IoT Hub lub Azure IoT Edge Hub.

    • limit czasu, jeśli zostanie podany, upłynie. Jeśli wystąpi przekroczenie limitu czasu, ta funkcja zgłosi wyjątek InboxEmpty

  2. Jeśli block=False, ta funkcja zwróci wszelkie poprawki żądanej właściwości, które mogły zostać odebrane przez potok, ale nie zostały jeszcze zwrócone do aplikacji. Jeśli potok nie odebrał żadnych żądanych poprawek właściwości, ta funkcja zgłosi wyjątek InboxEmpty

Przestarzałe od wersji 2.3.0: Zalecamy użycie właściwości .on_twin_desired_properties_patch_received w celu ustawienia procedury obsługi.

send_message

Wysyła komunikat do domyślnego punktu końcowego zdarzeń w wystąpieniu usługi Azure IoT Hub lub Azure IoT Edge Hub.

Jest to zdarzenie synchroniczne, co oznacza, że ta funkcja nie zostanie zwrócona do momentu wysłania zdarzenia do usługi, a usługa potwierdziła otrzymanie zdarzenia.

Jeśli połączenie z usługą nie zostało wcześniej otwarte przez wywołanie połączenia, ta funkcja otworzy połączenie przed wysłaniem zdarzenia.

send_message_to_output

Wysyła zdarzenie/komunikat do danych wyjściowych danego modułu.

Są to zdarzenia wychodzące i mają być "zdarzeniami wyjściowymi".

Jest to zdarzenie synchroniczne, co oznacza, że ta funkcja nie zostanie zwrócona do momentu wysłania zdarzenia do usługi, a usługa potwierdziła otrzymanie zdarzenia.

Jeśli połączenie z usługą nie zostało wcześniej otwarte przez wywołanie połączenia, ta funkcja otworzy połączenie przed wysłaniem zdarzenia.

send_method_response

Wyślij odpowiedź na żądanie metody za pośrednictwem Azure IoT Hub lub usługi Azure IoT Edge Hub.

Jest to zdarzenie synchroniczne, co oznacza, że ta funkcja nie zostanie zwrócona do momentu wysłania zdarzenia do usługi, a usługa potwierdziła otrzymanie zdarzenia.

Jeśli połączenie z usługą nie zostało wcześniej otwarte przez wywołanie połączenia, ta funkcja otworzy połączenie przed wysłaniem zdarzenia.

shutdown

Zamknij klienta, aby uzyskać bezproblemowe wyjście.

Po wywołaniu tej metody wszelkie próby dalszych wywołań klienta spowodują podniesienie błędu ClientError

update_sastoken

Zaktualizuj token SAS klienta używany do uwierzytelniania, a następnie ponownie uwierzytelnia połączenie.

Ten interfejs API może być używany tylko wtedy, gdy klient został początkowo utworzony przy użyciu tokenu SAS.

connect

Łączy klienta z wystąpieniem usługi Azure IoT Hub lub Azure IoT Edge Hub.

Miejsce docelowe jest wybierane na podstawie poświadczeń przekazywanych za pośrednictwem parametru auth_provider, który został podany podczas inicjowania tego obiektu.

Jest to wywołanie synchroniczne, co oznacza, że ta funkcja nie zostanie zwrócona, dopóki połączenie z usługą nie zostanie całkowicie nawiązane.

connect()

Wyjątki

jeśli poświadczenia są nieprawidłowe i nie można ustanowić połączenia.

jeśli nawiązanie połączenia spowoduje niepowodzenie.

jeśli połączenie zostanie utracone podczas wykonywania.

jeśli upłynął limit czasu połączenia.

jeśli podczas wykonywania wystąpi nieoczekiwany błąd.

create_from_connection_string

Utwórz wystąpienie klienta z urządzenia IoTHub lub parametrów połączenia modułu.

create_from_connection_string(connection_string, **kwargs)

Parametry

connection_string
str
Wymagane

Parametry połączenia dla usługi IoTHub, z którymi chcesz nawiązać połączenie.

server_verification_cert
str
Wymagane

Opcja konfiguracji. Łańcuch zaufanych certyfikatów. Konieczne w przypadku nawiązywania połączenia z punktem końcowym, który ma niestandardowy katalog główny zaufania, taki jak brama protokołu.

websockets
bool
Wymagane

Opcja konfiguracji. Wartość domyślna to False. Ustaw wartość true w przypadku używania protokołu MQTT za pośrednictwem obiektów websocket.

cipher
str lub list(str)
Wymagane

Opcja konfiguracji. Zestawy szyfrowania dla protokołu TLS/SSL jako ciąg w formacie "Format listy szyfrowania OpenSSL" lub jako lista ciągów zestawu szyfrowania.

product_info
str
Wymagane

Opcja konfiguracji. Wartość domyślna to pusty ciąg. Ciąg zawiera dowolne informacje o produkcie, które są dołączane do ciągu agenta użytkownika.

proxy_options
ProxyOptions
Wymagane

Opcje wysyłania ruchu przez serwery proxy.

sastoken_ttl
int
Wymagane

Czas wygaśnięcia (w sekundach) dla utworzonego tokenu SasToken używanego do uwierzytelniania. Wartość domyślna to 3600 sekund (1 godzina).

keep_alive
int
Wymagane

Maksymalny okres w sekundach między komunikacją z brokerem. Jeśli żadne inne komunikaty nie są wymieniane, steruje to szybkością wysyłania komunikatów ping do brokera. Jeśli wartość domyślna nie zostanie podana, zostanie użyta wartość 60 s.

auto_connect
bool
Wymagane

Automatycznie połącz klienta z usługą IoTHub po wywołaniu metody, która wymaga nawiązania połączenia. (Wartość domyślna: Prawda)

connection_retry
bool
Wymagane

Próba ponownego ustanowienia porzuconego połączenia (wartość domyślna: True)

connection_retry_interval
int
Wymagane

Interwał (w sekundach) między próbami ponownego ustanowienia porzuconego połączenia (ustawienie domyślne: 10)

ensure_desired_properties
bool
Wymagane

Upewnij się, że ostatnio żądana poprawka właściwości została odebrana po ponownym połączeniu (Default:True)

Zwraca

Wystąpienie klienta usługi IoTHub, które używa parametrów połączenia do uwierzytelniania.

Wyjątki

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

create_from_edge_environment

Utwórz wystąpienie klienta ze środowiska IoT Edge.

Tę metodę można uruchomić tylko z poziomu kontenera IoT Edge lub w środowisku debugowania skonfigurowanym do programowania w przeglądarce Edge (np. Visual Studio, Visual Studio Code)

create_from_edge_environment(**kwargs)

Parametry

websockets
bool
Wymagane

Opcja konfiguracji. Wartość domyślna to False. Ustaw wartość true w przypadku używania protokołu MQTT za pośrednictwem obiektów websocket.

cipher
str lub list(str)
Wymagane

Opcja konfiguracji. Zestawy szyfrowania dla protokołu TLS/SSL jako ciąg w formacie "Format listy szyfrowania OpenSSL" lub jako lista ciągów zestawu szyfrowania.

product_info
str
Wymagane

Opcja konfiguracji. Wartość domyślna to pusty ciąg. Ciąg zawiera dowolne informacje o produkcie, które są dołączane do ciągu agenta użytkownika.

proxy_options
ProxyOptions
Wymagane

Opcje wysyłania ruchu przez serwery proxy.

sastoken_ttl
int
Wymagane

Czas wygaśnięcia (w sekundach) dla utworzonego tokenu SasToken używanego do uwierzytelniania. Wartość domyślna to 3600 sekund (1 godzina)

keep_alive
int
Wymagane

Maksymalny okres w sekundach między komunikacją z brokerem. Jeśli żadne inne komunikaty nie są wymieniane, steruje to szybkością wysyłania komunikatów ping do brokera. Jeśli wartość domyślna nie zostanie podana, zostanie użyta wartość 60 s.

auto_connect
bool
Wymagane

Automatycznie połącz klienta z usługą IoTHub po wywołaniu metody, która wymaga nawiązania połączenia. (Wartość domyślna: Prawda)

connection_retry
bool
Wymagane

Próba ponownego ustanowienia porzuconego połączenia (wartość domyślna: True)

connection_retry_interval
int
Wymagane

Interwał (w sekundach) między próbami ponownego ustanowienia porzuconego połączenia (ustawienie domyślne: 10)

Zwraca

Wystąpienie klienta usługi IoTHub, które używa środowiska IoT Edge do uwierzytelniania.

Wyjątki

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

Utworzenie wystąpienia klienta przy użyciu wstępnie utworzonego ciągu tokenu SYGNATURy dostępu współdzielonego

create_from_sastoken(sastoken, **kwargs)

Parametry

sastoken
str
Wymagane

Ciąg tokenu SAS

server_verification_cert
str
Wymagane

Opcja konfiguracji. Łańcuch zaufanych certyfikatów. Konieczne w przypadku nawiązywania połączenia z punktem końcowym, który ma niestandardowy katalog główny zaufania, taki jak brama protokołu.

gateway_hostname
str
Wymagane

Opcja konfiguracji. Nazwa hosta bramy dla urządzenia bramy.

websockets
bool
Wymagane

Opcja konfiguracji. Wartość domyślna to False. Ustaw wartość true w przypadku używania protokołu MQTT za pośrednictwem obiektów websocket.

cipher
str lub list(str)
Wymagane

Opcja konfiguracji. Zestawy szyfrowania dla protokołu TLS/SSL jako ciąg w formacie "Format listy szyfrowania OpenSSL" lub jako lista ciągów zestawu szyfrowania.

product_info
str
Wymagane

Opcja konfiguracji. Wartość domyślna to pusty ciąg. Ciąg zawiera dowolne informacje o produkcie, które są dołączane do ciągu agenta użytkownika.

proxy_options
ProxyOptions
Wymagane

Opcje wysyłania ruchu przez serwery proxy.

keep_alive
int
Wymagane

Maksymalny okres w sekundach między komunikacją z brokerem. Jeśli żadne inne komunikaty nie są wymieniane, steruje to szybkością wysyłania komunikatów ping do brokera. Jeśli wartość domyślna nie zostanie podana, zostanie użyta wartość 60 s.

auto_connect
bool
Wymagane

Automatycznie połącz klienta z usługą IoTHub po wywołaniu metody, która wymaga nawiązania połączenia. (Wartość domyślna: Prawda)

connection_retry
bool
Wymagane

Próba ponownego ustanowienia porzuconego połączenia (wartość domyślna: True)

connection_retry_interval
int
Wymagane

Interwał (w sekundach) między próbami ponownego ustanowienia porzuconego połączenia (ustawienie domyślne: 10)

ensure_desired_properties
bool
Wymagane

Upewnij się, że ostatnio żądana poprawka właściwości została odebrana po ponownym połączeniu (Default:True)

Wyjątki

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

create_from_x509_certificate

Utworzenie wystąpienia klienta przy użyciu uwierzytelniania certyfikatu X509.

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

Parametry

hostname
str
Wymagane

Host z uruchomioną usługą IotHub. W Azure Portal można znaleźć na karcie Przegląd jako nazwę hosta ciągu.

x509
X509
Wymagane

Kompletny obiekt certyfikatu x509. Aby użyć certyfikatu, obiekt rejestracji musi zawierać certyfikat (certyfikat główny lub jeden z certyfikatów pośredniego urzędu certyfikacji). Jeśli certyfikat pochodzi z pliku CER, musi być zakodowany w formacie Base64.

device_id
str
Wymagane

Identyfikator używany do unikatowego identyfikowania urządzenia w usłudze IoTHub

module_id
str
Wymagane

Identyfikator używany do unikatowego identyfikowania modułu na urządzeniu w usłudze IoTHub.

server_verification_cert
str
Wymagane

Opcja konfiguracji. Łańcuch zaufanych certyfikatów. Konieczne w przypadku nawiązywania połączenia z punktem końcowym, który ma niestandardowy katalog główny zaufania, taki jak brama protokołu.

gateway_hostname
str
Wymagane

Opcja konfiguracji. Nazwa hosta bramy dla urządzenia bramy.

websockets
bool
Wymagane

Opcja konfiguracji. Wartość domyślna to False. Ustaw wartość true w przypadku używania protokołu MQTT za pośrednictwem obiektów websocket.

cipher
str lub list(str)
Wymagane

Opcja konfiguracji. Zestawy szyfrowania dla protokołu TLS/SSL jako ciąg w formacie "Format listy szyfrowania OpenSSL" lub jako lista ciągów zestawu szyfrowania.

product_info
str
Wymagane

Opcja konfiguracji. Wartość domyślna to pusty ciąg. Ciąg zawiera dowolne informacje o produkcie, które są dołączane do ciągu agenta użytkownika.

proxy_options
ProxyOptions
Wymagane

Opcje wysyłania ruchu przez serwery proxy.

keep_alive
int
Wymagane

Maksymalny okres w sekundach między komunikacją z brokerem. Jeśli żadne inne komunikaty nie są wymieniane, steruje to szybkością wysyłania komunikatów ping do brokera. Jeśli wartość domyślna nie zostanie podana, zostanie użyta wartość 60 s.

auto_connect
bool
Wymagane

Automatycznie połącz klienta z usługą IoTHub po wywołaniu metody, która wymaga nawiązania połączenia. (Wartość domyślna: Prawda)

connection_retry
bool
Wymagane

Próba ponownego ustanowienia porzuconego połączenia (wartość domyślna: True)

connection_retry_interval
int
Wymagane

Interwał (w sekundach) między próbami ponownego ustanowienia porzuconego połączenia (ustawienie domyślne: 10)

ensure_desired_properties
bool
Wymagane

Upewnij się, że ostatnio żądana poprawka właściwości została odebrana po ponownym połączeniu (Default:True)

Zwraca

Wystąpienie klienta usługi IoTHub, które używa certyfikatu X509 do uwierzytelniania.

Wyjątki

TypeError if given an unsupported parameter.

disconnect

Odłącz klienta od wystąpienia usługi Azure IoT Hub lub usługi Azure IoT Edge Hub.

Zaleca się wywołanie tej funkcji po całkowitym zakończeniu pracy z wystąpieniem klienta.

Jest to wywołanie synchroniczne, co oznacza, że ta funkcja nie zostanie zwrócona, dopóki połączenie z usługą nie zostanie całkowicie zamknięte.

disconnect()

Wyjątki

jeśli podczas wykonywania wystąpi nieoczekiwany błąd.

get_twin

Pobiera bliźniaczą reprezentację urządzenia lub modułu z usługi Azure IoT Hub lub Azure IoT Edge Hub.

Jest to wywołanie synchroniczne, co oznacza, że ta funkcja nie zostanie zwrócona, dopóki bliźniacza reprezentacja nie zostanie pobrana z usługi.

get_twin()

Zwraca

Ukończ bliźniaczą reprezentację jako dykt w formacie JSON

Typ zwracany

Wyjątki

jeśli poświadczenia są nieprawidłowe i nie można ustanowić połączenia.

jeśli nawiązanie połączenia spowoduje niepowodzenie.

jeśli połączenie zostanie utracone podczas wykonywania.

jeśli próba połączenia upłynął limit czasu

jeśli klient nie jest połączony (i nie ma włączonego automatycznego łączenia)

jeśli podczas wykonywania wystąpi nieoczekiwany błąd.

invoke_method

Wywołaj metodę z klienta na urządzeniu lub kliencie modułu i odbierz odpowiedź na wywołanie metody.

invoke_method(method_params, device_id, module_id=None)

Parametry

method_params
dict
Wymagane

Powinna zawierać metodę methodName (str), ładunek (str), connectTimeoutInSeconds (int), responseTimeoutInSeconds (int).

device_id
str
Wymagane

Identyfikator urządzenia docelowego, na którym zostanie wywołana metoda.

module_id
str
wartość domyślna: None

Identyfikator modułu docelowego, w którym zostanie wywołana metoda. (opcjonalnie)

Zwraca

method_result powinien zawierać stan i ładunek

Typ zwracany

Wyjątki

jeśli poświadczenia są nieprawidłowe i nie można ustanowić połączenia.

jeśli nawiązanie połączenia spowoduje niepowodzenie.

jeśli połączenie zostanie utracone podczas wykonywania.

jeśli upłynął limit czasu połączenia.

jeśli podczas wykonywania wystąpi nieoczekiwany błąd.

patch_twin_reported_properties

Zaktualizuj zgłaszane właściwości za pomocą usługi Azure IoT Hub lub Azure IoT Edge Hub.

Jest to wywołanie synchroniczne, co oznacza, że ta funkcja nie zostanie zwrócona, dopóki poprawka nie zostanie wysłana do usługi i potwierdzona.

Jeśli usługa zwróci błąd operacji poprawki, ta funkcja zgłosi odpowiedni błąd.

patch_twin_reported_properties(reported_properties_patch)

Parametry

reported_properties_patch
dict
Wymagane

Poprawka zgłaszanych właściwości bliźniaczej reprezentacji jako dykt JSON

Wyjątki

jeśli poświadczenia są nieprawidłowe i nie można ustanowić połączenia.

jeśli nawiązanie połączenia spowoduje niepowodzenie.

jeśli połączenie zostanie utracone podczas wykonywania.

jeśli próba połączenia upłynął limit czasu

jeśli klient nie jest połączony (i nie ma włączonego automatycznego łączenia)

jeśli podczas wykonywania wystąpi nieoczekiwany błąd.

receive_message_on_input

Odbieranie komunikatu wejściowego, który został wysłany z innego modułu do określonego danych wejściowych.

Przestarzałe od wersji 2.3.0: Zalecamy użycie właściwości .on_message_received w celu ustawienia programu obsługi.

receive_message_on_input(input_name, block=True, timeout=None)

Parametry

input_name
str
Wymagane

Nazwa wejściowa do odbierania komunikatu.

block
bool
Wymagane

Wskazuje, czy operacja powinna blokować się do momentu odebrania komunikatu.

timeout
int
Wymagane

Opcjonalnie podaj liczbę sekund do czasu blokowania limitu czasu.

Zwraca

Komunikat, który został wysłany do określonego wejścia lub Brak, jeśli żadne żądanie metody nie zostało odebrane do końca okresu blokowania.

Wyjątki

jeśli poświadczenia są nieprawidłowe i nie można ustanowić połączenia.

jeśli nawiązanie połączenia spowoduje niepowodzenie.

jeśli połączenie zostanie utracone podczas wykonywania.

jeśli upłynął limit czasu połączenia.

jeśli podczas wykonywania wystąpi nieoczekiwany błąd.

receive_method_request

Odbieranie żądania metody za pośrednictwem Azure IoT Hub lub usługi Azure IoT Edge Hub.

Przestarzałe od wersji 2.3.0: Zalecamy użycie właściwości .on_method_request_received w celu ustawienia programu obsługi.

receive_method_request(method_name=None, block=True, timeout=None)

Parametry

method_name
str
wartość domyślna: None

Opcjonalnie podaj nazwę metody do odbierania żądań. Jeśli ten parametr nie zostanie podany, zostaną odebrane wszystkie metody, które nie są jeszcze objęte innym żądaniem receive_method.

block
bool
wartość domyślna: True

Wskazuje, czy operacja powinna blokować się do momentu odebrania żądania.

timeout
int
wartość domyślna: None

Opcjonalnie podaj liczbę sekund do czasu blokowania limitu czasu.

Zwraca

Obiekt MethodRequest reprezentujący odebrane żądanie metody lub Brak, jeśli żadne żądanie metody nie zostało odebrane do końca okresu blokowania.

Wyjątki

jeśli poświadczenia są nieprawidłowe i nie można ustanowić połączenia.

jeśli nawiązanie połączenia spowoduje niepowodzenie.

jeśli połączenie zostanie utracone podczas wykonywania.

jeśli upłynął limit czasu połączenia.

jeśli podczas wykonywania wystąpi nieoczekiwany błąd.

receive_twin_desired_properties_patch

Otrzymywanie poprawki żądanej właściwości za pośrednictwem Azure IoT Hub lub usługi Azure IoT Edge Hub.

Jest to wywołanie synchroniczne, co oznacza następujące kwestie:

  1. Jeśli block=True, ta funkcja zostanie zablokowana do momentu wystąpienia jednej z następujących czynności:

    • Żądana poprawka właściwości jest odbierana z usługi Azure IoT Hub lub Azure IoT Edge Hub.

    • limit czasu, jeśli zostanie podany, upłynie. Jeśli wystąpi przekroczenie limitu czasu, ta funkcja zgłosi wyjątek InboxEmpty

  2. Jeśli block=False, ta funkcja zwróci wszelkie poprawki żądanej właściwości, które mogły zostać odebrane przez potok, ale nie zostały jeszcze zwrócone do aplikacji. Jeśli potok nie odebrał żadnych żądanych poprawek właściwości, ta funkcja zgłosi wyjątek InboxEmpty

Przestarzałe od wersji 2.3.0: Zalecamy użycie właściwości .on_twin_desired_properties_patch_received w celu ustawienia procedury obsługi.

receive_twin_desired_properties_patch(block=True, timeout=None)

Parametry

block
bool
wartość domyślna: True

Wskazuje, czy operacja powinna blokować się do momentu odebrania żądania.

timeout
int
wartość domyślna: None

Opcjonalnie podaj liczbę sekund do czasu blokowania limitu czasu.

Zwraca

Poprawka żądanych właściwości bliźniaczej reprezentacji jako dykt JSON lub Brak, jeśli żadna poprawka nie została odebrana do końca okresu blokowania

Typ zwracany

dict,

Wyjątki

jeśli poświadczenia są nieprawidłowe i nie można ustanowić połączenia.

jeśli nawiązanie połączenia spowoduje niepowodzenie.

jeśli połączenie zostanie utracone podczas wykonywania.

jeśli upłynął limit czasu połączenia.

jeśli podczas wykonywania wystąpi nieoczekiwany błąd.

send_message

Wysyła komunikat do domyślnego punktu końcowego zdarzeń w wystąpieniu usługi Azure IoT Hub lub Azure IoT Edge Hub.

Jest to zdarzenie synchroniczne, co oznacza, że ta funkcja nie zostanie zwrócona do momentu wysłania zdarzenia do usługi, a usługa potwierdziła otrzymanie zdarzenia.

Jeśli połączenie z usługą nie zostało wcześniej otwarte przez wywołanie połączenia, ta funkcja otworzy połączenie przed wysłaniem zdarzenia.

send_message(message)

Parametry

message
Message
Wymagane

Rzeczywista wiadomość do wysłania. Wszystkie przekazane dane, które nie są wystąpieniem klasy Message, zostaną przekonwertowane na obiekt Message.

Wyjątki

jeśli poświadczenia są nieprawidłowe i nie można ustanowić połączenia.

jeśli nawiązanie połączenia spowoduje niepowodzenie.

jeśli połączenie zostanie utracone podczas wykonywania.

jeśli próba połączenia upłynął limit czasu

jeśli klient nie jest połączony (i nie ma włączonego automatycznego łączenia)

jeśli podczas wykonywania wystąpi nieoczekiwany błąd.

ValueError if the message fails size validation.

send_message_to_output

Wysyła zdarzenie/komunikat do danych wyjściowych danego modułu.

Są to zdarzenia wychodzące i mają być "zdarzeniami wyjściowymi".

Jest to zdarzenie synchroniczne, co oznacza, że ta funkcja nie zostanie zwrócona do momentu wysłania zdarzenia do usługi, a usługa potwierdziła otrzymanie zdarzenia.

Jeśli połączenie z usługą nie zostało wcześniej otwarte przez wywołanie połączenia, ta funkcja otworzy połączenie przed wysłaniem zdarzenia.

send_message_to_output(message, output_name)

Parametry

message
Message
Wymagane

Komunikat do wysłania do podanych danych wyjściowych. Wszystkie przekazane dane, które nie są wystąpieniem klasy Message, zostaną przekonwertowane na obiekt Message.

output_name
str
Wymagane

Nazwa danych wyjściowych, do których ma być wysyłane zdarzenie.

Wyjątki

jeśli poświadczenia są nieprawidłowe i nie można ustanowić połączenia.

jeśli nawiązanie połączenia spowoduje niepowodzenie.

jeśli połączenie zostanie utracone podczas wykonywania.

jeśli próba połączenia upłynął limit czasu

jeśli klient nie jest połączony (i nie ma włączonego automatycznego łączenia)

jeśli podczas wykonywania wystąpi nieoczekiwany błąd.

ValueError if the message fails size validation.

send_method_response

Wyślij odpowiedź na żądanie metody za pośrednictwem Azure IoT Hub lub usługi Azure IoT Edge Hub.

Jest to zdarzenie synchroniczne, co oznacza, że ta funkcja nie zostanie zwrócona do momentu wysłania zdarzenia do usługi, a usługa potwierdziła otrzymanie zdarzenia.

Jeśli połączenie z usługą nie zostało wcześniej otwarte przez wywołanie połączenia, ta funkcja otworzy połączenie przed wysłaniem zdarzenia.

send_method_response(method_response)

Parametry

method_response
MethodResponse
Wymagane

MetodaResponse do wysłania.

Wyjątki

jeśli poświadczenia są nieprawidłowe i nie można ustanowić połączenia.

jeśli nawiązanie połączenia spowoduje niepowodzenie.

jeśli połączenie zostanie utracone podczas wykonywania.

jeśli próba połączenia upłynął limit czasu

jeśli klient nie jest połączony (i nie ma włączonego automatycznego łączenia)

jeśli podczas wykonywania wystąpi nieoczekiwany błąd.

shutdown

Zamknij klienta, aby uzyskać bezproblemowe wyjście.

Po wywołaniu tej metody wszelkie próby dalszych wywołań klienta spowodują podniesienie błędu ClientError

shutdown()

Wyjątki

jeśli podczas wykonywania wystąpi nieoczekiwany błąd.

update_sastoken

Zaktualizuj token SAS klienta używany do uwierzytelniania, a następnie ponownie uwierzytelnia połączenie.

Ten interfejs API może być używany tylko wtedy, gdy klient został początkowo utworzony przy użyciu tokenu SAS.

update_sastoken(sastoken)

Parametry

sastoken
str
Wymagane

Nowy ciąg tokenu sygnatury dostępu współdzielonego dla klienta do użycia

Wyjątki

ValueError if the sastoken parameter is invalid

jeśli poświadczenia są nieprawidłowe i nie można ponownie ustanowić połączenia.

jeśli ponowne nawiązanie połączenia spowoduje niepowodzenie.

jeśli połączenie zostanie utracone podczas wykonywania.

jeśli próba ponownego uwierzytelniania zostanie upłynął limit czasu.

jeśli klient nie został początkowo utworzony przy użyciu tokenu SAS.

jeśli podczas wykonywania wystąpi nieoczekiwany błąd.

Atrybuty

connected

Właściwość tylko do odczytu wskazująca, czy transport jest połączony, czy nie.

on_background_exception

Funkcja obsługi lub coroutine będą wywoływane w przypadku wystąpienia wyjątku w tle.

Definicja funkcji lub coroutine powinna przyjąć jeden argument pozycyjny (obiekt wyjątku)

on_connection_state_change

Funkcja obsługi lub coroutine, która zostanie wywołana po zmianie stanu połączenia.

Definicja funkcji lub koprocedutyny nie powinna przyjmować żadnych argumentów pozycyjnych.

on_message_received

Funkcja obsługi lub coroutine, która zostanie wywołana po odebraniu komunikatu wejściowego.

Definicja funkcji lub koroutine powinna przyjmować jeden argument pozycyjny Message (obiekt)

on_method_request_received

Funkcja obsługi lub coroutine, która zostanie wywołana po odebraniu żądania metody.

Pamiętaj, aby potwierdzić żądanie metody w funkcji lub koprocedurze za pomocą metody .send_method_response() klienta.

Definicja funkcji lub coroutine powinna przyjąć jeden argument pozycyjny ( MethodRequest obiekt)

on_new_sastoken_required

Funkcja obsługi lub coroutine, która zostanie wywołana, gdy klient wymaga nowego tokenu SYGNATURy dostępu współdzielonego. Nastąpi to około 2 minut przed wygaśnięciem tokenu SAS. Na platformach Windows, jeśli długość życia przekracza około 49 dni, nowy token będzie wymagany po upływie tych 49 dni niezależnie od tego, jak długo trwa cykl życia sygnatury dostępu współdzielonego.

Należy pamiętać, że ta procedura obsługi jest wymagana tylko w przypadku używania klienta utworzonego za pośrednictwem metody .create_from_sastoken().

Nowy token można podać w funkcji lub koprocedurze za pomocą metody .update_sastoken() klienta.

Definicja funkcji lub koprocedutyny nie powinna przyjmować żadnych argumentów pozycyjnych.

on_twin_desired_properties_patch_received

Funkcja obsługi lub coroutine, która zostanie wywołana po odebraniu poprawki żądanej właściwości bliźniaczej reprezentacji.

Definicja funkcji lub coroutine powinna przyjmować jeden argument pozycyjny (poprawka bliźniaczej reprezentacji w postaci obiektu słownika JSON)