IoTHubModuleClient Classe
Um cliente de módulo assíncrono que se conecta a uma instância do Hub IoT do Azure ou do Azure IoT Edge.
Inicializador para um IoTHubModuleClient.
Esse inicializador não deve ser chamado diretamente. Em vez disso, use 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 usado para se conectar ao ponto de extremidade do IoTHub.
- http_pipeline
Métodos
connect |
Conecta o cliente a uma instância do Hub IoT do Azure ou do Hub IoT Edge do Azure. O destino é escolhido com base nas credenciais passadas por meio do parâmetro auth_provider fornecido quando esse objeto foi inicializado. |
create_from_connection_string |
Instancie o cliente de um dispositivo IoTHub ou de uma cadeia de conexão de módulo. |
create_from_edge_environment |
Instancie o cliente do ambiente de IoT Edge. Esse método só pode ser executado de dentro de um contêiner IoT Edge ou em um ambiente de depuração configurado para desenvolvimento de borda (por exemplo, Visual Studio, Visual Studio Code) |
create_from_sastoken |
Criar uma instância do cliente de uma cadeia de caracteres de token SAS pré-criada |
create_from_x509_certificate |
Instancie um cliente usando a autenticação de certificado X509. |
disconnect |
Desconecte o cliente do Hub IoT do Azure ou da instância do Hub IoT Edge do Azure. É recomendável que você certifique-se de chamar essa corrotina quando terminar completamente com a instância do cliente. |
get_twin |
Obtém o dispositivo ou módulo gêmeo do Hub IoT do Azure ou do serviço hub IoT Edge do Azure. |
invoke_method |
Invoque um método do cliente em um dispositivo ou cliente de módulo e receba a resposta à chamada de método. |
patch_twin_reported_properties |
Atualize as propriedades relatadas com o serviço Hub IoT do Azure ou Hub IoT Edge do Azure. Se o serviço retornar um erro na operação de patch, essa função gerará o erro apropriado. |
receive_message_on_input |
Receba uma mensagem de entrada que foi enviada de outro Módulo para uma entrada específica. Se nenhuma mensagem ainda estiver disponível, aguardará até que um item esteja disponível. Preterido desde a versão 2.3.0: recomendamos que você use a propriedade .on_message_received para definir um manipulador |
receive_method_request |
Receba uma solicitação de método por meio do Hub IoT do Azure ou do Hub IoT Edge do Azure. Se nenhuma solicitação de método ainda estiver disponível, aguardará até que ela esteja disponível. Preterido desde a versão 2.3.0: recomendamos que você use a propriedade .on_method_request_received para definir um manipulador |
receive_twin_desired_properties_patch |
Receba um patch de propriedade desejado por meio do Hub IoT do Azure ou do Hub IoT Edge do Azure. Se nenhuma solicitação de método ainda estiver disponível, aguardará até que ela esteja disponível. Preterido desde a versão 2.3.0: recomendamos que você use a propriedade .on_twin_desired_properties_patch_received para definir um manipulador |
send_message |
Envia uma mensagem para o ponto de extremidade de eventos padrão no Hub IoT do Azure ou na instância do Hub IoT Edge do Azure. Se a conexão com o serviço não tiver sido aberta anteriormente por uma chamada para se conectar, essa função abrirá a conexão antes de enviar o evento. |
send_message_to_output |
Envia um evento/mensagem para a saída do módulo fornecida. Esses são eventos de saída e devem ser "eventos de saída" Se a conexão com o serviço não tiver sido aberta anteriormente por uma chamada para se conectar, essa função abrirá a conexão antes de enviar o evento. |
send_method_response |
Envie uma resposta a uma solicitação de método por meio do Hub IoT do Azure ou do Hub IoT Edge do Azure. Se a conexão com o serviço não tiver sido aberta anteriormente por uma chamada para se conectar, essa função abrirá a conexão antes de enviar o evento. |
shutdown |
Desligue o cliente para uma saída normal. Depois que esse método for chamado, todas as tentativas em outras chamadas de cliente resultarão na geração de um ClientError |
update_sastoken |
Atualize o Token SAS do cliente usado para autenticação e, em seguida, reautorize a conexão. Essa API só poderá ser usada se o cliente tiver sido criado inicialmente com um Token SAS. |
connect
Conecta o cliente a uma instância do Hub IoT do Azure ou do Hub IoT Edge do Azure.
O destino é escolhido com base nas credenciais passadas por meio do parâmetro auth_provider fornecido quando esse objeto foi inicializado.
async connect()
Exceções
se as credenciais forem inválidas e uma conexão não puder ser estabelecida.
se um estabelecimento de uma conexão resultar em falha.
se a conexão for perdida durante a execução.
se a conexão atingir o tempo limite.
se houver uma falha inesperada durante a execução.
create_from_connection_string
Instancie o cliente de um dispositivo IoTHub ou de uma cadeia de conexão de módulo.
create_from_connection_string(connection_string, **kwargs)
Parâmetros
- connection_string
- str
A cadeia de conexão para o IoTHub ao qual você deseja se conectar.
- server_verification_cert
- str
Opção de configuração. A cadeia de certificados confiáveis. Necessário ao usar a conexão com um ponto de extremidade que tem uma raiz de confiança não padrão, como um gateway de protocolo.
- websockets
- bool
Opção de configuração. O padrão é Falso. Defina como true se estiver usando MQTT em websockets.
Opção de configuração. Pacotes de criptografia para TLS/SSL, como uma cadeia de caracteres em "Formato de lista de criptografia OpenSSL" ou como uma lista de cadeias de caracteres do conjunto de criptografias.
- product_info
- str
Opção de configuração. O padrão é uma cadeia de caracteres vazia. A cadeia de caracteres contém informações arbitrárias do produto que são acrescentadas à cadeia de caracteres do agente do usuário.
- sastoken_ttl
- int
O tempo de vida (em segundos) para o SasToken criado usado para autenticação. O padrão é 3600 segundos (1 hora).
- keep_alive
- int
Período máximo em segundos entre as comunicações com o agente. Se nenhuma outra mensagem estiver sendo trocada, isso controlará a taxa na qual o cliente enviará mensagens de ping ao agente. Se não for fornecido, o valor padrão de 60 segundos será usado.
- auto_connect
- bool
Conecte automaticamente o cliente ao IoTHub quando um método é invocado, o que exige que uma conexão seja estabelecida. (Padrão: True)
- connection_retry_interval
- int
Intervalo, em segundos, entre tentativas de restabelecer uma conexão descartada (Padrão: 10)
- ensure_desired_properties
- bool
Verifique se o patch de propriedades desejadas mais recente foi recebido após novas conexões (Default:True)
Retornos
Uma instância de um cliente IoTHub que usa uma cadeia de conexão para autenticação.
Exceções
create_from_edge_environment
Instancie o cliente do ambiente de IoT Edge.
Esse método só pode ser executado de dentro de um contêiner IoT Edge ou em um ambiente de depuração configurado para desenvolvimento de borda (por exemplo, Visual Studio, Visual Studio Code)
create_from_edge_environment(**kwargs)
Parâmetros
- websockets
- bool
Opção de configuração. O padrão é Falso. Defina como true se estiver usando MQTT em websockets.
Opção de configuração. Pacotes de criptografia para TLS/SSL, como uma cadeia de caracteres em "Formato de lista de criptografia OpenSSL" ou como uma lista de cadeias de caracteres do conjunto de criptografias.
- product_info
- str
Opção de configuração. O padrão é uma cadeia de caracteres vazia. A cadeia de caracteres contém informações arbitrárias do produto que são acrescentadas à cadeia de caracteres do agente do usuário.
- sastoken_ttl
- int
O tempo de vida (em segundos) para o SasToken criado usado para autenticação. O padrão é 3600 segundos (1 hora)
- keep_alive
- int
Período máximo em segundos entre as comunicações com o agente. Se nenhuma outra mensagem estiver sendo trocada, isso controlará a taxa na qual o cliente enviará mensagens de ping ao agente. Se não for fornecido, o valor padrão de 60 segundos será usado.
- auto_connect
- bool
Conecte automaticamente o cliente ao IoTHub quando um método é invocado, o que exige que uma conexão seja estabelecida. (Padrão: True)
- connection_retry_interval
- int
Intervalo, em segundos, entre tentativas de restabelecer uma conexão descartada (Padrão: 10)
Retornos
Uma instância de um cliente IoTHub que usa o ambiente IoT Edge para autenticação.
Exceções
create_from_sastoken
Criar uma instância do cliente de uma cadeia de caracteres de token SAS pré-criada
create_from_sastoken(sastoken, **kwargs)
Parâmetros
- server_verification_cert
- str
Opção de configuração. A cadeia de certificados confiáveis. Necessário ao usar a conexão com um ponto de extremidade que tem 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 host do gateway para o dispositivo de gateway.
- websockets
- bool
Opção de configuração. O padrão é Falso. Defina como true se estiver usando MQTT em websockets.
Opção de configuração. Pacotes de criptografia para TLS/SSL, como uma cadeia de caracteres em "Formato de lista de criptografia OpenSSL" ou como uma lista de cadeias de caracteres do conjunto de criptografias.
- product_info
- str
Opção de configuração. O padrão é uma cadeia de caracteres vazia. A cadeia de caracteres contém informações arbitrárias do produto que são acrescentadas à cadeia de caracteres do agente do usuário.
- keep_alive
- int
Período máximo em segundos entre as comunicações com o agente. Se nenhuma outra mensagem estiver sendo trocada, isso controlará a taxa na qual o cliente enviará mensagens de ping ao agente. Se não for fornecido, o valor padrão de 60 segundos será usado.
- auto_connect
- bool
Conecte automaticamente o cliente ao IoTHub quando um método é invocado, o que exige que uma conexão seja estabelecida. (Padrão: True)
- connection_retry_interval
- int
Intervalo, em segundos, entre tentativas de restabelecer uma conexão descartada (Padrão: 10)
- ensure_desired_properties
- bool
Verifique se o patch de propriedades desejadas mais recente foi recebido após novas conexões (Default:True)
Exceções
create_from_x509_certificate
Instancie um cliente usando a autenticação de certificado X509.
create_from_x509_certificate(x509, hostname, device_id, module_id, **kwargs)
Parâmetros
- hostname
- str
Host executando o IotHub. Pode ser encontrado no portal do Azure na guia Visão geral como o nome do host da cadeia de caracteres.
- x509
- X509
O objeto de certificado x509 completo. Para usar o certificado, o objeto de registro precisa conter certificado (o certificado raiz ou um dos certificados de AUTORIDADE de certificação intermediários). Se o certificado vier de um arquivo CER, ele precisará ser codificado em base64.
- module_id
- str
A ID usada para identificar exclusivamente um módulo em um dispositivo no IoTHub.
- server_verification_cert
- str
Opção de configuração. A cadeia de certificados confiáveis. Necessário ao usar a conexão com um ponto de extremidade que tem 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 host do gateway para o dispositivo de gateway.
- websockets
- bool
Opção de configuração. O padrão é Falso. Defina como true se estiver usando MQTT em websockets.
Opção de configuração. Pacotes de criptografia para TLS/SSL, como uma cadeia de caracteres em "Formato de lista de criptografia OpenSSL" ou como uma lista de cadeias de caracteres do conjunto de criptografias.
- product_info
- str
Opção de configuração. O padrão é uma cadeia de caracteres vazia. A cadeia de caracteres contém informações arbitrárias do produto que são acrescentadas à cadeia de caracteres do agente do usuário.
- keep_alive
- int
Período máximo em segundos entre as comunicações com o agente. Se nenhuma outra mensagem estiver sendo trocada, isso controlará a taxa na qual o cliente enviará mensagens de ping ao agente. Se não for fornecido, o valor padrão de 60 segundos será usado.
- auto_connect
- bool
Conecte automaticamente o cliente ao IoTHub quando um método é invocado, o que exige que uma conexão seja estabelecida. (Padrão: True)
- connection_retry_interval
- int
Intervalo, em segundos, entre tentativas de restabelecer uma conexão descartada (Padrão: 10)
- ensure_desired_properties
- bool
Verifique se o patch de propriedades desejadas mais recente foi recebido após novas conexões (Default:True)
Retornos
Uma instância de um cliente IoTHub que usa um certificado X509 para autenticação.
Exceções
disconnect
Desconecte o cliente do Hub IoT do Azure ou da instância do Hub IoT Edge do Azure.
É recomendável que você certifique-se de chamar essa corrotina quando terminar completamente com a instância do cliente.
async disconnect()
Exceções
se houver uma falha inesperada durante a execução.
get_twin
Obtém o dispositivo ou módulo gêmeo do Hub IoT do Azure ou do serviço hub IoT Edge do Azure.
async get_twin()
Retornos
Concluir gêmeo como um dict JSON
Tipo de retorno
Exceções
se as credenciais forem inválidas e uma conexão não puder ser estabelecida.
se um estabelecimento de uma conexão resultar em falha.
se a conexão for perdida durante a execução.
se a tentativa de conexão atingir o tempo limite
se o cliente não estiver conectado (e não houver nenhuma conexão automática habilitada)
se houver uma falha inesperada durante a execução.
invoke_method
Invoque um método do cliente em um dispositivo ou cliente de 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).
Retornos
method_result deve conter um status e um conteúdo
Tipo de retorno
Exceções
se as credenciais forem inválidas e uma conexão não puder ser estabelecida.
se um estabelecimento de uma conexão resultar em falha.
se a conexão for perdida durante a execução.
se a conexão atingir o tempo limite.
se houver uma falha inesperada durante a execução.
patch_twin_reported_properties
Atualize as propriedades relatadas com o serviço Hub IoT do Azure ou Hub IoT Edge do Azure.
Se o serviço retornar um erro na operação de patch, essa função gerará o erro apropriado.
async patch_twin_reported_properties(reported_properties_patch)
Parâmetros
- reported_properties_patch
- dict
Patch de Propriedades Relatadas do Gêmeo como um dict JSON
Exceções
se as credenciais forem inválidas e uma conexão não puder ser estabelecida.
se um estabelecimento de uma conexão resultar em falha.
se a conexão for perdida durante a execução.
se a tentativa de conexão atingir o tempo limite
se o cliente não estiver conectado (e não houver nenhuma conexão automática habilitada)
se houver uma falha inesperada durante a execução.
receive_message_on_input
Receba uma mensagem de entrada que foi enviada de outro Módulo para uma entrada específica.
Se nenhuma mensagem ainda estiver disponível, aguardará até que um item esteja disponível.
Preterido desde a versão 2.3.0: recomendamos que você use a propriedade .on_message_received para definir um manipulador
receive_message_on_input(input_name)
Parâmetros
Retornos
Mensagem que foi enviada para a entrada especificada.
Tipo de retorno
Exceções
se as credenciais forem inválidas e uma conexão não puder ser estabelecida.
se um estabelecimento de uma conexão resultar em falha.
se a conexão for perdida durante a execução.
se a conexão atingir o tempo limite.
se houver uma falha inesperada durante a execução.
receive_method_request
Receba uma solicitação de método por meio do Hub IoT do Azure ou do Hub IoT Edge do Azure.
Se nenhuma solicitação de método ainda estiver disponível, aguardará até que ela esteja disponível.
Preterido desde a versão 2.3.0: recomendamos que você use a propriedade .on_method_request_received para definir um manipulador
receive_method_request(method_name=None)
Parâmetros
- method_name
- str
Opcionalmente, forneça o nome do método para o qual receber solicitações. Se esse parâmetro não for dado, todos os métodos que ainda não estão sendo especificamente direcionados por uma chamada diferente para receive_method serão recebidos.
Retornos
Objeto MethodRequest que representa a solicitação de método recebida.
Tipo de retorno
Exceções
se as credenciais forem inválidas e uma conexão não puder ser estabelecida.
se um estabelecimento de uma conexão resultar em falha.
se a conexão for perdida durante a execução.
se a conexão atingir o tempo limite.
se houver uma falha inesperada durante a execução.
receive_twin_desired_properties_patch
Receba um patch de propriedade desejado por meio do Hub IoT do Azure ou do Hub IoT Edge do Azure.
Se nenhuma solicitação de método ainda estiver disponível, aguardará até que ela esteja disponível.
Preterido desde a versão 2.3.0: recomendamos que você use a propriedade .on_twin_desired_properties_patch_received para definir um manipulador
receive_twin_desired_properties_patch()
Retornos
Patch de Propriedades Desejadas do Gêmeo como um dict JSON
Tipo de retorno
Exceções
se as credenciais forem inválidas e uma conexão não puder ser estabelecida.
se um estabelecimento de uma conexão resultar em falha.
se a conexão for perdida durante a execução.
se a conexão atingir o tempo limite.
se houver uma falha inesperada durante a execução.
send_message
Envia uma mensagem para o ponto de extremidade de eventos padrão no Hub IoT do Azure ou na instância do Hub IoT Edge do Azure.
Se a conexão com o serviço não tiver sido aberta anteriormente por uma chamada para se conectar, essa função abrirá a conexão antes de enviar o evento.
async send_message(message)
Parâmetros
- message
- Message
A mensagem real a ser enviada. Qualquer coisa passada que não seja uma instância da classe Message será convertida em objeto Message.
Exceções
se as credenciais forem inválidas e uma conexão não puder ser estabelecida.
se um estabelecimento de uma conexão resultar em falha.
se a conexão for perdida durante a execução.
se a tentativa de conexão atingir o tempo limite
se o cliente não estiver conectado (e não houver nenhuma conexão automática habilitada)
se houver uma falha inesperada durante a execução.
send_message_to_output
Envia um evento/mensagem para a saída do módulo fornecida.
Esses são eventos de saída e devem ser "eventos de saída"
Se a conexão com o serviço não tiver sido aberta anteriormente por uma chamada para se conectar, essa função abrirá a conexão antes de enviar o evento.
async send_message_to_output(message, output_name)
Parâmetros
- message
- Message
Mensagem a ser enviada para a saída fornecida. Qualquer coisa passada que não seja uma instância da classe Message será convertida em objeto Message.
Exceções
se as credenciais forem inválidas e uma conexão não puder ser estabelecida.
se um estabelecimento de uma conexão resultar em falha.
se a conexão for perdida durante a execução.
se a tentativa de conexão atingir o tempo limite
se o cliente não estiver conectado (e não houver nenhuma conexão automática habilitada)
se houver uma falha inesperada durante a execução.
send_method_response
Envie uma resposta a uma solicitação de método por meio do Hub IoT do Azure ou do Hub IoT Edge do Azure.
Se a conexão com o serviço não tiver sido aberta anteriormente por uma chamada para se conectar, essa função abrirá a conexão antes de enviar o evento.
async send_method_response(method_response)
Parâmetros
Exceções
se as credenciais forem inválidas e uma conexão não puder ser estabelecida.
se um estabelecimento de uma conexão resultar em falha.
se a conexão for perdida durante a execução.
se a tentativa de conexão atingir o tempo limite
se o cliente não estiver conectado (e não houver nenhuma conexão automática habilitada)
se houver uma falha inesperada durante a execução.
shutdown
Desligue o cliente para uma saída normal.
Depois que esse método for chamado, todas as tentativas em outras chamadas de cliente resultarão na geração de um ClientError
async shutdown()
Exceções
se houver uma falha inesperada durante a execução.
update_sastoken
Atualize o Token SAS do cliente usado para autenticação e, em seguida, reautorize a conexão.
Essa API só poderá ser usada se o cliente tiver sido criado inicialmente com um Token SAS.
async update_sastoken(sastoken)
Parâmetros
Exceções
se as credenciais forem inválidas e uma conexão não puder ser restabelecida.
se um restabelecimento da conexão resultar em falha.
se a conexão for perdida durante a execução.
se a tentativa de reautorização atingir o tempo limite.
se o cliente não foi criado inicialmente com um token SAS.
se houver uma falha inesperada durante a execução.
Atributos
connected
Propriedade somente leitura para indicar se o transporte está conectado ou não.
on_background_exception
A função ou corrotina do manipulador será chamada quando ocorrer uma exceção em segundo plano.
A função ou definição de corrotina deve usar um argumento posicional (o objeto de exceção)
on_connection_state_change
A função ou corrotina do manipulador que será chamada quando o estado da conexão for alterado.
A função ou definição de corrotina não deve ter argumentos posicionais.
on_message_received
A função de manipulador ou corrotina que será chamada quando uma mensagem de entrada for recebida.
A definição de função ou corrotina deve usar um argumento posicional (o Message objeto)
on_method_request_received
A função de manipulador ou corrotina que será chamada quando uma solicitação de método for recebida.
Lembre-se de reconhecer a solicitação de método em sua função ou corrotina por meio do uso do método .send_method_response() do cliente.
A função ou definição de corrotina deve ter um argumento posicional (o MethodRequest objeto)
on_new_sastoken_required
A função ou corrotina do manipulador que será chamada quando o cliente exigir um novo token SAS. Isso acontecerá aproximadamente 2 minutos antes do token SAS expirar. Em plataformas Windows, se o tempo de vida exceder aproximadamente 49 dias, um novo token será necessário após esses 49 dias, independentemente do tempo de vida da SAS.
Observe que esse manipulador só é necessário ao usar um cliente criado por meio do método .create_from_sastoken().
O novo token pode ser fornecido em sua função ou corrotina por meio do uso do método .update_sastoken() do cliente.
A função ou definição de corrotina não deve ter argumentos posicionais.
on_twin_desired_properties_patch_received
A função de manipulador ou corrotina que será chamada quando um patch de propriedades desejadas do gêmeo for recebido.
A função ou definição de corrotina deve usar um argumento posicional (o patch gêmeo na forma de um objeto de dicionário JSON)
Azure SDK for Python