Compartir a través de


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.GenericIoTHubClient
IoTHubModuleClient
azure.iot.device.iothub.abstract_clients.AbstractIoTHubModuleClient
IoTHubModuleClient

Constructor

IoTHubModuleClient(mqtt_pipeline, http_pipeline)

Parámetros

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

Canalización usada para conectarse al punto de conexión de IoTHub.

http_pipeline
Requerido

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

connection_string
str
Requerido

Cadena de conexión de IoTHub a la que desea conectarse.

server_verification_cert
str
Requerido

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
Requerido

Opción de configuración. El valor predeterminado es False. Se establece en true si se usa MQTT sobre websockets.

cipher
str o list(str)
Requerido

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
Requerido

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.

proxy_options
ProxyOptions
Requerido

Opciones para enviar tráfico a través de servidores proxy.

sastoken_ttl
int
Requerido

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
Requerido

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
Requerido

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
Requerido

Intento de restablecer una conexión eliminada (valor predeterminado: True)

connection_retry_interval
int
Requerido

Intervalo, en segundos, entre intentos de restablecer una conexión descartada (valor predeterminado: 10)

ensure_desired_properties
bool
Requerido

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

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

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
Requerido

Opción de configuración. El valor predeterminado es False. Se establece en true si se usa MQTT sobre websockets.

cipher
str o list(str)
Requerido

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
Requerido

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.

proxy_options
ProxyOptions
Requerido

Opciones para enviar tráfico a través de servidores proxy.

sastoken_ttl
int
Requerido

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
Requerido

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
Requerido

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
Requerido

Intento de restablecer una conexión eliminada (valor predeterminado: True)

connection_retry_interval
int
Requerido

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

OSError if the IoT Edge container is not configured correctly.
ValueError if debug variables are invalid.
TypeError if given an unsupported parameter.

create_from_sastoken

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

sastoken
str
Requerido

Cadena de token de SAS

server_verification_cert
str
Requerido

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
Requerido

Opción de configuración. Nombre de host de puerta de enlace para el dispositivo de puerta de enlace.

websockets
bool
Requerido

Opción de configuración. El valor predeterminado es False. Se establece en true si se usa MQTT sobre websockets.

cipher
str o list(str)
Requerido

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
Requerido

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.

proxy_options
ProxyOptions
Requerido

Opciones para enviar tráfico a través de servidores proxy.

keep_alive
int
Requerido

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
Requerido

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
Requerido

Intento de restablecer una conexión eliminada (valor predeterminado: True)

connection_retry_interval
int
Requerido

Intervalo, en segundos, entre intentos de restablecer una conexión descartada (valor predeterminado: 10)

ensure_desired_properties
bool
Requerido

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

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

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
Requerido

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
Requerido

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
Requerido

Identificador que se usa para identificar de forma única un dispositivo en IoTHub

module_id
str
Requerido

Identificador que se usa para identificar de forma única un módulo en un dispositivo de IoTHub.

server_verification_cert
str
Requerido

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
Requerido

Opción de configuración. Nombre de host de puerta de enlace para el dispositivo de puerta de enlace.

websockets
bool
Requerido

Opción de configuración. El valor predeterminado es False. Se establece en true si se usa MQTT sobre websockets.

cipher
str o list(str)
Requerido

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
Requerido

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.

proxy_options
ProxyOptions
Requerido

Opciones para enviar tráfico a través de servidores proxy.

keep_alive
int
Requerido

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
Requerido

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
Requerido

Intento de restablecer una conexión eliminada (valor predeterminado: True)

connection_retry_interval
int
Requerido

Intervalo, en segundos, entre intentos de restablecer una conexión descartada (valor predeterminado: 10)

ensure_desired_properties
bool
Requerido

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

TypeError if given an unsupported parameter.

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
Requerido

Debe contener un methodName (str), payload (str), connectTimeoutInSeconds (int), responseTimeoutInSeconds (int).

device_id
str
Requerido

Identificador de dispositivo del dispositivo de destino donde se invocará el método.

module_id
str
valor predeterminado: None

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
Requerido

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

input_name
str
Requerido

Nombre de entrada en el que se va a recibir un mensaje.

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
valor predeterminado: None

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
Requerido

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.

ValueError if the message fails size validation.

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
Requerido

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.

output_name
str
Requerido

Nombre de la salida a la que se va a enviar el evento.

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.

ValueError if the message fails size validation.

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

method_response
MethodResponse
Requerido

MethodResponse que se va a enviar

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

sastoken
str
Requerido

La nueva cadena de token de SAS para que el cliente la use

Excepciones

ValueError if the sastoken parameter is invalid

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)