IoTHubDeviceClient Класс
Синхронный клиент устройства, который подключается к экземпляру Центр Интернета вещей Azure.
Инициализатор для IoTHubDeviceClient.
Этот инициализатор не следует вызывать напрямую. Вместо этого используйте один из методов класса create_from_>><< для создания экземпляра.
- Наследование
-
azure.iot.device.iothub.sync_clients.GenericIoTHubClientIoTHubDeviceClientazure.iot.device.iothub.abstract_clients.AbstractIoTHubDeviceClientIoTHubDeviceClient
Конструктор
IoTHubDeviceClient(mqtt_pipeline, http_pipeline)
Параметры
- mqtt_pipeline
- <xref:azure.iot.device.iothub.pipeline.MQTTPipeline>
Конвейер, используемый для подключения к конечной точке IoTHub.
- http_pipeline
Методы
connect |
Подключает клиент к экземпляру Центр Интернета вещей Azure или Azure IoT Edge Hub. Назначение выбирается на основе учетных данных, переданных через параметр auth_provider, предоставленный при инициализации этого объекта. Это синхронный вызов, то есть эта функция не будет возвращать, пока не будет полностью установлено подключение к службе. |
create_from_connection_string |
Создайте экземпляр клиента из строки подключения устройства IoTHub или модуля. |
create_from_sastoken |
Создание экземпляра клиента из предварительно созданной строки маркера SAS |
create_from_symmetric_key |
Создание экземпляра клиента с использованием проверки подлинности с симметричным ключом. |
create_from_x509_certificate |
Создание экземпляра клиента с использованием проверки подлинности на основе сертификата X509. |
disconnect |
Отключите клиент от экземпляра Центр Интернета вещей Azure или Azure IoT Edge Hub. Рекомендуется обязательно вызвать эту функцию, когда вы полностью завершили работу с экземпляром клиента. Это синхронный вызов, то есть эта функция не будет возвращать, пока подключение к службе не будет полностью закрыто. |
get_storage_info_for_blob |
Отправляет запрос POST по протоколу HTTP в конечную точку Центра Интернета вещей, которая возвращает сведения для отправки через учетную запись хранения Azure, связанную с центром Интернета вещей, к которому подключено ваше устройство. |
get_twin |
Возвращает двойник устройства или модуля из службы Центр Интернета вещей Azure или Azure IoT Edge Hub. Это синхронный вызов, то есть эта функция не будет возвращать, пока двойник не будет получен из службы. |
notify_blob_upload_status |
После завершения отправки устройство отправляет запрос POST в конечную точку Центр Интернета вещей со сведениями о состоянии попытки отправки в BLOB-объект. Он используется Центр Интернета вещей для уведомления прослушивающих клиентов. |
patch_twin_reported_properties |
Обновите сообщаемые свойства с помощью службы Центр Интернета вещей Azure или Azure IoT Edge Hub. Это синхронный вызов, то есть эта функция не будет возвращать, пока исправление не будет отправлено в службу и подтверждено. Если служба возвращает ошибку при операции исправления, эта функция вызовет соответствующую ошибку. |
receive_message |
Получите сообщение, отправленное из Центр Интернета вещей Azure. Не рекомендуется с версии 2.3.0: рекомендуется использовать свойство .on_message_received для задания обработчика. |
receive_method_request |
Получите запрос метода через Центр Интернета вещей Azure или Azure IoT Edge Hub. Не рекомендуется с версии 2.3.0: рекомендуется использовать свойство .on_method_request_received для задания обработчика. |
receive_twin_desired_properties_patch |
Получите требуемое исправление свойства через Центр Интернета вещей Azure или Azure IoT Edge Hub. Это синхронный вызов, который означает следующее:
Не рекомендуется с версии 2.3.0: рекомендуется использовать свойство .on_twin_desired_properties_patch_received для задания обработчика. |
send_message |
Отправляет сообщение в конечную точку событий по умолчанию в экземпляре Центр Интернета вещей Azure или Azure IoT Edge Hub. Это синхронное событие, то есть эта функция не возвращается, пока событие не будет отправлено в службу и служба не подтвердит получение события. Если подключение к службе ранее не было открыто вызовом для подключения, эта функция откроет подключение перед отправкой события. |
send_method_response |
Отправка ответа на запрос метода через Центр Интернета вещей Azure или Azure IoT Edge Hub. Это синхронное событие, то есть эта функция не возвращается, пока событие не будет отправлено в службу и служба не подтвердит получение события. Если подключение к службе ранее не было открыто вызовом для подключения, эта функция откроет подключение перед отправкой события. |
shutdown |
Завершите работу клиента для корректного выхода. После вызова этого метода любые попытки дальнейших вызовов клиента приведут к вызову ClientError. |
update_sastoken |
Обновите маркер SAS клиента, используемый для проверки подлинности, а затем повторно авторизует подключение. Этот API можно использовать только в том случае, если клиент изначально был создан с маркером SAS. |
connect
Подключает клиент к экземпляру Центр Интернета вещей Azure или Azure IoT Edge Hub.
Назначение выбирается на основе учетных данных, переданных через параметр auth_provider, предоставленный при инициализации этого объекта.
Это синхронный вызов, то есть эта функция не будет возвращать, пока не будет полностью установлено подключение к службе.
connect()
Исключения
Значение , если учетные данные недопустимы и невозможно установить подключение.
значение , если установка подключения приводит к сбою.
значение , если соединение потеряно во время выполнения.
Значение , если время ожидания подключения истекло.
если во время выполнения произошел непредвиденный сбой.
create_from_connection_string
Создайте экземпляр клиента из строки подключения устройства IoTHub или модуля.
create_from_connection_string(connection_string, **kwargs)
Параметры
- connection_string
- str
Строка подключения для Центра Интернета вещей, к которому вы хотите подключиться.
- server_verification_cert
- str
Параметр конфигурации. Цепочка доверенных сертификатов. Необходимо при использовании подключения к конечной точке, которая имеет нестандартный корень доверия, например шлюз протокола.
- websockets
- bool
Параметр конфигурации. Значение по умолчанию — False. Установите значение true, если используется MQTT через websocket.
Параметр конфигурации. Наборы шифров для TLS/SSL в виде строки в формате "Список шифров OpenSSL" или в виде списка строк набора шифров.
- product_info
- str
Параметр конфигурации. Значение по умолчанию — пустая строка. Строка содержит произвольные сведения о продукте, которые добавляются к строке агента пользователя.
- sastoken_ttl
- int
Время жизни (в секундах) для созданного SasToken, используемого для проверки подлинности. По умолчанию — 3 600 секунд (1 час).
- keep_alive
- int
Максимальный период в секундах между взаимодействием с брокером. Если другие сообщения не обмениваются, это определяет скорость, с которой клиент будет отправлять сообщения связи брокеру. Если не указано значение по умолчанию, будет использоваться значение 60 с.
- auto_connect
- bool
Автоматическое подключение клиента к Центру Интернета вещей при вызове метода, для которого требуется установить подключение. (Значение по умолчанию — True.)
- connection_retry_interval
- int
Интервал (в секундах) между попытками восстановления удаленного подключения (по умолчанию: 10)
- ensure_desired_properties
- bool
Убедитесь, что при повторном подключении было получено последнее исправление требуемых свойств (по умолчанию:True)
Возвращаемое значение
Экземпляр клиента IoTHub, который использует строку подключения для проверки подлинности.
Исключения
create_from_sastoken
Создание экземпляра клиента из предварительно созданной строки маркера SAS
create_from_sastoken(sastoken, **kwargs)
Параметры
- server_verification_cert
- str
Параметр конфигурации. Цепочка доверенных сертификатов. Необходимо при использовании подключения к конечной точке, которая имеет нестандартный корень доверия, например шлюз протокола.
- websockets
- bool
Параметр конфигурации. Значение по умолчанию — False. Установите значение true, если используется MQTT через websocket.
Параметр конфигурации. Наборы шифров для TLS/SSL в виде строки в формате "Список шифров OpenSSL" или в виде списка строк набора шифров.
- product_info
- str
Параметр конфигурации. Значение по умолчанию — пустая строка. Строка содержит произвольные сведения о продукте, которые добавляются к строке агента пользователя.
- keep_alive
- int
Максимальный период в секундах между взаимодействием с брокером. Если другие сообщения не обмениваются, это определяет скорость, с которой клиент будет отправлять сообщения связи брокеру. Если не указано значение по умолчанию, будет использоваться значение 60 с.
- auto_connect
- bool
Автоматическое подключение клиента к Центру Интернета вещей при вызове метода, для которого требуется установить подключение. (Значение по умолчанию — True.)
- connection_retry_interval
- int
Интервал (в секундах) между попытками восстановления удаленного подключения (по умолчанию: 10)
- ensure_desired_properties
- bool
Убедитесь, что при повторном подключении было получено последнее исправление требуемых свойств (по умолчанию:True)
Исключения
create_from_symmetric_key
Создание экземпляра клиента с использованием проверки подлинности с симметричным ключом.
create_from_symmetric_key(symmetric_key, hostname, device_id, **kwargs)
Параметры
- symmetric_key
Симметричный ключ.
- hostname
- str
Узел, на котором выполняется IotHub. Имя узла строки можно найти в портал Azure на вкладке Обзор.
- device_id
идентификатор устройства;
- server_verification_cert
- str
Параметр конфигурации. Цепочка доверенных сертификатов. Необходимо при использовании подключения к конечной точке, которая имеет нестандартный корень доверия, например шлюз протокола.
- websockets
- bool
Параметр конфигурации. Значение по умолчанию — False. Задайте значение true, если используется MQTT через websocket.
Параметр конфигурации. Наборы шифров для TLS/SSL в виде строки в формате "Список шифров OpenSSL" или в виде списка строк набора шифров.
- product_info
- str
Параметр конфигурации. Значение по умолчанию — пустая строка. Строка содержит произвольные сведения о продукте, которые добавляются к строке агента пользователя.
- sastoken_ttl
- int
Время жизни (в секундах) созданного SasTokenа, используемого для проверки подлинности. Значение по умолчанию — 3600 секунд (1 час)
- keep_alive
- int
Максимальный период в секундах между обменом данными с брокером. Если другие сообщения не обмениваются, это управляет скоростью, с которой клиент будет отправлять сообщения связи брокеру. Если значение не указано, будет использоваться значение по умолчанию 60 секунд.
- auto_connect
- bool
Автоматическое подключение клиента к Центру Интернета вещей при вызове метода, для которого требуется установить подключение. (Значение по умолчанию — True.)
- connection_retry
- bool
Попытка повторной установки прерванного подключения (по умолчанию: True)
- connection_retry_interval
- int
Интервал (в секундах) между попытками восстановить прерванное подключение (по умолчанию: 10)
- ensure_desired_properties
- bool
Убедитесь, что при повторном подключении было получено последнее исправление требуемых свойств (по умолчанию:True)
Возвращаемое значение
Экземпляр клиента IoTHub, который использует симметричный ключ для проверки подлинности.
Исключения
create_from_x509_certificate
Создание экземпляра клиента с использованием проверки подлинности на основе сертификата X509.
create_from_x509_certificate(x509, hostname, device_id, **kwargs)
Параметры
- hostname
- str
Узел, на котором выполняется IotHub. Его можно найти в портал Azure на вкладке Обзор в качестве имени узла строки.
- x509
- X509
Полный объект сертификата x509. Чтобы использовать сертификат, объект регистрации должен содержать сертификат (корневой сертификат или один из промежуточных сертификатов ЦС). Если сертификат поступает из CER-файла, он должен быть закодирован в кодировке Base64.
- device_id
- str
Идентификатор, используемый для уникальной идентификации устройства в Центре Интернета вещей
- server_verification_cert
- str
Параметр конфигурации. Цепочка доверенных сертификатов. Требуется при подключении к конечной точке, которая имеет нестандартный корень доверия, например шлюз протоколов.
- websockets
- bool
Параметр конфигурации. Значение по умолчанию — False. Задайте значение true, если используется MQTT через websocket.
Параметр конфигурации. Наборы шифров для TLS/SSL в виде строки в формате "Список шифров OpenSSL" или в виде списка строк набора шифров.
- product_info
- str
Параметр конфигурации. Значение по умолчанию — пустая строка. Строка содержит произвольные сведения о продукте, которые добавляются к строке агента пользователя.
- keep_alive
- int
Максимальный период в секундах между обменом данными с брокером. Если другие сообщения не обмениваются, это управляет скоростью, с которой клиент будет отправлять сообщения связи брокеру. Если значение не указано, будет использоваться значение по умолчанию 60 секунд.
- auto_connect
- bool
Автоматическое подключение клиента к Центру Интернета вещей при вызове метода, для которого требуется установить подключение. (Значение по умолчанию — True.)
- connection_retry
- bool
Попытка повторной установки прерванного подключения (по умолчанию: True)
- connection_retry_interval
- int
Интервал (в секундах) между попытками восстановить прерванное подключение (по умолчанию: 10)
- ensure_desired_properties
- bool
Убедитесь, что при повторном подключении было получено последнее исправление требуемых свойств (по умолчанию:True)
Возвращаемое значение
Экземпляр клиента Центра Интернета вещей, который использует сертификат X509 для проверки подлинности.
Исключения
disconnect
Отключите клиент от экземпляра Центр Интернета вещей Azure или Azure IoT Edge Hub.
Рекомендуется обязательно вызвать эту функцию, когда вы полностью завершили работу с экземпляром клиента.
Это синхронный вызов, то есть эта функция не будет возвращать, пока подключение к службе не будет полностью закрыто.
disconnect()
Исключения
значение , если во время выполнения произошел непредвиденный сбой.
get_storage_info_for_blob
Отправляет запрос POST по протоколу HTTP в конечную точку Центра Интернета вещей, которая возвращает сведения для отправки через учетную запись хранения Azure, связанную с центром Интернета вещей, к которому подключено ваше устройство.
get_storage_info_for_blob(blob_name)
Параметры
- blob_name
- str
Имя большого двоичного объекта в строковом формате, который будет отправлен с помощью API хранилища. Это имя будет использоваться для создания соответствующих учетных данных для хранилища и должно соответствовать тому, что будет использоваться с пакетом SDK службы хранилища Azure для отправки BLOB-объекта.
Возвращаемое значение
Объект json-like (словарь) из Центр Интернета вещей, который будет содержать соответствующие сведения, включая correlationId, hostName, containerName, blobName, sasToken.
Исключения
Значение , если учетные данные недопустимы и невозможно установить подключение.
значение , если установка подключения приводит к сбою.
значение , если соединение потеряно во время выполнения.
Значение , если время ожидания подключения истекло.
если во время выполнения произошел непредвиденный сбой.
get_twin
Возвращает двойник устройства или модуля из службы Центр Интернета вещей Azure или Azure IoT Edge Hub.
Это синхронный вызов, то есть эта функция не будет возвращать, пока двойник не будет получен из службы.
get_twin()
Возвращаемое значение
Завершение работы с двойником в виде словаря JSON
Возвращаемый тип
Исключения
Значение , если учетные данные недопустимы и невозможно установить подключение.
Значение , если установка подключения приводит к сбою.
Значение , если соединение потеряно во время выполнения.
Если время ожидания попытки подключения истекло
Значение , если клиент не подключен (и автоматическое подключение не включено)
значение , если во время выполнения произошел непредвиденный сбой.
notify_blob_upload_status
После завершения отправки устройство отправляет запрос POST в конечную точку Центр Интернета вещей со сведениями о состоянии попытки отправки в BLOB-объект. Он используется Центр Интернета вещей для уведомления прослушивающих клиентов.
notify_blob_upload_status(correlation_id, is_success, status_code, status_description)
Параметры
- correlation_id
- str
Предоставляется Центр Интернета вещей по запросу get_storage_info_for_blob.
- status_code
- int
Числовой код состояния, который является состоянием отправки файла в хранилище.
Исключения
Значение , если учетные данные недопустимы и невозможно установить подключение.
значение , если установка подключения приводит к сбою.
значение , если соединение потеряно во время выполнения.
Значение , если время ожидания подключения истекло.
если во время выполнения произошел непредвиденный сбой.
patch_twin_reported_properties
Обновите сообщаемые свойства с помощью службы Центр Интернета вещей Azure или Azure IoT Edge Hub.
Это синхронный вызов, то есть эта функция не будет возвращать, пока исправление не будет отправлено в службу и подтверждено.
Если служба возвращает ошибку при операции исправления, эта функция вызовет соответствующую ошибку.
patch_twin_reported_properties(reported_properties_patch)
Параметры
- reported_properties_patch
- dict
Исправление сообщаемых свойств двойника в виде дикта JSON
Исключения
Значение , если учетные данные недопустимы и невозможно установить подключение.
Значение , если установка подключения приводит к сбою.
Значение , если соединение потеряно во время выполнения.
Если время ожидания попытки подключения истекло
Значение , если клиент не подключен (и автоматическое подключение не включено)
значение , если во время выполнения произошел непредвиденный сбой.
receive_message
Получите сообщение, отправленное из Центр Интернета вещей Azure.
Не рекомендуется с версии 2.3.0: рекомендуется использовать свойство .on_message_received для задания обработчика.
receive_message(block=True, timeout=None)
Параметры
- timeout
- int
При необходимости укажите время ожидания в секундах до истечения времени ожидания блокировки.
Возвращаемое значение
Сообщение, отправленное из Центр Интернета вещей Azure, или Нет, если к концу периода блокировки запрос метода не был получен.
Возвращаемый тип
Исключения
Значение , если учетные данные недопустимы и невозможно установить подключение.
значение , если установка подключения приводит к сбою.
значение , если соединение потеряно во время выполнения.
Значение , если время ожидания подключения истекло.
если во время выполнения произошел непредвиденный сбой.
receive_method_request
Получите запрос метода через Центр Интернета вещей Azure или Azure IoT Edge Hub.
Не рекомендуется с версии 2.3.0: рекомендуется использовать свойство .on_method_request_received для задания обработчика.
receive_method_request(method_name=None, block=True, timeout=None)
Параметры
- method_name
- str
При необходимости укажите имя метода для получения запросов. Если этот параметр не задан, будут получены все методы, которые еще не предназначены для другого запроса для receive_method.
- block
- bool
Указывает, следует ли блокировать операцию до получения запроса.
- timeout
- int
При необходимости укажите время ожидания в секундах до истечения времени ожидания блокировки.
Возвращаемое значение
Объект MethodRequest, представляющий полученный запрос метода, или None, если к концу периода блокировки запрос метода не был получен.
Исключения
Значение , если учетные данные недопустимы и невозможно установить подключение.
значение , если установка подключения приводит к сбою.
значение , если соединение потеряно во время выполнения.
Значение , если время ожидания подключения истекло.
если во время выполнения произошел непредвиденный сбой.
receive_twin_desired_properties_patch
Получите требуемое исправление свойства через Центр Интернета вещей Azure или Azure IoT Edge Hub.
Это синхронный вызов, который означает следующее:
Если block=True, эта функция будет блокироваться, пока не произойдет одно из следующих действий:
требуемое исправление свойства получается из Центр Интернета вещей Azure или Azure IoT Edge Hub.
истекает период времени ожидания, если он указан. Если истекло время ожидания, эта функция вызовет исключение ВходящиеEmpty
Если значение block=False, эта функция возвращает все необходимые исправления свойств, которые могли быть получены конвейером, но еще не возвращены приложению. Если конвейер не получил нужных исправлений свойств, эта функция вызовет исключение InboxEmpty
Не рекомендуется с версии 2.3.0: рекомендуется использовать свойство .on_twin_desired_properties_patch_received для задания обработчика.
receive_twin_desired_properties_patch(block=True, timeout=None)
Параметры
- block
- bool
Указывает, следует ли блокировать операцию до получения запроса.
- timeout
- int
При необходимости укажите время ожидания в секундах до истечения времени ожидания блокировки.
Возвращаемое значение
Исправление требуемых свойств двойника в виде дикта JSON или None, если к концу периода блокировки исправление не было получено.
Возвращаемый тип
Исключения
Значение , если учетные данные недопустимы и невозможно установить подключение.
значение , если установка подключения приводит к сбою.
значение , если соединение потеряно во время выполнения.
Значение , если время ожидания подключения истекло.
если во время выполнения произошел непредвиденный сбой.
send_message
Отправляет сообщение в конечную точку событий по умолчанию в экземпляре Центр Интернета вещей Azure или Azure IoT Edge Hub.
Это синхронное событие, то есть эта функция не возвращается, пока событие не будет отправлено в службу и служба не подтвердит получение события.
Если подключение к службе ранее не было открыто вызовом для подключения, эта функция откроет подключение перед отправкой события.
send_message(message)
Параметры
- message
- Message
Фактическое сообщение для отправки. Все переданные объекты, которые не являются экземпляром класса Message, будут преобразованы в объект Message.
Исключения
Значение , если учетные данные недопустимы и невозможно установить подключение.
значение , если установка подключения приводит к сбою.
значение , если соединение потеряно во время выполнения.
Если время ожидания попытки подключения истекло
Значение , если клиент не подключен (и автоматическое подключение не включено)
если во время выполнения произошел непредвиденный сбой.
send_method_response
Отправка ответа на запрос метода через Центр Интернета вещей Azure или Azure IoT Edge Hub.
Это синхронное событие, то есть эта функция не возвращается, пока событие не будет отправлено в службу и служба не подтвердит получение события.
Если подключение к службе ранее не было открыто вызовом для подключения, эта функция откроет подключение перед отправкой события.
send_method_response(method_response)
Параметры
Исключения
Значение , если учетные данные недопустимы и невозможно установить подключение.
значение , если установка подключения приводит к сбою.
значение , если соединение потеряно во время выполнения.
Если время ожидания попытки подключения истекло
Значение , если клиент не подключен (и автоматическое подключение не включено)
если во время выполнения произошел непредвиденный сбой.
shutdown
Завершите работу клиента для корректного выхода.
После вызова этого метода любые попытки дальнейших вызовов клиента приведут к вызову ClientError.
shutdown()
Исключения
если во время выполнения произошел непредвиденный сбой.
update_sastoken
Обновите маркер SAS клиента, используемый для проверки подлинности, а затем повторно авторизует подключение.
Этот API можно использовать только в том случае, если клиент изначально был создан с маркером SAS.
update_sastoken(sastoken)
Параметры
Исключения
Значение , если учетные данные недопустимы и подключение невозможно установить повторно.
Если повторное установление подключения приведет к сбою.
значение , если соединение потеряно во время выполнения.
Значение , если время ожидания попытки повторной проверки подлинности истекает.
Значение , если клиент изначально не был создан с маркером SAS.
если во время выполнения произошел непредвиденный сбой.
Атрибуты
connected
Свойство только для чтения, указывающее, подключен ли транспорт.
on_background_exception
Функция обработчика или сопрограмма будет вызываться при возникновении фонового исключения.
Определение функции или сопрограммы должно принимать один позиционный аргумент (объект исключения).
on_connection_state_change
Функция обработчика или сопрограмма, которая будет вызываться при изменении состояния подключения.
Определение функции или сопрограммы не должно принимать позиционных аргументов.
on_message_received
Функция обработчика или сопрограмма, которая будет вызываться при получении сообщения.
Определение функции или сопрограммы должно принимать один позиционный аргумент ( Message объект )
on_method_request_received
Функция обработчика или сопрограмма, которая будет вызываться при получении запроса метода.
Не забудьте подтвердить запрос метода в функции или сопрограмме с помощью метода .send_method_response() клиента.
Определение функции или сопрограммы должно принимать один позиционный аргумент ( MethodRequest объект )
on_new_sastoken_required
Функция обработчика или сопрограмма, которая будет вызываться, когда клиенту требуется новый маркер SAS. Это произойдет примерно за 2 минуты до истечения срока действия маркера SAS. На платформах Windows, если срок жизни превышает примерно 49 дней, через эти 49 дней потребуется новый маркер независимо от того, как долго будет использоваться SAS.
Обратите внимание, что этот обработчик необходим только при использовании клиента, созданного с помощью метода .create_from_sastoken().
Новый маркер можно предоставить в функции или сопрограмме с помощью метода .update_sastoken() клиента.
Определение функции или сопрограммы не должно принимать позиционных аргументов.
on_twin_desired_properties_patch_received
Функция обработчика или сопрограмма, которая будет вызываться при получении исправления требуемых свойств двойника.
Определение функции или сопрограммы должно принимать один позиционный аргумент (исправление двойника в виде объекта словаря JSON).
Azure SDK for Python