IoTHubModuleClient Clase
Un cliente de módulo asincrónico que se conecta a una instancia de Azure IoT Hub o Azure IoT Edge.
Inicializador para ioTHubModuleClient.
Este inicializador no debe llamarse directamente. En su lugar, use uno de los métodos de clase ">>create_from_<<" para crear instancias
- Herencia
-
azure.iot.device.iothub.aio.async_clients.GenericIoTHubClientIoTHubModuleClientazure.iot.device.iothub.abstract_clients.AbstractIoTHubModuleClientIoTHubModuleClient
Constructor
IoTHubModuleClient(mqtt_pipeline, http_pipeline)
Parámetros
- mqtt_pipeline
- <xref:azure.iot.device.iothub.pipeline.MQTTPipeline>
Canalización usada para conectarse al punto de conexión de IoTHub.
- http_pipeline
Métodos
connect |
Conecta el cliente a una instancia de Azure IoT Hub o azure IoT Edge Hub. El destino se elige en función de las credenciales que se pasan a través del parámetro auth_provider que se proporcionó cuando se inicializó este objeto. |
create_from_connection_string |
Cree una instancia del cliente desde un dispositivo IoTHub o una cadena de conexión de módulo. |
create_from_edge_environment |
Cree una instancia del cliente desde el entorno de IoT Edge. Este método solo se puede ejecutar desde dentro de un contenedor de IoT Edge o en un entorno de depuración configurado para el desarrollo de Edge (por ejemplo, Visual Studio, Visual Studio Code). |
create_from_sastoken |
Creación de una instancia del cliente a partir de una cadena de token de SAS creada previamente |
create_from_x509_certificate |
Cree una instancia de un cliente mediante la autenticación de certificados X509. |
disconnect |
Desconecte el cliente de la instancia de Azure IoT Hub o azure IoT Edge Hub. Se recomienda asegurarse de llamar a esta corrutina cuando haya terminado completamente con la instancia de cliente. |
get_twin |
Obtiene el dispositivo o módulo gemelo del servicio Azure IoT Hub o Azure IoT Edge Hub. |
invoke_method |
Invoque un método desde el cliente a un dispositivo o un cliente de módulo y reciba la respuesta a la llamada al método. |
patch_twin_reported_properties |
Actualice las propiedades notificadas con el servicio Azure IoT Hub o Azure IoT Edge Hub. Si el servicio devuelve un error en la operación de revisión, esta función generará el error adecuado. |
receive_message_on_input |
Recibe un mensaje de entrada que se ha enviado desde otro módulo a una entrada específica. Si aún no hay ningún mensaje disponible, esperará hasta que un elemento esté disponible. En desuso desde la versión 2.3.0: se recomienda usar la propiedad .on_message_received para establecer un controlador en su lugar. |
receive_method_request |
Reciba una solicitud de método mediante el Azure IoT Hub o Azure IoT Edge Hub. Si aún no hay ninguna solicitud de método disponible, esperará hasta que esté disponible. En desuso desde la versión 2.3.0: se recomienda usar la propiedad .on_method_request_received para establecer un controlador en su lugar. |
receive_twin_desired_properties_patch |
Reciba una revisión de propiedades deseada a través de la Azure IoT Hub o Azure IoT Edge Hub. Si aún no hay ninguna solicitud de método disponible, esperará hasta que esté disponible. En desuso desde la versión 2.3.0: se recomienda usar la propiedad .on_twin_desired_properties_patch_received para establecer un controlador en su lugar. |
send_message |
Envía un mensaje al punto de conexión de eventos predeterminado en la instancia de Azure IoT Hub o azure IoT Edge Hub. Si la conexión al servicio no se ha abierto previamente mediante una llamada a para conectarse, esta función abrirá la conexión antes de enviar el evento. |
send_message_to_output |
Envía un evento o mensaje a la salida del módulo especificado. Estos son eventos salientes y están diseñados para ser "eventos de salida" Si la conexión al servicio no se ha abierto previamente mediante una llamada a para conectarse, esta función abrirá la conexión antes de enviar el evento. |
send_method_response |
Envíe una respuesta a una solicitud de método a través del centro de Azure IoT Hub o Azure IoT Edge. Si la conexión al servicio no se ha abierto previamente mediante una llamada a para conectarse, esta función abrirá la conexión antes de enviar el evento. |
shutdown |
Cierre el cliente para una salida correcta. Una vez que se llama a este método, los intentos en llamadas de cliente adicionales darán lugar a un clientError que se genere. |
update_sastoken |
Actualice el token de SAS del cliente que se usa para la autenticación y, a continuación, vuelva a autorizar la conexión. Esta API solo se puede usar si el cliente se creó inicialmente con un token de SAS. |
connect
Conecta el cliente a una instancia de Azure IoT Hub o azure IoT Edge Hub.
El destino se elige en función de las credenciales que se pasan a través del parámetro auth_provider que se proporcionó cuando se inicializó este objeto.
async connect()
Excepciones
si las credenciales no son válidas y no se puede establecer una conexión.
si se produce un error al establecer una conexión.
si se pierde la conexión durante la ejecución.
si se agota el tiempo de espera de la conexión.
si se produce un error inesperado durante la ejecución.
create_from_connection_string
Cree una instancia del cliente desde un dispositivo IoTHub o una cadena de conexión de módulo.
create_from_connection_string(connection_string, **kwargs)
Parámetros
- server_verification_cert
- str
Opción de configuración. Cadena de certificados de confianza. Necesario al usar la conexión a un punto de conexión que tiene una raíz de confianza no estándar, como una puerta de enlace de protocolo.
- websockets
- bool
Opción de configuración. El valor predeterminado es False. Se establece en true si se usa MQTT sobre websockets.
Opción de configuración. Conjuntos de cifrado para TLS/SSL, como una cadena en "Formato de lista de cifrado OpenSSL" o como una lista de cadenas del conjunto de cifrado.
- product_info
- str
Opción de configuración. El valor predeterminado es una cadena vacía. La cadena contiene información arbitraria del producto que se anexa a la cadena del agente de usuario.
- sastoken_ttl
- int
El período de vida (en segundos) para el SasToken creado que se usa para la autenticación. El valor predeterminado es 3600 segundos (1 hora).
- keep_alive
- int
Período máximo en segundos entre las comunicaciones con el agente. Si no se intercambia ningún otro mensaje, controla la velocidad a la que el cliente enviará mensajes ping al agente. Si no se proporciona el valor predeterminado de 60 segundos, se usará .
- auto_connect
- bool
Conecte automáticamente el cliente a IoTHub cuando se invoca un método que requiere que se establezca una conexión. (Valor predeterminado: Verdadero)
- connection_retry
- bool
Intento de restablecer una conexión eliminada (valor predeterminado: True)
- connection_retry_interval
- int
Intervalo, en segundos, entre intentos de restablecer una conexión descartada (valor predeterminado: 10)
- ensure_desired_properties
- bool
Asegúrese de que se ha recibido la revisión de propiedades deseadas más reciente tras volver a establecer conexiones (Valor predeterminado:True)
Devoluciones
Instancia de un cliente de IoTHub que usa una cadena de conexión para la autenticación.
Excepciones
create_from_edge_environment
Cree una instancia del cliente desde el entorno de IoT Edge.
Este método solo se puede ejecutar desde dentro de un contenedor de IoT Edge o en un entorno de depuración configurado para el desarrollo de Edge (por ejemplo, Visual Studio, Visual Studio Code).
create_from_edge_environment(**kwargs)
Parámetros
- websockets
- bool
Opción de configuración. El valor predeterminado es False. Se establece en true si se usa MQTT sobre websockets.
Opción de configuración. Conjuntos de cifrado para TLS/SSL, como una cadena en "Formato de lista de cifrado OpenSSL" o como una lista de cadenas del conjunto de cifrado.
- product_info
- str
Opción de configuración. El valor predeterminado es una cadena vacía. La cadena contiene información arbitraria del producto que se anexa a la cadena del agente de usuario.
- sastoken_ttl
- int
El período de vida (en segundos) para el SasToken creado que se usa para la autenticación. El valor predeterminado es 3600 segundos (1 hora)
- keep_alive
- int
Período máximo en segundos entre las comunicaciones con el agente. Si no se intercambia ningún otro mensaje, controla la velocidad a la que el cliente enviará mensajes ping al agente. Si no se proporciona el valor predeterminado de 60 segundos, se usará .
- auto_connect
- bool
Conecte automáticamente el cliente a IoTHub cuando se invoca un método que requiere que se establezca una conexión. (Valor predeterminado: Verdadero)
- connection_retry
- bool
Intento de restablecer una conexión eliminada (valor predeterminado: True)
- connection_retry_interval
- int
Intervalo, en segundos, entre intentos de restablecer una conexión descartada (valor predeterminado: 10)
Devoluciones
Instancia de un cliente de IoTHub que usa el entorno de IoT Edge para la autenticación.
Excepciones
create_from_sastoken
Creación de una instancia del cliente a partir de una cadena de token de SAS creada previamente
create_from_sastoken(sastoken, **kwargs)
Parámetros
- server_verification_cert
- str
Opción de configuración. Cadena de certificados de confianza. Necesario al usar la conexión a un punto de conexión que tiene una raíz de confianza no estándar, como una puerta de enlace de protocolo.
- gateway_hostname
- str
Opción de configuración. Nombre de host de puerta de enlace para el dispositivo de puerta de enlace.
- websockets
- bool
Opción de configuración. El valor predeterminado es False. Se establece en true si se usa MQTT sobre websockets.
Opción de configuración. Conjuntos de cifrado para TLS/SSL, como una cadena en "Formato de lista de cifrado OpenSSL" o como una lista de cadenas del conjunto de cifrado.
- product_info
- str
Opción de configuración. El valor predeterminado es una cadena vacía. La cadena contiene información arbitraria del producto que se anexa a la cadena del agente de usuario.
- keep_alive
- int
Período máximo en segundos entre las comunicaciones con el agente. Si no se intercambia ningún otro mensaje, controla la velocidad a la que el cliente enviará mensajes ping al agente. Si no se proporciona el valor predeterminado de 60 segundos, se usará .
- auto_connect
- bool
Conecte automáticamente el cliente a IoTHub cuando se invoca un método que requiere que se establezca una conexión. (Valor predeterminado: Verdadero)
- connection_retry
- bool
Intento de restablecer una conexión eliminada (valor predeterminado: True)
- connection_retry_interval
- int
Intervalo, en segundos, entre intentos de restablecer una conexión descartada (valor predeterminado: 10)
- ensure_desired_properties
- bool
Asegúrese de que se ha recibido la revisión de propiedades deseadas más reciente tras volver a establecer conexiones (Valor predeterminado:True)
Excepciones
create_from_x509_certificate
Cree una instancia de un cliente mediante la autenticación de certificados X509.
create_from_x509_certificate(x509, hostname, device_id, module_id, **kwargs)
Parámetros
- hostname
- str
Host que ejecuta IotHub. Puede encontrarse en el Azure Portal de la pestaña Información general como nombre de host de cadena.
- x509
- X509
Objeto de certificado x509 completo. Para usar el certificado, el objeto de inscripción debe contener el certificado (el certificado raíz o uno de los certificados de CA intermedios). Si el certificado procede de un archivo CER, debe estar codificado en base64.
- device_id
- str
Identificador que se usa para identificar de forma única un dispositivo en IoTHub
- module_id
- str
Identificador que se usa para identificar de forma única un módulo en un dispositivo de IoTHub.
- server_verification_cert
- str
Opción de configuración. Cadena de certificados de confianza. Necesario al usar la conexión a un punto de conexión que tiene una raíz de confianza no estándar, como una puerta de enlace de protocolo.
- gateway_hostname
- str
Opción de configuración. Nombre de host de puerta de enlace para el dispositivo de puerta de enlace.
- websockets
- bool
Opción de configuración. El valor predeterminado es False. Se establece en true si se usa MQTT sobre websockets.
Opción de configuración. Conjuntos de cifrado para TLS/SSL, como una cadena en "Formato de lista de cifrado OpenSSL" o como una lista de cadenas del conjunto de cifrado.
- product_info
- str
Opción de configuración. El valor predeterminado es una cadena vacía. La cadena contiene información arbitraria del producto que se anexa a la cadena del agente de usuario.
- keep_alive
- int
Período máximo en segundos entre las comunicaciones con el agente. Si no se intercambia ningún otro mensaje, controla la velocidad a la que el cliente enviará mensajes ping al agente. Si no se proporciona el valor predeterminado de 60 segundos, se usará .
- auto_connect
- bool
Conecte automáticamente el cliente a IoTHub cuando se invoca un método que requiere que se establezca una conexión. (Valor predeterminado: Verdadero)
- connection_retry
- bool
Intento de restablecer una conexión eliminada (valor predeterminado: True)
- connection_retry_interval
- int
Intervalo, en segundos, entre intentos de restablecer una conexión descartada (valor predeterminado: 10)
- ensure_desired_properties
- bool
Asegúrese de que se ha recibido la revisión de propiedades deseadas más reciente tras volver a establecer conexiones (Valor predeterminado:True)
Devoluciones
Instancia de un cliente de IoTHub que usa un certificado X509 para la autenticación.
Excepciones
disconnect
Desconecte el cliente de la instancia de Azure IoT Hub o azure IoT Edge Hub.
Se recomienda asegurarse de llamar a esta corrutina cuando haya terminado completamente con la instancia de cliente.
async disconnect()
Excepciones
si se produce un error inesperado durante la ejecución.
get_twin
Obtiene el dispositivo o módulo gemelo del servicio Azure IoT Hub o Azure IoT Edge Hub.
async get_twin()
Devoluciones
Completar gemelo como un dict JSON
Tipo de valor devuelto
Excepciones
si las credenciales no son válidas y no se puede establecer una conexión.
si se produce un error al establecer una conexión.
si se pierde la conexión durante la ejecución.
si el intento de conexión agota el tiempo de espera
si el cliente no está conectado (y no hay ninguna conexión automática habilitada)
si se produce un error inesperado durante la ejecución.
invoke_method
Invoque un método desde el cliente a un dispositivo o un cliente de módulo y reciba la respuesta a la llamada al método.
async invoke_method(method_params, device_id, module_id=None)
Parámetros
- method_params
- dict
Debe contener un methodName (str), payload (str), connectTimeoutInSeconds (int), responseTimeoutInSeconds (int).
- device_id
- str
Identificador de dispositivo del dispositivo de destino donde se invocará el método.
- module_id
- str
Id. de módulo del módulo de destino donde se invocará el método. (Opcional)
Devoluciones
method_result debe contener un estado y una carga
Tipo de valor devuelto
Excepciones
si las credenciales no son válidas y no se puede establecer una conexión.
si se produce un error al establecer una conexión.
si se pierde la conexión durante la ejecución.
si se agota el tiempo de espera de la conexión.
si se produce un error inesperado durante la ejecución.
patch_twin_reported_properties
Actualice las propiedades notificadas con el servicio Azure IoT Hub o Azure IoT Edge Hub.
Si el servicio devuelve un error en la operación de revisión, esta función generará el error adecuado.
async patch_twin_reported_properties(reported_properties_patch)
Parámetros
- reported_properties_patch
- dict
Revisión de propiedades notificadas de gemelos como un dict JSON
Excepciones
si las credenciales no son válidas y no se puede establecer una conexión.
si se produce un error al establecer una conexión.
si se pierde la conexión durante la ejecución.
si el intento de conexión agota el tiempo de espera
si el cliente no está conectado (y no hay ninguna conexión automática habilitada)
si se produce un error inesperado durante la ejecución.
receive_message_on_input
Recibe un mensaje de entrada que se ha enviado desde otro módulo a una entrada específica.
Si aún no hay ningún mensaje disponible, esperará hasta que un elemento esté disponible.
En desuso desde la versión 2.3.0: se recomienda usar la propiedad .on_message_received para establecer un controlador en su lugar.
receive_message_on_input(input_name)
Parámetros
Devoluciones
Mensaje que se envió a la entrada especificada.
Tipo de valor devuelto
Excepciones
si las credenciales no son válidas y no se puede establecer una conexión.
si se produce un error al establecer una conexión.
si se pierde la conexión durante la ejecución.
si se agota el tiempo de espera de la conexión.
si se produce un error inesperado durante la ejecución.
receive_method_request
Reciba una solicitud de método mediante el Azure IoT Hub o Azure IoT Edge Hub.
Si aún no hay ninguna solicitud de método disponible, esperará hasta que esté disponible.
En desuso desde la versión 2.3.0: se recomienda usar la propiedad .on_method_request_received para establecer un controlador en su lugar.
receive_method_request(method_name=None)
Parámetros
- method_name
- str
Opcionalmente, proporcione el nombre del método para el que se van a recibir solicitudes. Si no se especifica este parámetro, se recibirán todos los métodos que aún no están dirigidos específicamente por una llamada diferente a receive_method.
Devoluciones
Objeto MethodRequest que representa la solicitud de método recibida.
Tipo de valor devuelto
Excepciones
si las credenciales no son válidas y no se puede establecer una conexión.
si se produce un error al establecer una conexión.
si se pierde la conexión durante la ejecución.
si se agota el tiempo de espera de la conexión.
si se produce un error inesperado durante la ejecución.
receive_twin_desired_properties_patch
Reciba una revisión de propiedades deseada a través de la Azure IoT Hub o Azure IoT Edge Hub.
Si aún no hay ninguna solicitud de método disponible, esperará hasta que esté disponible.
En desuso desde la versión 2.3.0: se recomienda usar la propiedad .on_twin_desired_properties_patch_received para establecer un controlador en su lugar.
receive_twin_desired_properties_patch()
Devoluciones
Revisión de propiedades deseadas gemelas como un dict JSON
Tipo de valor devuelto
Excepciones
si las credenciales no son válidas y no se puede establecer una conexión.
si se produce un error al establecer una conexión.
si se pierde la conexión durante la ejecución.
si se agota el tiempo de espera de la conexión.
si se produce un error inesperado durante la ejecución.
send_message
Envía un mensaje al punto de conexión de eventos predeterminado en la instancia de Azure IoT Hub o azure IoT Edge Hub.
Si la conexión al servicio no se ha abierto previamente mediante una llamada a para conectarse, esta función abrirá la conexión antes de enviar el evento.
async send_message(message)
Parámetros
- message
- Message
Mensaje real que se va a enviar. Todo lo que se pase que no sea una instancia de la clase Message se convertirá en objeto Message.
Excepciones
si las credenciales no son válidas y no se puede establecer una conexión.
si se produce un error al establecer una conexión.
si se pierde la conexión durante la ejecución.
si el intento de conexión agota el tiempo de espera
si el cliente no está conectado (y no hay ninguna conexión automática habilitada)
si se produce un error inesperado durante la ejecución.
send_message_to_output
Envía un evento o mensaje a la salida del módulo especificado.
Estos son eventos salientes y están diseñados para ser "eventos de salida"
Si la conexión al servicio no se ha abierto previamente mediante una llamada a para conectarse, esta función abrirá la conexión antes de enviar el evento.
async send_message_to_output(message, output_name)
Parámetros
- message
- Message
Mensaje que se va a enviar a la salida especificada. Todo lo que se pase que no sea una instancia de la clase Message se convertirá en objeto Message.
Excepciones
si las credenciales no son válidas y no se puede establecer una conexión.
si se produce un error al establecer una conexión.
si se pierde la conexión durante la ejecución.
si el intento de conexión agota el tiempo de espera
si el cliente no está conectado (y no hay ninguna conexión automática habilitada)
si se produce un error inesperado durante la ejecución.
send_method_response
Envíe una respuesta a una solicitud de método a través del centro de Azure IoT Hub o Azure IoT Edge.
Si la conexión al servicio no se ha abierto previamente mediante una llamada a para conectarse, esta función abrirá la conexión antes de enviar el evento.
async send_method_response(method_response)
Parámetros
Excepciones
si las credenciales no son válidas y no se puede establecer una conexión.
si se produce un error al establecer una conexión.
si se pierde la conexión durante la ejecución.
si se agota el tiempo de espera del intento de conexión
si el cliente no está conectado (y no hay ninguna conexión automática habilitada)
si se produce un error inesperado durante la ejecución.
shutdown
Cierre el cliente para una salida correcta.
Una vez que se llama a este método, los intentos en llamadas de cliente adicionales darán lugar a un clientError que se genere.
async shutdown()
Excepciones
si se produce un error inesperado durante la ejecución.
update_sastoken
Actualice el token de SAS del cliente que se usa para la autenticación y, a continuación, vuelva a autorizar la conexión.
Esta API solo se puede usar si el cliente se creó inicialmente con un token de SAS.
async update_sastoken(sastoken)
Parámetros
Excepciones
si las credenciales no son válidas y no se puede restablecer una conexión.
Si se vuelve a establecer la conexión, se produce un error.
si se pierde la conexión durante la ejecución.
si se agota el tiempo de espera del intento de reautorización.
si el cliente no se creó inicialmente con un token de SAS.
si se produce un error inesperado durante la ejecución.
Atributos
connected
Propiedad de solo lectura para indicar si el transporte está conectado o no.
on_background_exception
Se llamará a la función o corrutina del controlador cuando se produzca una excepción en segundo plano.
La definición de función o corrutina debe tomar un argumento posicional (el objeto de excepción)
on_connection_state_change
Función de controlador o corrutina a la que se llamará cuando cambie el estado de conexión.
La definición de función o corrutina no debe tener argumentos posicionales.
on_message_received
Función de controlador o corrutina a la que se llamará cuando se reciba un mensaje de entrada.
La definición de función o corrutina debe tomar un argumento posicional (el Message objeto)
on_method_request_received
Función de controlador o corrutina a la que se llamará cuando se reciba una solicitud de método.
Recuerde confirmar la solicitud de método en la función o corrutina mediante el uso del método .send_method_response() del cliente.
La definición de función o corrutina debe tomar un argumento posicional (el MethodRequest objeto)
on_new_sastoken_required
Función de controlador o corrutina a la que se llamará cuando el cliente requiera un nuevo token de SAS. Esto ocurrirá aproximadamente 2 minutos antes de que expire el token de SAS. En las plataformas Windows, si la duración supera aproximadamente 49 días, se requerirá un nuevo token después de esos 49 días independientemente de cuánto tiempo dure la vida útil de SAS.
Tenga en cuenta que este controlador SOLO es necesario cuando se usa un cliente creado a través del método .create_from_sastoken().
El nuevo token se puede proporcionar en la función o corrutina mediante el uso del método .update_sastoken() del cliente.
La definición de función o corrutina no debe tener argumentos posicionales.
on_twin_desired_properties_patch_received
Función de controlador o corrutina a la que se llamará cuando se reciba una revisión de propiedades deseadas de gemelo.
La definición de función o corrutina debe tomar un argumento posicional (la revisión de gemelos en forma de un objeto de diccionario JSON)
Azure SDK for Python