Partilhar via


IoTHubModuleClient Classe

Um cliente de módulo síncrono que se liga a uma instância de Hub IoT do Azure ou IoT Edge do Azure.

Inicializador para um IoTHubModuleClient.

Este inicializador não deve ser chamado diretamente. Em vez disso, utilize um dos classmethods ">>create_from_<<" para instanciar

Herança
azure.iot.device.iothub.sync_clients.GenericIoTHubClient
IoTHubModuleClient
azure.iot.device.iothub.abstract_clients.AbstractIoTHubModuleClient
IoTHubModuleClient

Construtor

IoTHubModuleClient(mqtt_pipeline, http_pipeline)

Parâmetros

mqtt_pipeline
<xref:azure.iot.device.iothub.pipeline.MQTTPipeline>
Necessário

O pipeline utilizado para ligar ao ponto final do IoTHub.

http_pipeline
<xref:azure.iot.device.iothub.pipeline.HTTPPipeline>
Necessário

O pipeline utilizado para ligar ao ponto final do IoTHub através de HTTP.

Métodos

connect

Liga o cliente a um Hub IoT do Azure ou à instância do Hub IoT Edge do Azure.

O destino é escolhido com base nas credenciais transmitidas através do parâmetro auth_provider que foi fornecido quando este objeto foi inicializado.

Esta é uma chamada síncrona, o que significa que esta função não será devolvida até que a ligação ao serviço tenha sido completamente estabelecida.

create_from_connection_string

Instanciar o cliente a partir de um dispositivo IoTHub ou cadeia de ligação do módulo.

create_from_edge_environment

Instanciar o cliente a partir do ambiente de IoT Edge.

Este método só pode ser executado a partir de um contentor de IoT Edge ou num ambiente de depuração configurado para o desenvolvimento do Edge (por exemplo, Visual Studio, Visual Studio Code)

create_from_sastoken

Instanciar o cliente a partir de uma cadeia de Token de SAS pré-criada

create_from_x509_certificate

Instanciar um cliente com a autenticação de certificado X509.

disconnect

Desligue o cliente do Hub IoT do Azure ou da instância do Hub IoT Edge do Azure.

Recomenda-se que se certifique de que chama esta função quando terminar completamente a instância do cliente.

Esta é uma chamada síncrona, o que significa que esta função não será devolvida até que a ligação ao serviço esteja completamente fechada.

get_twin

Obtém o dispositivo ou módulo duplo a partir do Hub IoT do Azure ou do serviço Hub IoT Edge do Azure.

Esta é uma chamada síncrona, o que significa que esta função não será devolvida até que o duplo tenha sido obtido do serviço.

invoke_method

Invoque um método do cliente para um cliente de dispositivo ou módulo e receba a resposta à chamada de método.

patch_twin_reported_properties

Atualize as propriedades comunicadas com o Hub IoT do Azure ou o serviço Hub IoT Edge do Azure.

Esta é uma chamada síncrona, o que significa que esta função não será devolvida até que o patch seja enviado para o serviço e reconhecido.

Se o serviço devolver um erro na operação de patch, esta função gerará o erro adequado.

receive_message_on_input

Receba uma mensagem de entrada que tenha sido enviada de outro Módulo para uma entrada específica.

Preterido desde a versão 2.3.0: recomendamos que utilize a propriedade .on_message_received para definir um processador

receive_method_request

Receba um pedido de método através do Hub IoT do Azure ou do Hub de IoT Edge do Azure.

Preterido desde a versão 2.3.0: recomendamos que utilize a propriedade .on_method_request_received para definir um processador

receive_twin_desired_properties_patch

Receba um patch de propriedade pretendido através do Hub IoT do Azure ou do Hub de IoT Edge do Azure.

Esta é uma chamada síncrona, o que significa o seguinte:

  1. Se block=True, esta função bloqueará até ocorrer um dos seguintes procedimentos:

    • É recebido um patch de propriedade pretendido do Hub IoT do Azure ou do Hub de IoT Edge do Azure.

    • o período de tempo limite, se for fornecido, decorrido. Se ocorrer um tempo limite, esta função gerará uma exceção InboxEmpty

  2. Se block=False, esta função devolverá quaisquer patches de propriedade pretendidos que possam ter sido recebidos pelo pipeline, mas que ainda não foram devolvidos à aplicação. Se não tiverem sido recebidos patches de propriedade pretendidos pelo pipeline, esta função gerará uma exceção InboxEmpty

Preterido desde a versão 2.3.0: recomendamos que utilize a propriedade .on_twin_desired_properties_patch_received para definir um processador

send_message

Envia uma mensagem para o ponto final de eventos predefinido no Hub IoT do Azure ou na instância do Hub IoT Edge do Azure.

Este é um evento síncrono, o que significa que esta função não será devolvida até que o evento seja enviado para o serviço e o serviço tenha reconhecido a receção do evento.

Se a ligação ao serviço não tiver sido aberta anteriormente por uma chamada para ligar, esta função abrirá a ligação antes de enviar o evento.

send_message_to_output

Envia um evento/mensagem para o resultado do módulo especificado.

Estes são eventos de saída e destinam-se a ser "eventos de saída".

Este é um evento síncrono, o que significa que esta função não será devolvida até que o evento seja enviado para o serviço e o serviço tenha reconhecido a receção do evento.

Se a ligação ao serviço não tiver sido aberta anteriormente por uma chamada para ligar, esta função abrirá a ligação antes de enviar o evento.

send_method_response

Envie uma resposta a um pedido de método através do Hub IoT do Azure ou do Hub IoT Edge do Azure.

Este é um evento síncrono, o que significa que esta função não será devolvida até que o evento seja enviado para o serviço e o serviço tenha reconhecido a receção do evento.

Se a ligação ao serviço não tiver sido aberta anteriormente por uma chamada para ligar, esta função abrirá a ligação antes de enviar o evento.

shutdown

Encerre o cliente para uma saída correta.

Assim que este método for chamado, todas as tentativas de outras chamadas de cliente resultarão na criação de um ClientError

update_sastoken

Atualize o Token de SAS do cliente utilizado para autenticação e, em seguida, reautorize a ligação.

Esta API só pode ser utilizada se o cliente tiver sido criado inicialmente com um Token de SAS.

connect

Liga o cliente a um Hub IoT do Azure ou à instância do Hub IoT Edge do Azure.

O destino é escolhido com base nas credenciais transmitidas através do parâmetro auth_provider que foi fornecido quando este objeto foi inicializado.

Esta é uma chamada síncrona, o que significa que esta função não será devolvida até que a ligação ao serviço tenha sido completamente estabelecida.

connect()

Exceções

se as credenciais forem inválidas e não for possível estabelecer uma ligação.

se o estabelecimento de uma ligação resultar em falha.

se a ligação for perdida durante a execução.

se a ligação exceder o limite de tempo.

se ocorrer uma falha inesperada durante a execução.

create_from_connection_string

Instanciar o cliente a partir de um dispositivo IoTHub ou cadeia de ligação do módulo.

create_from_connection_string(connection_string, **kwargs)

Parâmetros

connection_string
str
Necessário

A cadeia de ligação do IoTHub à qual pretende ligar.

server_verification_cert
str
Necessário

Opção de Configuração. A cadeia de certificados fidedigna. Necessário ao utilizar a ligação a um ponto final que tenha uma raiz de confiança não padrão, como um gateway de protocolo.

websockets
bool
Necessário

Opção de Configuração. A predefinição é Falso. Defina como verdadeiro se utilizar MQTT através de websockets.

cipher
str ou list(str)
Necessário

Opção de Configuração. Conjuntos de cifras para TLS/SSL, como uma cadeia em "Formato de lista de cifras OpenSSL" ou como uma lista de cadeias de conjuntos de cifras.

product_info
str
Necessário

Opção de Configuração. A predefinição é uma cadeia vazia. A cadeia contém informações arbitrárias do produto que são anexadas à cadeia de agente de utilizador.

proxy_options
ProxyOptions
Necessário

Opções para enviar tráfego através de servidores proxy.

sastoken_ttl
int
Necessário

O tempo de vida (em segundos) para o SasToken criado utilizado para autenticação. A predefinição é 3600 segundos (1 hora).

keep_alive
int
Necessário

Período máximo em segundos entre comunicações com o mediador. Se não estiverem a ser trocadas outras mensagens, esta ação controla a taxa a que o cliente enviará mensagens de ping para o mediador. Se não for fornecido o valor predefinido de 60 segundos, será utilizado.

auto_connect
bool
Necessário

Ligue automaticamente o cliente ao IoTHub quando é invocado um método que requer a criação de uma ligação. (Predefinição: Verdadeiro)

connection_retry
bool
Necessário

Tentativa de restabelecer uma ligação perdida (Predefinição: Verdadeiro)

connection_retry_interval
int
Necessário

Intervalo, em segundos, entre tentativas de restabelecer uma ligação perdida (Predefinição: 10)

ensure_desired_properties
bool
Necessário

Confirme que o patch de propriedades pretendidos mais recente foi recebido após ligações novamente (Predefinição:Verdadeiro)

Devoluções

Uma instância de um cliente do IoTHub que utiliza uma cadeia de ligação para autenticação.

Exceções

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

create_from_edge_environment

Instanciar o cliente a partir do ambiente de IoT Edge.

Este método só pode ser executado a partir de um contentor de IoT Edge ou num ambiente de depuração configurado para o desenvolvimento do Edge (por exemplo, Visual Studio, Visual Studio Code)

create_from_edge_environment(**kwargs)

Parâmetros

websockets
bool
Necessário

Opção de Configuração. A predefinição é Falso. Defina como verdadeiro se utilizar MQTT através de websockets.

cipher
str ou list(str)
Necessário

Opção de Configuração. Conjuntos de cifras para TLS/SSL, como uma cadeia em "Formato de lista de cifras OpenSSL" ou como uma lista de cadeias de conjuntos de cifras.

product_info
str
Necessário

Opção de Configuração. A predefinição é uma cadeia vazia. A cadeia contém informações arbitrárias do produto que são anexadas à cadeia de agente de utilizador.

proxy_options
ProxyOptions
Necessário

Opções para enviar tráfego através de servidores proxy.

sastoken_ttl
int
Necessário

O tempo de vida (em segundos) para o SasToken criado utilizado para autenticação. A predefinição é 3600 segundos (1 hora)

keep_alive
int
Necessário

Período máximo em segundos entre comunicações com o mediador. Se não estiverem a ser trocadas outras mensagens, esta ação controla a taxa a que o cliente enviará mensagens de ping para o mediador. Se não for fornecido o valor predefinido de 60 segundos, será utilizado.

auto_connect
bool
Necessário

Ligue automaticamente o cliente ao IoTHub quando é invocado um método que requer a criação de uma ligação. (Predefinição: Verdadeiro)

connection_retry
bool
Necessário

Tentativa de restabelecer uma ligação perdida (Predefinição: Verdadeiro)

connection_retry_interval
int
Necessário

Intervalo, em segundos, entre tentativas de restabelecer uma ligação perdida (Predefinição: 10)

Devoluções

Uma instância de um cliente do IoTHub que utiliza o ambiente de IoT Edge para autenticação.

Exceções

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

Instanciar o cliente a partir de uma cadeia de Token de SAS pré-criada

create_from_sastoken(sastoken, **kwargs)

Parâmetros

sastoken
str
Necessário

A cadeia de token de SAS

server_verification_cert
str
Necessário

Opção de Configuração. A cadeia de certificados fidedigna. Necessário ao utilizar a ligação a um ponto final que tenha uma raiz de confiança não padrão, como um gateway de protocolo.

gateway_hostname
str
Necessário

Opção de Configuração. O nome do anfitrião do gateway para o dispositivo de gateway.

websockets
bool
Necessário

Opção de Configuração. A predefinição é Falso. Defina como verdadeiro se utilizar MQTT através de websockets.

cipher
str ou list(str)
Necessário

Opção de Configuração. Conjunto(s) de cifras para TLS/SSL, como uma cadeia em "Formato de lista de cifras OpenSSL" ou como uma lista de cadeias de conjunto de cifras.

product_info
str
Necessário

Opção de Configuração. A predefinição é a cadeia vazia. A cadeia contém informações arbitrárias do produto que são anexadas à cadeia de agente do utilizador.

proxy_options
ProxyOptions
Necessário

Opções para enviar tráfego através de servidores proxy.

keep_alive
int
Necessário

Período máximo em segundos entre comunicações com o mediador. Se não estiverem a ser trocadas outras mensagens, esta ação controla a taxa a que o cliente enviará mensagens ping para o mediador. Se não for fornecido, será utilizado o valor predefinido de 60 segundos.

auto_connect
bool
Necessário

Ligue automaticamente o cliente ao IoTHub quando é invocado um método que requer que seja estabelecida uma ligação. (Predefinição: Verdadeiro)

connection_retry
bool
Necessário

Tentar restabelecer uma ligação perdida (Predefinição: Verdadeiro)

connection_retry_interval
int
Necessário

Intervalo, em segundos, entre tentativas de restabelecer uma ligação perdida (Predefinição: 10)

ensure_desired_properties
bool
Necessário

Confirme que o patch de propriedades pretendidas mais recente foi recebido após ligações novamente (Predefinição:Verdadeiro)

Exceções

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

create_from_x509_certificate

Instanciar um cliente com a autenticação de certificado X509.

create_from_x509_certificate(x509, hostname, device_id, module_id, **kwargs)

Parâmetros

hostname
str
Necessário

Anfitrião a executar o IotHub. Pode ser encontrado no portal do Azure no separador Descrição geral como o nome do anfitrião da cadeia.

x509
X509
Necessário

O objeto de certificado x509 completo. Para utilizar o certificado, o objeto de inscrição tem de conter o certificado de raiz (o certificado de raiz ou um dos certificados de AC intermédios). Se o certificado for proveniente de um ficheiro CER, tem de ser codificado em base64.

device_id
str
Necessário

O ID utilizado para identificar exclusivamente um dispositivo no IoTHub

module_id
str
Necessário

O ID utilizado para identificar exclusivamente um módulo num dispositivo no IoTHub.

server_verification_cert
str
Necessário

Opção de Configuração. A cadeia de certificados fidedigna. Necessário ao utilizar a ligação a um ponto final que tenha uma raiz de confiança não padrão, como um gateway de protocolo.

gateway_hostname
str
Necessário

Opção de Configuração. O nome do anfitrião do gateway para o dispositivo de gateway.

websockets
bool
Necessário

Opção de Configuração. A predefinição é Falso. Defina como verdadeiro se utilizar MQTT através de websockets.

cipher
str ou list(str)
Necessário

Opção de Configuração. Conjunto(s) de cifras para TLS/SSL, como uma cadeia em "Formato de lista de cifras OpenSSL" ou como uma lista de cadeias de conjunto de cifras.

product_info
str
Necessário

Opção de Configuração. A predefinição é a cadeia vazia. A cadeia contém informações arbitrárias do produto que são anexadas à cadeia de agente do utilizador.

proxy_options
ProxyOptions
Necessário

Opções para enviar tráfego através de servidores proxy.

keep_alive
int
Necessário

Período máximo em segundos entre comunicações com o mediador. Se não estiverem a ser trocadas outras mensagens, esta ação controla a taxa a que o cliente enviará mensagens ping para o mediador. Se não for fornecido, será utilizado o valor predefinido de 60 segundos.

auto_connect
bool
Necessário

Ligue automaticamente o cliente ao IoTHub quando é invocado um método que requer que seja estabelecida uma ligação. (Predefinição: Verdadeiro)

connection_retry
bool
Necessário

Tentar restabelecer uma ligação perdida (Predefinição: Verdadeiro)

connection_retry_interval
int
Necessário

Intervalo, em segundos, entre tentativas de restabelecer uma ligação perdida (Predefinição: 10)

ensure_desired_properties
bool
Necessário

Confirme que o patch de propriedades pretendidas mais recente foi recebido após ligações novamente (Predefinição:Verdadeiro)

Devoluções

Uma instância de um cliente IoTHub que utiliza um certificado X509 para autenticação.

Exceções

TypeError if given an unsupported parameter.

disconnect

Desligue o cliente do Hub IoT do Azure ou da instância do Hub IoT Edge do Azure.

Recomenda-se que se certifique de que chama esta função quando terminar completamente a instância do cliente.

Esta é uma chamada síncrona, o que significa que esta função não será devolvida até que a ligação ao serviço esteja completamente fechada.

disconnect()

Exceções

se ocorrer uma falha inesperada durante a execução.

get_twin

Obtém o dispositivo ou módulo duplo a partir do Hub IoT do Azure ou do serviço Hub IoT Edge do Azure.

Esta é uma chamada síncrona, o que significa que esta função não será devolvida até que o duplo tenha sido obtido do serviço.

get_twin()

Devoluções

Completo Duplo como um ditado JSON

Tipo de retorno

Exceções

se as credenciais forem inválidas e não for possível estabelecer uma ligação.

se o estabelecimento de uma ligação resultar em falhas.

se a ligação for perdida durante a execução.

se a tentativa de ligação exceder o limite de tempo

se o cliente não estiver ligado (e não existir ligação automática ativada)

se ocorrer uma falha inesperada durante a execução.

invoke_method

Invoque um método do cliente para um cliente de dispositivo ou módulo e receba a resposta à chamada de método.

invoke_method(method_params, device_id, module_id=None)

Parâmetros

method_params
dict
Necessário

Deve conter um methodName (str), payload (str), connectTimeoutInSeconds (int), responseTimeoutInSeconds (int).

device_id
str
Necessário

ID do dispositivo de destino onde o método será invocado.

module_id
str
valor predefinido: None

ID do módulo de destino onde o método será invocado. (Opcional)

Devoluções

method_result deve conter um estado e um payload

Tipo de retorno

Exceções

se as credenciais forem inválidas e não for possível estabelecer uma ligação.

se o estabelecimento de uma ligação resultar em falha.

se a ligação for perdida durante a execução.

se a ligação exceder o limite de tempo.

se ocorrer uma falha inesperada durante a execução.

patch_twin_reported_properties

Atualize as propriedades comunicadas com o Hub IoT do Azure ou o serviço Hub IoT Edge do Azure.

Esta é uma chamada síncrona, o que significa que esta função não será devolvida até que o patch seja enviado para o serviço e reconhecido.

Se o serviço devolver um erro na operação de patch, esta função gerará o erro adequado.

patch_twin_reported_properties(reported_properties_patch)

Parâmetros

reported_properties_patch
dict
Necessário

Patch propriedades reportadas de duplo como um ditado JSON

Exceções

se as credenciais forem inválidas e não for possível estabelecer uma ligação.

se o estabelecimento de uma ligação resultar em falhas.

se a ligação for perdida durante a execução.

se a tentativa de ligação exceder o limite de tempo

se o cliente não estiver ligado (e não existir ligação automática ativada)

se ocorrer uma falha inesperada durante a execução.

receive_message_on_input

Receba uma mensagem de entrada que tenha sido enviada de outro Módulo para uma entrada específica.

Preterido desde a versão 2.3.0: recomendamos que utilize a propriedade .on_message_received para definir um processador

receive_message_on_input(input_name, block=True, timeout=None)

Parâmetros

input_name
str
Necessário

O nome de entrada em que vai receber uma mensagem.

block
bool
Necessário

Indica se a operação deve bloquear até ser recebida uma mensagem.

timeout
int
Necessário

Opcionalmente, forneça um número de segundos até que o bloqueio exceda o tempo limite.

Devoluções

Mensagem que foi enviada para a entrada especificada ou Nenhuma se nenhum pedido de método tiver sido recebido até ao final do período de bloqueio.

Exceções

se as credenciais forem inválidas e não for possível estabelecer uma ligação.

se o estabelecimento de uma ligação resultar em falha.

se a ligação for perdida durante a execução.

se a ligação exceder o limite de tempo.

se ocorrer uma falha inesperada durante a execução.

receive_method_request

Receba um pedido de método através do Hub IoT do Azure ou do Hub de IoT Edge do Azure.

Preterido desde a versão 2.3.0: recomendamos que utilize a propriedade .on_method_request_received para definir um processador

receive_method_request(method_name=None, block=True, timeout=None)

Parâmetros

method_name
str
valor predefinido: None

Opcionalmente, forneça o nome do método para o qual receber pedidos. Se este parâmetro não for fornecido, todos os métodos que ainda não estão a ser especificamente visados por um pedido diferente para receive_method serão recebidos.

block
bool
valor predefinido: True

Indica se a operação deve bloquear até ser recebido um pedido.

timeout
int
valor predefinido: None

Opcionalmente, forneça um número de segundos até que o bloqueio exceda o tempo limite.

Devoluções

Objeto MethodRequest que representa o pedido de método recebido ou Nenhum se nenhum pedido de método tiver sido recebido até ao final do período de bloqueio.

Exceções

se as credenciais forem inválidas e não for possível estabelecer uma ligação.

se o estabelecimento de uma ligação resultar em falha.

se a ligação for perdida durante a execução.

se a ligação exceder o limite de tempo.

se ocorrer uma falha inesperada durante a execução.

receive_twin_desired_properties_patch

Receba um patch de propriedade pretendido através do Hub IoT do Azure ou do Hub de IoT Edge do Azure.

Esta é uma chamada síncrona, o que significa o seguinte:

  1. Se block=True, esta função bloqueará até ocorrer um dos seguintes procedimentos:

    • É recebido um patch de propriedade pretendido do Hub IoT do Azure ou do Hub de IoT Edge do Azure.

    • o período de tempo limite, se for fornecido, decorrido. Se ocorrer um tempo limite, esta função gerará uma exceção InboxEmpty

  2. Se block=False, esta função devolverá quaisquer patches de propriedade pretendidos que possam ter sido recebidos pelo pipeline, mas que ainda não foram devolvidos à aplicação. Se não tiverem sido recebidos patches de propriedade pretendidos pelo pipeline, esta função gerará uma exceção InboxEmpty

Preterido desde a versão 2.3.0: recomendamos que utilize a propriedade .on_twin_desired_properties_patch_received para definir um processador

receive_twin_desired_properties_patch(block=True, timeout=None)

Parâmetros

block
bool
valor predefinido: True

Indica se a operação deve bloquear até ser recebido um pedido.

timeout
int
valor predefinido: None

Opcionalmente, forneça um número de segundos até que o bloqueio exceda o tempo limite.

Devoluções

Patch propriedades pretendidas de duplo como um ditado JSON ou Nenhum se nenhum patch tiver sido recebido até ao final do período de bloqueio

Tipo de retorno

dict,

Exceções

se as credenciais forem inválidas e não for possível estabelecer uma ligação.

se o estabelecimento de uma ligação resultar em falha.

se a ligação for perdida durante a execução.

se a ligação exceder o limite de tempo.

se ocorrer uma falha inesperada durante a execução.

send_message

Envia uma mensagem para o ponto final de eventos predefinido no Hub IoT do Azure ou na instância do Hub IoT Edge do Azure.

Este é um evento síncrono, o que significa que esta função não será devolvida até que o evento seja enviado para o serviço e o serviço tenha reconhecido a receção do evento.

Se a ligação ao serviço não tiver sido aberta anteriormente por uma chamada para ligar, esta função abrirá a ligação antes de enviar o evento.

send_message(message)

Parâmetros

message
Message
Necessário

A mensagem real a enviar. Qualquer coisa transmitida que não seja uma instância da classe Mensagem será convertida em objeto Mensagem.

Exceções

se as credenciais forem inválidas e não for possível estabelecer uma ligação.

se o estabelecimento de uma ligação resultar em falha.

se a ligação for perdida durante a execução.

se a tentativa de ligação exceder o limite de tempo

se o cliente não estiver ligado (e não existir uma ligação automática ativada)

se ocorrer uma falha inesperada durante a execução.

ValueError if the message fails size validation.

send_message_to_output

Envia um evento/mensagem para o resultado do módulo especificado.

Estes são eventos de saída e destinam-se a ser "eventos de saída".

Este é um evento síncrono, o que significa que esta função não será devolvida até que o evento seja enviado para o serviço e o serviço tenha reconhecido a receção do evento.

Se a ligação ao serviço não tiver sido aberta anteriormente por uma chamada para ligar, esta função abrirá a ligação antes de enviar o evento.

send_message_to_output(message, output_name)

Parâmetros

message
Message
Necessário

Mensagem para enviar para o resultado especificado. Qualquer coisa transmitida que não seja uma instância da classe Mensagem será convertida em objeto Mensagem.

output_name
str
Necessário

Nome do resultado para o qual enviar o evento.

Exceções

se as credenciais forem inválidas e não for possível estabelecer uma ligação.

se o estabelecimento de uma ligação resultar em falha.

se a ligação for perdida durante a execução.

se a tentativa de ligação exceder o limite de tempo

se o cliente não estiver ligado (e não existir uma ligação automática ativada)

se ocorrer uma falha inesperada durante a execução.

ValueError if the message fails size validation.

send_method_response

Envie uma resposta a um pedido de método através do Hub IoT do Azure ou do Hub IoT Edge do Azure.

Este é um evento síncrono, o que significa que esta função não será devolvida até que o evento seja enviado para o serviço e o serviço tenha reconhecido a receção do evento.

Se a ligação ao serviço não tiver sido aberta anteriormente por uma chamada para ligar, esta função abrirá a ligação antes de enviar o evento.

send_method_response(method_response)

Parâmetros

method_response
MethodResponse
Necessário

O MethodResponse a enviar.

Exceções

se as credenciais forem inválidas e não for possível estabelecer uma ligação.

se o estabelecimento de uma ligação resultar em falha.

se a ligação for perdida durante a execução.

se a tentativa de ligação exceder o limite de tempo

se o cliente não estiver ligado (e não existir uma ligação automática ativada)

se ocorrer uma falha inesperada durante a execução.

shutdown

Encerre o cliente para uma saída correta.

Assim que este método for chamado, todas as tentativas de outras chamadas de cliente resultarão na criação de um ClientError

shutdown()

Exceções

se ocorrer uma falha inesperada durante a execução.

update_sastoken

Atualize o Token de SAS do cliente utilizado para autenticação e, em seguida, reautorize a ligação.

Esta API só pode ser utilizada se o cliente tiver sido criado inicialmente com um Token de SAS.

update_sastoken(sastoken)

Parâmetros

sastoken
str
Necessário

A nova cadeia de token de SAS para o cliente utilizar

Exceções

ValueError if the sastoken parameter is invalid

se as credenciais forem inválidas e não for possível restabelecer uma ligação.

se um restaumento da ligação resultar em falha.

se a ligação for perdida durante a execução.

se a tentativa de reautorização exceder o limite de tempo.

se o cliente não tiver sido criado inicialmente com um token de SAS.

se ocorrer uma falha inesperada durante a execução.

Atributos

connected

Propriedade só de leitura para indicar se o transporte está ligado ou não.

on_background_exception

A função de processador ou coroutina será chamada quando ocorrer uma exceção em segundo plano.

A definição de função ou coroutina deve ter um argumento posicional (o objeto de exceção)

on_connection_state_change

A função do processador ou coroutina que será chamada quando o estado da ligação for alterado.

A definição de função ou coroutina não deve ter argumentos posicionais.

on_message_received

A função de processador ou coroutina que será chamada quando uma mensagem de entrada é recebida.

A definição de função ou coroutina deve ter um argumento posicional (o Message objeto)

on_method_request_received

A função de processador ou coroutina que será chamada quando um pedido de método é recebido.

Lembre-se de reconhecer o pedido de método na sua função ou corouteno através da utilização do método .send_method_response() do cliente.

A definição de função ou coroutina deve ter um argumento posicional (o MethodRequest objeto)

on_new_sastoken_required

A função de processador ou coroutina que será chamada quando o cliente precisar de um novo token de SAS. Isto ocorrerá aproximadamente 2 minutos antes de o Token de SAS expirar. Nas plataformas do Windows, se o tempo de vida exceder aproximadamente 49 dias, será necessário um novo token após esses 49 dias, independentemente da duração da SAS.

Tenha em atenção que este processador só é necessário ao utilizar um cliente criado através do método .create_from_sastoken().

O novo token pode ser fornecido na sua função ou coroutina através da utilização do método .update_sastoken() do cliente.

A definição de função ou coroutina não deve ter argumentos posicionais.

on_twin_desired_properties_patch_received

A função de processador ou coroutina que será chamada quando um patch de propriedades pretendidas de duplo é recebido.

A definição de função ou coroutina deve ter um argumento posicional (o patch duplo sob a forma de um objeto de dicionário JSON)