IoTHubModuleClient Classe
Um cliente de módulo assíncrono que se liga a uma instância de Hub IoT do Azure ou IoT Edge do Azure.
Inicializador de um IoTHubModuleClient.
Este inicializador não deve ser chamado diretamente. Em vez disso, utilize um dos métodos de classe ">>create_from_<<" para instanciar
- Herança
-
azure.iot.device.iothub.aio.async_clients.GenericIoTHubClientIoTHubModuleClientazure.iot.device.iothub.abstract_clients.AbstractIoTHubModuleClientIoTHubModuleClient
Construtor
IoTHubModuleClient(mqtt_pipeline, http_pipeline)
Parâmetros
- mqtt_pipeline
- <xref:azure.iot.device.iothub.pipeline.MQTTPipeline>
O pipeline utilizado para ligar ao ponto final do IoTHub.
- http_pipeline
Métodos
connect |
Liga o cliente a um Hub IoT do Azure ou a uma 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. |
create_from_connection_string |
Instanciar o cliente a partir de um dispositivo IoTHub ou de uma cadeia de ligação do módulo. |
create_from_edge_environment |
Instanciar o cliente a partir do ambiente 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 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 este coroutine quando terminar completamente a instância do cliente. |
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. |
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. 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. Se ainda não existir nenhuma mensagem disponível, aguardará até que um item esteja disponível. 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. Se ainda não estiver disponível nenhum pedido de método, aguardará até estar disponível. 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. Se ainda não estiver disponível nenhum pedido de método, aguardará até estar disponível. 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. 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" 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. 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 num ClientError a ser gerado |
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 a uma 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.
async 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 falhas.
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 de uma cadeia de ligação do módulo.
create_from_connection_string(connection_string, **kwargs)
Parâmetros
- server_verification_cert
- str
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
Opção de Configuração. A predefinição é Falso. Defina como verdadeiro se utilizar MQTT através de websockets.
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
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.
- sastoken_ttl
- int
O tempo de vida (em segundos) do SasToken criado utilizado para autenticação. A predefinição é 3600 segundos (1 hora).
- keep_alive
- int
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
Ligue automaticamente o cliente ao IoTHub quando é invocado um método que requer que seja estabelecida uma ligação. (Predefinição: Verdadeiro)
- connection_retry_interval
- int
Intervalo, em segundos, entre tentativas de restabelecer uma ligação perdida (Predefinição: 10)
- ensure_desired_properties
- bool
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 uma cadeia de ligação para autenticação.
Exceções
create_from_edge_environment
Instanciar o cliente a partir do ambiente 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 desenvolvimento do Edge (por exemplo, Visual Studio, Visual Studio Code)
create_from_edge_environment(**kwargs)
Parâmetros
- websockets
- bool
Opção de Configuração. A predefinição é Falso. Defina como verdadeiro se utilizar MQTT através de websockets.
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
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.
- sastoken_ttl
- int
O tempo de vida (em segundos) do SasToken criado utilizado para autenticação. A predefinição é 3600 segundos (1 hora)
- keep_alive
- int
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
Ligue automaticamente o cliente ao IoTHub quando é invocado um método que requer que seja estabelecida uma ligação. (Predefinição: Verdadeiro)
- connection_retry_interval
- int
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
create_from_sastoken
Instanciar o cliente a partir de uma cadeia de Token de SAS pré-criada
create_from_sastoken(sastoken, **kwargs)
Parâmetros
- server_verification_cert
- str
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
Opção de Configuração. O nome do anfitrião do gateway para o dispositivo de gateway.
- websockets
- bool
Opção de Configuração. A predefinição é Falso. Defina como verdadeiro se utilizar MQTT através de websockets.
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
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.
- keep_alive
- int
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
Ligue automaticamente o cliente ao IoTHub quando é invocado um método que requer que seja estabelecida uma ligação. (Predefinição: Verdadeiro)
- connection_retry_interval
- int
Intervalo, em segundos, entre tentativas de restabelecer uma ligação perdida (Predefinição: 10)
- ensure_desired_properties
- bool
Confirme que o patch de propriedades pretendidas mais recente foi recebido após ligações novamente (Predefinição:Verdadeiro)
Exceções
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
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
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.
- module_id
- str
O ID utilizado para identificar exclusivamente um módulo num dispositivo no IoTHub.
- server_verification_cert
- str
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
Opção de Configuração. O nome do anfitrião do gateway para o dispositivo de gateway.
- websockets
- bool
Opção de Configuração. A predefinição é Falso. Defina como verdadeiro se utilizar MQTT através de websockets.
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
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.
- keep_alive
- int
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
Ligue automaticamente o cliente ao IoTHub quando é invocado um método que requer que seja estabelecida uma ligação. (Predefinição: Verdadeiro)
- connection_retry_interval
- int
Intervalo, em segundos, entre tentativas de restabelecer uma ligação perdida (Predefinição: 10)
- ensure_desired_properties
- bool
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
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 este coroutine quando terminar completamente a instância do cliente.
async 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.
async 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.
async invoke_method(method_params, device_id, module_id=None)
Parâmetros
- method_params
- dict
Deve conter um methodName (str), payload (str), connectTimeoutInSeconds (int), responseTimeoutInSeconds (int).
- module_id
- str
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 falhas.
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.
Se o serviço devolver um erro na operação de patch, esta função gerará o erro adequado.
async patch_twin_reported_properties(reported_properties_patch)
Parâmetros
- reported_properties_patch
- dict
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.
Se ainda não existir nenhuma mensagem disponível, aguardará até que um item esteja disponível.
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)
Parâmetros
Devoluções
Mensagem que foi enviada para a entrada especificada.
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 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.
Se ainda não estiver disponível nenhum pedido de método, aguardará até estar disponível.
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)
Parâmetros
- method_name
- str
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 uma chamada diferente para receive_method serão recebidos.
Devoluções
Objeto MethodRequest que representa o pedido de método recebido.
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 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.
Se ainda não estiver disponível nenhum pedido de método, aguardará até estar disponível.
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()
Devoluções
Patch propriedades pretendidas de 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 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.
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.
async send_message(message)
Parâmetros
- message
- Message
A mensagem real a enviar. Tudo o que for transmitido que não seja uma instância da classe Mensagem será convertido no 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 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.
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"
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.
async send_message_to_output(message, output_name)
Parâmetros
- message
- Message
Mensagem a enviar para o resultado especificado. Tudo o que for transmitido que não seja uma instância da classe Mensagem será convertido no 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 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.
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.
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.
async send_method_response(method_response)
Parâmetros
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.
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 num ClientError a ser gerado
async 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.
async update_sastoken(sastoken)
Parâmetros
Exceções
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 coroutine 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 de processador ou coroutine 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 coroutine que será chamada quando for recebida uma mensagem de entrada.
A definição da função ou o corouteno devem ter um argumento posicional (o Message objeto)
on_method_request_received
A função de processador ou coroutine que será chamada quando um pedido de método for 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 coroutine que será chamada quando o cliente exigir um novo token de SAS. Isto ocorrerá aproximadamente 2 minutos antes de o Token de SAS expirar. Nas plataformas Windows, se o tempo de vida for superior a 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 corouteno 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 coroutine que será chamada quando for recebido um patch de propriedades pretendidas de duplos.
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)
Azure SDK for Python
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários