Udostępnij za pośrednictwem


IoTHubDeviceClient Klasa

Synchroniczny klient urządzenia, który łączy się z wystąpieniem Azure IoT Hub.

Inicjator elementu IoTHubDeviceClient.

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

Dziedziczenie
azure.iot.device.iothub.sync_clients.GenericIoTHubClient
IoTHubDeviceClient
azure.iot.device.iothub.abstract_clients.AbstractIoTHubDeviceClient
IoTHubDeviceClient

Konstruktor

IoTHubDeviceClient(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
Wymagane

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_sastoken

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

create_from_symmetric_key

Utworzenie wystąpienia klienta przy użyciu uwierzytelniania klucza symetrycznego.

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 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_storage_info_for_blob

Wysyła żądanie POST za pośrednictwem protokołu HTTP do punktu końcowego usługi IoTHub, który zwróci informacje dotyczące przekazywania za pośrednictwem konta usługi Azure Storage połączonego z usługą IoTHub, z którą urządzenie jest połączone.

get_twin

Pobiera bliźniacze reprezentacje 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.

notify_blob_upload_status

Po zakończeniu przekazywania urządzenie wysyła żądanie POST do punktu końcowego IoT Hub z informacjami o stanie przekazania do obiektu blob. Jest to używane przez IoT Hub do powiadamiania klientów nasłuchiwania.

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 powróci do momentu wysłania poprawki do usługi i potwierdzenia.

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

receive_message

Odbierz wiadomość, która została wysłana z Azure IoT Hub.

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, dopóki zdarzenie nie zostanie wysłane do usługi, a usługa potwierdziła odebranie zdarzenia.

Jeśli połączenie z usługą nie zostało wcześniej otwarte przez wywołanie w celu nawiązania 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, dopóki zdarzenie nie zostanie wysłane do usługi, a usługa potwierdziła odebranie zdarzenia.

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

shutdown

Zamknij klienta w celu bezpiecznego zakończenia.

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

update_sastoken

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

Tego interfejsu API można używać 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_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_symmetric_key

Utworzenie wystąpienia klienta przy użyciu uwierzytelniania klucza symetrycznego.

create_from_symmetric_key(symmetric_key, hostname, device_id, **kwargs)

Parametry

symmetric_key
Wymagane

Klucz symetryczny.

hostname
str
Wymagane

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

device_id
Wymagane

Identyfikator urządzenia

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 Fałsz. Ustaw wartość true, jeśli używasz 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 listy szyfrowania OpenSSL lub jako lista ciągów pakietu 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) utworzonego sygnatury dostępu współdzielonego 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 nie są wymieniane żadne inne komunikaty, steruje to szybkością wysyłania komunikatów ping przez klienta do brokera. Jeśli nie podano wartości domyślnej 60 s, zostanie użyta.

auto_connect
bool
Wymagane

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

connection_retry
bool
Wymagane

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

connection_retry_interval
int
Wymagane

Interwał w sekundach między próbami ponownego nawiązania porzuconego połączenia (domyślnie: 10)

ensure_desired_properties
bool
Wymagane

Upewnij się, że podczas ponownego połączenia odebrano najnowszą żądaną poprawkę właściwości (Default:True)

Zwraca

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

Wyjątki

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

create_from_x509_certificate

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

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

Parametry

hostname
str
Wymagane

Host z uruchomioną usługą IotHub. Można znaleźć w Azure Portal 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

server_verification_cert
str
Wymagane

Opcja konfiguracji. Łańcuch zaufanych certyfikatów. Konieczne podczas nawiązywania połączenia z punktem końcowym, który ma nietypowy 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 Fałsz. Ustaw wartość true, jeśli używasz 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 listy szyfrowania OpenSSL lub jako lista ciągów pakietu 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 nie są wymieniane żadne inne komunikaty, steruje to szybkością wysyłania komunikatów ping przez klienta do brokera. Jeśli nie podano wartości domyślnej 60 s, zostanie użyta.

auto_connect
bool
Wymagane

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

connection_retry
bool
Wymagane

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

connection_retry_interval
int
Wymagane

Interwał w sekundach między próbami ponownego nawiązania porzuconego połączenia (domyślnie: 10)

ensure_desired_properties
bool
Wymagane

Upewnij się, że podczas ponownego połączenia odebrano najnowszą żądaną poprawkę właściwości (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 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_storage_info_for_blob

Wysyła żądanie POST za pośrednictwem protokołu HTTP do punktu końcowego usługi IoTHub, który zwróci informacje dotyczące przekazywania za pośrednictwem konta usługi Azure Storage połączonego z usługą IoTHub, z którą urządzenie jest połączone.

get_storage_info_for_blob(blob_name)

Parametry

blob_name
str
Wymagane

Nazwa w formacie ciągu obiektu blob, który zostanie przekazany przy użyciu interfejsu API magazynu. Ta nazwa będzie używana do generowania odpowiednich poświadczeń dla usługi Storage i musi być zgodna z tym, co będzie używane z zestawem SDK usługi Azure Storage w celu przekazania obiektu blob.

Zwraca

Obiekt przypominający kod JSON (słownik) z IoT Hub zawierający istotne informacje, w tym: correlationId, hostName, containerName, blobName, sasToken.

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.

get_twin

Pobiera bliźniacze reprezentacje 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.

notify_blob_upload_status

Po zakończeniu przekazywania urządzenie wysyła żądanie POST do punktu końcowego IoT Hub z informacjami o stanie przekazania do obiektu blob. Jest to używane przez IoT Hub do powiadamiania klientów nasłuchiwania.

notify_blob_upload_status(correlation_id, is_success, status_code, status_description)

Parametry

correlation_id
str
Wymagane

Dostarczone przez IoT Hub na żądanie get_storage_info_for_blob.

is_success
bool
Wymagane

Wartość logiczna wskazująca, czy plik został przekazany pomyślnie.

status_code
int
Wymagane

Kod stanu liczbowego, który jest stanem przekazywania pliku do magazynu.

status_description
str
Wymagane

Opis odpowiadający status_code.

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 powróci do momentu wysłania poprawki do usługi i potwierdzenia.

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 właściwości zgłoszonych bliźniaczej reprezentacji jako dykt w formacie 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

Odbierz wiadomość, która została wysłana z Azure IoT Hub.

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(block=True, timeout=None)

Parametry

block
bool
Wymagane

Wskazuje, czy operacja powinna zostać zablokowana do momentu odebrania komunikatu.

timeout
int
Wymagane

Opcjonalnie podaj liczbę sekund do momentu blokowania limitu czasu.

Zwraca

Komunikat, który został wysłany z Azure IoT Hub lub Brak, jeśli żadne żądanie metody nie zostało odebrane do końca okresu blokowania.

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.

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, wszystkie metody nie są jeszcze objęte innym żądaniem receive_method zostaną odebrane.

block
bool
wartość domyślna: True

Wskazuje, czy operacja powinna zostać zablokowana do momentu odebrania żądania.

timeout
int
wartość domyślna: None

Opcjonalnie podaj liczbę sekund do momentu blokowania limitu czasu.

Zwraca

MethodRequest obiekt 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 zostać zablokowana do momentu odebrania żądania.

timeout
int
wartość domyślna: None

Opcjonalnie podaj liczbę sekund do momentu blokowania limitu czasu.

Zwraca

Poprawka bliźniaczych żądanych właściwości jako dykt w formacie 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, dopóki zdarzenie nie zostanie wysłane do usługi, a usługa potwierdziła odebranie zdarzenia.

Jeśli połączenie z usługą nie zostało wcześniej otwarte przez wywołanie w celu nawiązania 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 elementy, 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_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, dopóki zdarzenie nie zostanie wysłane do usługi, a usługa potwierdziła odebranie zdarzenia.

Jeśli połączenie z usługą nie zostało wcześniej otwarte przez wywołanie w celu nawiązania 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 w celu bezpiecznego zakończenia.

Po wywołaniu tej metody wszelkie próby dalszych wywołań klienta spowodują wywołanie 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.

Tego interfejsu API można używać 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 do użycia przez klienta

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.

Definicja funkcji lub coroutine powinna przyjąć 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)