IoTHubModuleClient Класс
Клиент синхронного модуля, который подключается к экземпляру Центр Интернета вещей Azure или Azure IoT Edge.
Инициализатор для IoTHubModuleClient.
Этот инициализатор не следует вызывать напрямую. Вместо этого используйте один из методов класса create_from_>><< для создания экземпляра.
- Наследование
-
azure.iot.device.iothub.sync_clients.GenericIoTHubClientIoTHubModuleClientazure.iot.device.iothub.abstract_clients.AbstractIoTHubModuleClientIoTHubModuleClient
Конструктор
IoTHubModuleClient(mqtt_pipeline, http_pipeline)
Параметры
- mqtt_pipeline
- <xref:azure.iot.device.iothub.pipeline.MQTTPipeline>
Конвейер, используемый для подключения к конечной точке IoTHub.
- http_pipeline
- <xref:azure.iot.device.iothub.pipeline.HTTPPipeline>
Конвейер, используемый для подключения к конечной точке IoTHub по протоколу HTTP.
Методы
connect |
Подключает клиент к экземпляру Центр Интернета вещей Azure или Azure IoT Edge Hub. Назначение выбирается на основе учетных данных, переданных через параметр auth_provider, предоставленный при инициализации этого объекта. Это синхронный вызов, то есть эта функция не будет возвращать, пока не будет полностью установлено подключение к службе. |
create_from_connection_string |
Создайте экземпляр клиента из строки подключения устройства IoTHub или модуля. |
create_from_edge_environment |
Создайте экземпляр клиента из среды IoT Edge. Этот метод можно запускать только из контейнера IoT Edge или в среде отладки, настроенной для разработки для Пограничных вычислений (например, Visual Studio Visual Studio Code). |
create_from_sastoken |
Создание экземпляра клиента из предварительно созданной строки маркера SAS |
create_from_x509_certificate |
Создание экземпляра клиента с использованием проверки подлинности на основе сертификата X509. |
disconnect |
Отключите клиент от экземпляра Центр Интернета вещей Azure или Azure IoT Edge Hub. Рекомендуется обязательно вызвать эту функцию, когда вы полностью завершили работу с экземпляром клиента. Это синхронный вызов, то есть эта функция не будет возвращать, пока подключение к службе не будет полностью закрыто. |
get_twin |
Возвращает двойник устройства или модуля из службы Центр Интернета вещей Azure или Azure IoT Edge Hub. Это синхронный вызов, то есть эта функция не будет возвращать, пока двойник не будет получен из службы. |
invoke_method |
Вызовите метод из клиента на клиенте устройства или модуля и получите ответ на вызов метода. |
patch_twin_reported_properties |
Обновите сообщаемые свойства с помощью службы Центр Интернета вещей Azure или Azure IoT Edge Hub. Это синхронный вызов, то есть эта функция не будет возвращать, пока исправление не будет отправлено в службу и подтверждено. Если служба возвращает ошибку при операции исправления, эта функция вызовет соответствующую ошибку. |
receive_message_on_input |
Получение входного сообщения, отправленного из другого модуля на определенный вход. Не рекомендуется с версии 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_message_to_output |
Отправляет событие или сообщение в выходные данные заданного модуля. Это исходящие события, предназначенные для "выходных событий". Это синхронное событие, то есть эта функция не возвращается, пока событие не будет отправлено в службу и служба не подтвердит получение события. Если подключение к службе ранее не было открыто вызовом для подключения, эта функция откроет подключение перед отправкой события. |
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_edge_environment
Создайте экземпляр клиента из среды IoT Edge.
Этот метод можно запускать только из контейнера IoT Edge или в среде отладки, настроенной для разработки для Пограничных вычислений (например, Visual Studio Visual Studio Code).
create_from_edge_environment(**kwargs)
Параметры
- 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_interval
- int
Интервал (в секундах) между попытками восстановления удаленного подключения (по умолчанию: 10)
Возвращаемое значение
Экземпляр клиента IoTHub, использующего среду IoT Edge для проверки подлинности.
Исключения
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
- bool
Попытка повторной установки прерванного подключения (по умолчанию: True)
- connection_retry_interval
- int
Интервал (в секундах) между попытками восстановить прерванное подключение (по умолчанию: 10)
- ensure_desired_properties
- bool
Убедитесь, что при повторном подключении было получено последнее исправление требуемых свойств (по умолчанию:True)
Исключения
create_from_x509_certificate
Создание экземпляра клиента с использованием проверки подлинности на основе сертификата X509.
create_from_x509_certificate(x509, hostname, device_id, module_id, **kwargs)
Параметры
- hostname
- str
Узел, на котором выполняется IotHub. Его можно найти в портал Azure на вкладке Обзор в качестве имени узла строки.
- x509
- X509
Полный объект сертификата x509. Чтобы использовать сертификат, объект регистрации должен содержать сертификат (корневой сертификат или один из промежуточных сертификатов ЦС). Если сертификат поступает из CER-файла, он должен быть закодирован в кодировке Base64.
- device_id
- str
Идентификатор, используемый для уникальной идентификации устройства в Центре Интернета вещей
- module_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_twin
Возвращает двойник устройства или модуля из службы Центр Интернета вещей Azure или Azure IoT Edge Hub.
Это синхронный вызов, то есть эта функция не будет возвращать, пока двойник не будет получен из службы.
get_twin()
Возвращаемое значение
Завершение работы с двойником в виде словаря JSON
Возвращаемый тип
Исключения
Значение , если учетные данные недопустимы и невозможно установить подключение.
Значение , если установка подключения приводит к сбою.
Значение , если соединение потеряно во время выполнения.
Если время ожидания попытки подключения истекло
Значение , если клиент не подключен (и автоматическое подключение не включено)
значение , если во время выполнения произошел непредвиденный сбой.
invoke_method
Вызовите метод из клиента на клиенте устройства или модуля и получите ответ на вызов метода.
invoke_method(method_params, device_id, module_id=None)
Параметры
- method_params
- dict
Должен содержать имя_метода (str), полезные данные (str), connectTimeoutInSeconds (int), responseTimeoutInSeconds (int).
- module_id
- str
Идентификатор целевого модуля, в котором будет вызываться метод. (необязательно)
Возвращаемое значение
method_result должно содержать состояние и полезные данные
Возвращаемый тип
Исключения
Значение , если учетные данные недопустимы и невозможно установить подключение.
значение , если установка подключения приводит к сбою.
значение , если соединение потеряно во время выполнения.
Значение , если время ожидания подключения истекло.
если во время выполнения произошел непредвиденный сбой.
patch_twin_reported_properties
Обновите сообщаемые свойства с помощью службы Центр Интернета вещей Azure или Azure IoT Edge Hub.
Это синхронный вызов, то есть эта функция не будет возвращать, пока исправление не будет отправлено в службу и подтверждено.
Если служба возвращает ошибку при операции исправления, эта функция вызовет соответствующую ошибку.
patch_twin_reported_properties(reported_properties_patch)
Параметры
- reported_properties_patch
- dict
Исправление сообщаемых свойств двойника в виде дикта JSON
Исключения
Значение , если учетные данные недопустимы и невозможно установить подключение.
Значение , если установка подключения приводит к сбою.
Значение , если соединение потеряно во время выполнения.
Если время ожидания попытки подключения истекло
Значение , если клиент не подключен (и автоматическое подключение не включено)
значение , если во время выполнения произошел непредвиденный сбой.
receive_message_on_input
Получение входного сообщения, отправленного из другого модуля на определенный вход.
Не рекомендуется с версии 2.3.0: рекомендуется использовать свойство .on_message_received для задания обработчика.
receive_message_on_input(input_name, block=True, timeout=None)
Параметры
- timeout
- int
При необходимости укажите время ожидания в секундах до истечения времени ожидания блокировки.
Возвращаемое значение
Сообщение, отправленное на указанные входные данные, или None, если запрос метода не был получен к концу периода блокировки.
Исключения
Значение , если учетные данные недопустимы и невозможно установить подключение.
значение , если установка подключения приводит к сбою.
значение , если соединение потеряно во время выполнения.
Значение , если время ожидания подключения истекло.
если во время выполнения произошел непредвиденный сбой.
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_message_to_output
Отправляет событие или сообщение в выходные данные заданного модуля.
Это исходящие события, предназначенные для "выходных событий".
Это синхронное событие, то есть эта функция не возвращается, пока событие не будет отправлено в службу и служба не подтвердит получение события.
Если подключение к службе ранее не было открыто вызовом для подключения, эта функция откроет подключение перед отправкой события.
send_message_to_output(message, output_name)
Параметры
- 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
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по