Compartir a través de


IoTHubDeviceClient Clase

Un cliente de dispositivo sincrónico que se conecta a una instancia de Azure IoT Hub.

Inicializador para ioTHubDeviceClient.

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.sync_clients.GenericIoTHubClient
IoTHubDeviceClient
azure.iot.device.iothub.abstract_clients.AbstractIoTHubDeviceClient
IoTHubDeviceClient

Constructor

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

Se trata de una llamada sincrónica, lo que significa que esta función no devolverá hasta que se haya establecido completamente la conexión al servicio.

create_from_connection_string

Cree una instancia del cliente desde un dispositivo IoTHub o una cadena de conexión de módulo.

create_from_sastoken

Creación de una instancia del cliente a partir de una cadena de token de SAS creada previamente

create_from_symmetric_key

Cree una instancia de un cliente mediante la autenticación de clave simétrica.

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 función cuando haya terminado completamente con la instancia de cliente.

Se trata de una llamada sincrónica, lo que significa que esta función no devolverá hasta que la conexión al servicio se haya cerrado por completo.

get_storage_info_for_blob

Envía una solicitud POST a través de HTTP a un punto de conexión de IoTHub que devolverá información para cargar a través de la cuenta de Azure Storage vinculada a IoTHub a la que está conectado el dispositivo.

get_twin

Obtiene el dispositivo o módulo gemelo del servicio Azure IoT Hub o azure IoT Edge Hub.

Se trata de una llamada sincrónica, lo que significa que esta función no devolverá hasta que el gemelo se haya recuperado del servicio.

notify_blob_upload_status

Una vez completada la carga, el dispositivo envía una solicitud POST al punto de conexión IoT Hub con información sobre el estado de una carga en el intento de blob. Esto lo usa IoT Hub para notificar a los clientes de escucha.

patch_twin_reported_properties

Actualice las propiedades notificadas con el servicio Azure IoT Hub o Azure IoT Edge Hub.

Se trata de una llamada sincrónica, lo que significa que esta función no devolverá hasta que se haya enviado la revisión al servicio y se confirme.

Si el servicio devuelve un error en la operación de revisión, esta función generará el error adecuado.

receive_message

Reciba un mensaje enviado desde el Azure IoT Hub.

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 a través del Azure IoT Hub o Azure IoT Edge Hub.

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 propiedad deseada a través del centro de Azure IoT Hub o Azure IoT Edge.

Se trata de una llamada sincrónica, lo que significa lo siguiente:

  1. Si block=True, esta función se bloqueará hasta que se produzca una de las siguientes acciones:

    • Se recibe una revisión de propiedad deseada desde el centro de Azure IoT Hub o Azure IoT Edge Hub.

    • el período de tiempo de espera, si se proporciona, transcurre. Si se produce un tiempo de espera, esta función generará una excepción InboxEmpty.

  2. Si block=False, esta función devolverá las revisiones de propiedades deseadas que puede haber recibido la canalización, pero que aún no se han devuelto a la aplicación. Si no se han recibido revisiones de propiedades deseadas por la canalización, esta función generará una excepción InboxEmpty.

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.

Se trata de un evento sincrónico, lo que significa que esta función no devolverá hasta que se haya enviado el evento al servicio y el servicio haya confirmado la recepción del evento.

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.

Se trata de un evento sincrónico, lo que significa que esta función no devolverá hasta que se haya enviado el evento al servicio y el servicio haya confirmado la recepción del evento.

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.

Se trata de una llamada sincrónica, lo que significa que esta función no devolverá hasta que se haya establecido completamente la conexión al servicio.

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_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_symmetric_key

Cree una instancia de un cliente mediante la autenticación de clave simétrica.

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

Parámetros

symmetric_key
Requerido

Clave simétrica.

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.

device_id
Requerido

El identificador del dispositivo

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.

sastoken_ttl
int
Requerido

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 volver a establecer una conexión eliminada (valor predeterminado: True)

connection_retry_interval
int
Requerido

Intervalo, en segundos, entre intentos de restablecer una conexión eliminada (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 clave simétrica para la autenticación.

Excepciones

TypeError if given an unsupported parameter.
ValueError if the provided parameters are 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, **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 (ya sea el certificado raíz o uno de los certificados de entidad de certificación 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.

server_verification_cert
str
Requerido

Opción de configuración. Cadena de certificados de confianza. Es necesario cuando se usa 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 volver a establecer una conexión eliminada (valor predeterminado: True)

connection_retry_interval
int
Requerido

Intervalo, en segundos, entre intentos de restablecer una conexión eliminada (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 función cuando haya terminado completamente con la instancia de cliente.

Se trata de una llamada sincrónica, lo que significa que esta función no devolverá hasta que la conexión al servicio se haya cerrado por completo.

disconnect()

Excepciones

si se produce un error inesperado durante la ejecución.

get_storage_info_for_blob

Envía una solicitud POST a través de HTTP a un punto de conexión de IoTHub que devolverá información para cargar a través de la cuenta de Azure Storage vinculada a IoTHub a la que está conectado el dispositivo.

get_storage_info_for_blob(blob_name)

Parámetros

blob_name
str
Requerido

Nombre en formato de cadena del blob que se cargará mediante la API de almacenamiento. Este nombre se usará para generar las credenciales adecuadas para Storage y debe coincidir con lo que se usará con el SDK de Azure Storage para realizar la carga de blobs.

Devoluciones

Objeto similar a JSON (diccionario) de IoT Hub que contendrá información relevante, como correlationId, hostName, containerName, blobName, sasToken.

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.

get_twin

Obtiene el dispositivo o módulo gemelo del servicio Azure IoT Hub o azure IoT Edge Hub.

Se trata de una llamada sincrónica, lo que significa que esta función no devolverá hasta que el gemelo se haya recuperado del servicio.

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

notify_blob_upload_status

Una vez completada la carga, el dispositivo envía una solicitud POST al punto de conexión IoT Hub con información sobre el estado de una carga en el intento de blob. Esto lo usa IoT Hub para notificar a los clientes de escucha.

notify_blob_upload_status(correlation_id, is_success, status_code, status_description)

Parámetros

correlation_id
str
Requerido

Proporcionado por IoT Hub en get_storage_info_for_blob solicitud.

is_success
bool
Requerido

Valor booleano que indica si el archivo se cargó correctamente.

status_code
int
Requerido

Código de estado numérico que es el estado de la carga del archivo en el almacenamiento.

status_description
str
Requerido

Descripción que corresponde al status_code.

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.

Se trata de una llamada sincrónica, lo que significa que esta función no devolverá hasta que se haya enviado la revisión al servicio y se confirme.

Si el servicio devuelve un error en la operación de revisión, esta función generará el error adecuado.

patch_twin_reported_properties(reported_properties_patch)

Parámetros

reported_properties_patch
dict
Requerido

Revisión de propiedades notificadas de gemelos como una diferencia 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 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.

receive_message

Reciba un mensaje enviado desde el Azure IoT Hub.

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

Parámetros

block
bool
Requerido

Indica si la operación debe bloquearse hasta que se reciba un mensaje.

timeout
int
Requerido

Opcionalmente, proporcione un número de segundos hasta que se agote el tiempo de espera de bloqueo.

Devoluciones

Mensaje que se envió desde el Azure IoT Hub o Ninguno si no se ha recibido ninguna solicitud de método al final del período de bloqueo.

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 a través del Azure IoT Hub o Azure IoT Edge Hub.

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, block=True, timeout=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 solicitud diferente a receive_method.

block
bool
valor predeterminado: True

Indica si la operación debe bloquearse hasta que se reciba una solicitud.

timeout
int
valor predeterminado: None

Opcionalmente, proporcione un número de segundos hasta que se agote el tiempo de espera de bloqueo.

Devoluciones

Objeto MethodRequest que representa la solicitud de método recibida o None si no se ha recibido ninguna solicitud de método al final del período de bloqueo.

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 propiedad deseada a través del centro de Azure IoT Hub o Azure IoT Edge.

Se trata de una llamada sincrónica, lo que significa lo siguiente:

  1. Si block=True, esta función se bloqueará hasta que se produzca una de las siguientes acciones:

    • Se recibe una revisión de propiedad deseada desde el centro de Azure IoT Hub o Azure IoT Edge Hub.

    • el período de tiempo de espera, si se proporciona, transcurre. Si se produce un tiempo de espera, esta función generará una excepción InboxEmpty.

  2. Si block=False, esta función devolverá las revisiones de propiedades deseadas que puede haber recibido la canalización, pero que aún no se han devuelto a la aplicación. Si no se han recibido revisiones de propiedades deseadas por la canalización, esta función generará una excepción InboxEmpty.

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

Parámetros

block
bool
valor predeterminado: True

Indica si la operación debe bloquearse hasta que se reciba una solicitud.

timeout
int
valor predeterminado: None

Opcionalmente, proporcione un número de segundos hasta que se agote el tiempo de espera de bloqueo.

Devoluciones

Revisión de las propiedades deseadas gemelas como dict JSON o None si no se ha recibido ninguna revisión al final del período de bloqueo

Tipo de valor devuelto

dict,

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.

Se trata de un evento sincrónico, lo que significa que esta función no devolverá hasta que se haya enviado el evento al servicio y el servicio haya confirmado la recepción del evento.

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(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 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.

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.

Se trata de un evento sincrónico, lo que significa que esta función no devolverá hasta que se haya enviado el evento al servicio y el servicio haya confirmado la recepción del evento.

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(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.

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.

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.

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)