IoTHubModuleClient Classe

Client del modulo sincrono che si connette a un'istanza di hub IoT di Azure o di Azure IoT Edge.

Inizializzatore per IoTHubModuleClient.

Questo inizializzatore non deve essere chiamato direttamente. Usare invece uno dei metodi di classe '>>create_from_<<' per creare un'istanza

Ereditarietà
azure.iot.device.iothub.sync_clients.GenericIoTHubClient
IoTHubModuleClient
azure.iot.device.iothub.abstract_clients.AbstractIoTHubModuleClient
IoTHubModuleClient

Costruttore

IoTHubModuleClient(mqtt_pipeline, http_pipeline)

Parametri

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

Pipeline usata per connettersi all'endpoint IoTHub.

http_pipeline
<xref:azure.iot.device.iothub.pipeline.HTTPPipeline>
Necessario

La pipeline usata per connettersi all'endpoint IoTHub tramite HTTP.

Metodi

connect

Connette il client a un'istanza di hub IoT di Azure o di Azure IoT Edge Hub.

La destinazione viene scelta in base alle credenziali passate tramite il parametro auth_provider fornito quando questo oggetto è stato inizializzato.

Si tratta di una chiamata sincrona, ovvero che questa funzione non restituirà fino a quando non è stata stabilita completamente la connessione al servizio.

create_from_connection_string

Creare un'istanza del client da un dispositivo IoTHub o da una stringa di connessione del modulo.

create_from_edge_environment

Creare un'istanza del client dall'ambiente IoT Edge.

Questo metodo può essere eseguito solo dall'interno di un contenitore IoT Edge o in un ambiente di debug configurato per lo sviluppo edge (ad esempio Visual Studio, Visual Studio Code)

create_from_sastoken

Creare un'istanza del client da una stringa di token di firma di accesso condiviso creata in modo preliminare

create_from_x509_certificate

Creare un'istanza di un client usando l'autenticazione del certificato X509.

disconnect

Disconnettere il client dall'istanza di hub IoT di Azure o di Azure IoT Edge Hub.

È consigliabile assicurarsi di chiamare questa funzione quando si esegue completamente l'operazione con l'istanza client.

Si tratta di una chiamata sincrona, ovvero questa funzione non restituirà finché la connessione al servizio non è stata completamente chiusa.

get_twin

Ottiene il dispositivo o il modulo gemello dal servizio hub di hub IoT di Azure o azure IoT Edge.

Si tratta di una chiamata sincrona, ovvero questa funzione non restituirà finché il gemello non viene recuperato dal servizio.

invoke_method

Richiamare un metodo dal client in un client di dispositivo o modulo e ricevere la risposta alla chiamata al metodo.

patch_twin_reported_properties

Aggiornare le proprietà segnalate con il servizio hub di hub IoT di Azure o Azure IoT Edge.

Si tratta di una chiamata sincrona, ovvero questa funzione non restituirà finché la patch non viene inviata al servizio e riconosciuta.

Se il servizio restituisce un errore nell'operazione patch, questa funzione genererà l'errore appropriato.

receive_message_on_input

Ricevere un messaggio di input inviato da un altro modulo a un input specifico.

Deprecato dalla versione 2.3.0: è consigliabile usare la proprietà .on_message_received per impostare invece un gestore

receive_method_request

Ricevere una richiesta di metodo tramite il hub IoT di Azure o l'hub di Azure IoT Edge.

Deprecato dalla versione 2.3.0: è consigliabile usare la proprietà .on_method_request_received per impostare invece un gestore

receive_twin_desired_properties_patch

Ricevere una patch di proprietà desiderata tramite il hub IoT di Azure o l'hub di Azure IoT Edge.

Si tratta di una chiamata sincrona, il che significa quanto segue:

  1. Se block=True, questa funzione verrà bloccata fino a quando non si verifica una delle operazioni seguenti:

    • Viene ricevuta una patch di proprietà desiderata dal hub IoT di Azure o dall'hub di Azure IoT Edge.

    • periodo di timeout, se specificato, trascorso. Se si verifica un timeout, questa funzione genererà un'eccezione InboxEmpty

  2. Se block=False, questa funzione restituirà eventuali patch di proprietà desiderate che potrebbero essere state ricevute dalla pipeline, ma non ancora restituite all'applicazione. Se non sono state ricevute patch di proprietà desiderate dalla pipeline, questa funzione genererà un'eccezione InboxEmpty

Deprecato dalla versione 2.3.0: è consigliabile usare la proprietà .on_twin_desired_properties_patch_received per impostare invece un gestore

send_message

Invia un messaggio all'endpoint eventi predefinito nell'istanza di hub IoT di Azure o dell'hub di Azure IoT Edge.

Si tratta di un evento sincrono, vale a dire che questa funzione non restituirà finché l'evento non viene inviato al servizio e il servizio ha confermato la ricezione dell'evento.

Se la connessione al servizio non è stata aperta in precedenza da una chiamata per connettersi, questa funzione aprirà la connessione prima di inviare l'evento.

send_message_to_output

Invia un evento/messaggio all'output del modulo specificato.

Si tratta di eventi in uscita e destinati a essere "eventi di output".

Si tratta di un evento sincrono, vale a dire che questa funzione non restituirà finché l'evento non viene inviato al servizio e il servizio ha confermato la ricezione dell'evento.

Se la connessione al servizio non è stata aperta in precedenza da una chiamata per connettersi, questa funzione aprirà la connessione prima di inviare l'evento.

send_method_response

Inviare una risposta a una richiesta di metodo tramite il hub IoT di Azure o l'hub IoT Edge di Azure.

Si tratta di un evento sincrono, vale a dire che questa funzione non restituirà finché l'evento non viene inviato al servizio e il servizio ha confermato la ricezione dell'evento.

Se la connessione al servizio non è stata aperta in precedenza da una chiamata per connettersi, questa funzione aprirà la connessione prima di inviare l'evento.

shutdown

Arrestare il client per l'uscita normale.

Una volta chiamato questo metodo, tutti i tentativi di chiamata a ulteriori chiamate client genereranno un errore Client generato

update_sastoken

Aggiornare il token di firma di accesso condiviso del client usato per l'autenticazione, quindi riautorizzare la connessione.

Questa API può essere usata solo se il client è stato creato inizialmente con un token di firma di accesso condiviso.

connect

Connette il client a un'istanza di hub IoT di Azure o di Azure IoT Edge Hub.

La destinazione viene scelta in base alle credenziali passate tramite il parametro auth_provider fornito quando questo oggetto è stato inizializzato.

Si tratta di una chiamata sincrona, ovvero che questa funzione non restituirà fino a quando non è stata stabilita completamente la connessione al servizio.

connect()

Eccezioni

se le credenziali non sono valide e non è possibile stabilire una connessione.

se una definizione di una connessione causa un errore.

se la connessione viene persa durante l'esecuzione.

se la connessione si verifica il timeout.

se si verifica un errore imprevisto durante l'esecuzione.

create_from_connection_string

Creare un'istanza del client da un dispositivo IoTHub o da una stringa di connessione del modulo.

create_from_connection_string(connection_string, **kwargs)

Parametri

connection_string
str
Necessario

Stringa di connessione per IoTHub a cui si vuole connettersi.

server_verification_cert
str
Necessario

Opzione di configurazione. Catena di certificati attendibile. Necessario quando si usa la connessione a un endpoint con una radice non standard di trust, ad esempio un gateway di protocollo.

websockets
bool
Necessario

Opzione di configurazione. Il valore predefinito è False. Impostare su true se si usa MQTT su websocket.

cipher
str oppure list(str)
Necessario

Opzione di configurazione. Suite di crittografia per TLS/SSL, come stringa in "Formato elenco di crittografia OpenSSL" o come elenco di stringhe della suite di crittografia.

product_info
str
Necessario

Opzione di configurazione. Il valore predefinito è una stringa vuota. La stringa contiene informazioni sul prodotto arbitrarie aggiunte alla stringa dell'agente utente.

proxy_options
ProxyOptions
Necessario

Opzioni per l'invio del traffico tramite server proxy.

sastoken_ttl
int
Necessario

Tempo di vita (in secondi) per il sasToken creato usato per l'autenticazione. Il valore predefinito è 3600 secondi (1 ora).

keep_alive
int
Necessario

Periodo massimo in secondi tra le comunicazioni con il broker. Se non vengono scambiati altri messaggi, questo controlla la frequenza in cui il client invierà messaggi ping al broker. Se non viene specificato il valore predefinito di 60 secondi, verrà usato.

auto_connect
bool
Necessario

Connettere automaticamente il client a IoTHub quando viene richiamato un metodo che richiede la creazione di una connessione. (Impostazione predefinita: True)

connection_retry
bool
Necessario

Tentativo di ristabilire una connessione eliminata (Impostazione predefinita: True)

connection_retry_interval
int
Necessario

Intervallo, in secondi, tra tentativi di ristabilire una connessione eliminata (Impostazione predefinita: 10)

ensure_desired_properties
bool
Necessario

Verificare che la patch delle proprietà desiderate più recente sia stata ricevuta dopo la ri-connessione (Default:True)

Restituisce

Istanza di un client IoTHub che usa una stringa di connessione per l'autenticazione.

Eccezioni

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

create_from_edge_environment

Creare un'istanza del client dall'ambiente IoT Edge.

Questo metodo può essere eseguito solo dall'interno di un contenitore IoT Edge o in un ambiente di debug configurato per lo sviluppo edge (ad esempio Visual Studio, Visual Studio Code)

create_from_edge_environment(**kwargs)

Parametri

websockets
bool
Necessario

Opzione di configurazione. Il valore predefinito è False. Impostare su true se si usa MQTT su websocket.

cipher
str oppure list(str)
Necessario

Opzione di configurazione. Suite di crittografia per TLS/SSL, come stringa in "Formato elenco di crittografia OpenSSL" o come elenco di stringhe della suite di crittografia.

product_info
str
Necessario

Opzione di configurazione. Il valore predefinito è una stringa vuota. La stringa contiene informazioni sul prodotto arbitrarie aggiunte alla stringa dell'agente utente.

proxy_options
ProxyOptions
Necessario

Opzioni per l'invio del traffico tramite server proxy.

sastoken_ttl
int
Necessario

Tempo di vita (in secondi) per il sasToken creato usato per l'autenticazione. Il valore predefinito è 3600 secondi (1 ora)

keep_alive
int
Necessario

Periodo massimo in secondi tra le comunicazioni con il broker. Se non vengono scambiati altri messaggi, questo controlla la frequenza in cui il client invierà messaggi ping al broker. Se non viene specificato il valore predefinito di 60 secondi, verrà usato.

auto_connect
bool
Necessario

Connettere automaticamente il client a IoTHub quando viene richiamato un metodo che richiede la creazione di una connessione. (Impostazione predefinita: True)

connection_retry
bool
Necessario

Tentativo di ristabilire una connessione eliminata (Impostazione predefinita: True)

connection_retry_interval
int
Necessario

Intervallo, in secondi, tra tentativi di ristabilire una connessione eliminata (Impostazione predefinita: 10)

Restituisce

Istanza di un client IoTHub che usa l'ambiente di IoT Edge per l'autenticazione.

Eccezioni

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

Creare un'istanza del client da una stringa di token di firma di accesso condiviso creata in modo preliminare

create_from_sastoken(sastoken, **kwargs)

Parametri

sastoken
str
Necessario

Stringa del token di firma di accesso condiviso

server_verification_cert
str
Necessario

Opzione di configurazione. Catena di certificati attendibile. Necessario quando si usa la connessione a un endpoint con una radice non standard di trust, ad esempio un gateway di protocollo.

gateway_hostname
str
Necessario

Opzione di configurazione. Nome host gateway per il dispositivo gateway.

websockets
bool
Necessario

Opzione di configurazione. Il valore predefinito è False. Impostare su true se si usa MQTT su websocket.

cipher
str oppure list(str)
Necessario

Opzione di configurazione. Suite di crittografia per TLS/SSL, come stringa in "Formato elenco di crittografia OpenSSL" o come elenco di stringhe della suite di crittografia.

product_info
str
Necessario

Opzione di configurazione. Il valore predefinito è una stringa vuota. La stringa contiene informazioni arbitrarie sul prodotto aggiunte alla stringa dell'agente utente.

proxy_options
ProxyOptions
Necessario

Opzioni per l'invio del traffico tramite server proxy.

keep_alive
int
Necessario

Periodo massimo in secondi tra le comunicazioni con il broker. Se non vengono scambiati altri messaggi, questo controlla la frequenza con cui il client invierà messaggi ping al broker. Se non viene specificato il valore predefinito di 60 secondi, verrà usato.

auto_connect
bool
Necessario

Connettere automaticamente il client a IoTHub quando viene richiamato un metodo che richiede una connessione da stabilire. (Impostazione predefinita: True)

connection_retry
bool
Necessario

Tentativo di ristabilire una connessione interrotta (impostazione predefinita: True)

connection_retry_interval
int
Necessario

Intervallo, in secondi, tra i tentativi di ristabilire una connessione interrotta (impostazione predefinita: 10)

ensure_desired_properties
bool
Necessario

Verificare che la patch delle proprietà desiderata più recente sia stata ricevuta alle nuove connessioni (Default:True)

Eccezioni

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

create_from_x509_certificate

Creare un'istanza di un client usando l'autenticazione del certificato X509.

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

Parametri

hostname
str
Necessario

Host che esegue IotHub. È disponibile nella portale di Azure nella scheda Panoramica come nome host stringa.

x509
X509
Necessario

Oggetto certificato x509 completo. Per usare il certificato, l'oggetto di registrazione deve contenere il certificato (il certificato radice o uno dei certificati CA intermedi). Se il certificato proviene da un file CER, deve essere codificato in base64.

device_id
str
Necessario

ID usato per identificare in modo univoco un dispositivo in IoTHub

module_id
str
Necessario

ID usato per identificare in modo univoco un modulo in un dispositivo in IoTHub.

server_verification_cert
str
Necessario

Opzione di configurazione. Catena di certificati attendibile. Necessario quando si usa la connessione a un endpoint con una radice di trust non standard, ad esempio un gateway di protocollo.

gateway_hostname
str
Necessario

Opzione di configurazione. Nome host del gateway per il dispositivo gateway.

websockets
bool
Necessario

Opzione di configurazione. Il valore predefinito è False. Impostare su true se si usa MQTT su websocket.

cipher
str oppure list(str)
Necessario

Opzione di configurazione. Suite di crittografia per TLS/SSL, come stringa in "Formato elenco di crittografia OpenSSL" o come elenco di stringhe della suite di crittografia.

product_info
str
Necessario

Opzione di configurazione. Il valore predefinito è una stringa vuota. La stringa contiene informazioni arbitrarie sul prodotto aggiunte alla stringa dell'agente utente.

proxy_options
ProxyOptions
Necessario

Opzioni per l'invio del traffico tramite server proxy.

keep_alive
int
Necessario

Periodo massimo in secondi tra le comunicazioni con il broker. Se non vengono scambiati altri messaggi, questo controlla la frequenza con cui il client invierà messaggi ping al broker. Se non viene specificato il valore predefinito di 60 secondi, verrà usato.

auto_connect
bool
Necessario

Connettere automaticamente il client a IoTHub quando viene richiamato un metodo che richiede una connessione da stabilire. (Impostazione predefinita: True)

connection_retry
bool
Necessario

Tentativo di ristabilire una connessione interrotta (impostazione predefinita: True)

connection_retry_interval
int
Necessario

Intervallo, in secondi, tra i tentativi di ristabilire una connessione interrotta (impostazione predefinita: 10)

ensure_desired_properties
bool
Necessario

Verificare che la patch delle proprietà desiderata più recente sia stata ricevuta alle nuove connessioni (Default:True)

Restituisce

Istanza di un client IoTHub che usa un certificato X509 per l'autenticazione.

Eccezioni

TypeError if given an unsupported parameter.

disconnect

Disconnettere il client dall'istanza di hub IoT di Azure o di Azure IoT Edge Hub.

È consigliabile assicurarsi di chiamare questa funzione quando si esegue completamente l'operazione con l'istanza client.

Si tratta di una chiamata sincrona, ovvero questa funzione non restituirà finché la connessione al servizio non è stata completamente chiusa.

disconnect()

Eccezioni

se si verifica un errore imprevisto durante l'esecuzione.

get_twin

Ottiene il dispositivo o il modulo gemello dal servizio hub di hub IoT di Azure o azure IoT Edge.

Si tratta di una chiamata sincrona, ovvero questa funzione non restituirà finché il gemello non viene recuperato dal servizio.

get_twin()

Restituisce

Completare il dispositivo gemello come dict JSON

Tipo restituito

Eccezioni

se le credenziali non sono valide e non è possibile stabilire una connessione.

se un oggetto che stabilisce una connessione genera un errore.

se la connessione viene persa durante l'esecuzione.

se si verifica il timeout del tentativo di connessione

se il client non è connesso (e non è abilitata la connessione automatica)

se si verifica un errore imprevisto durante l'esecuzione.

invoke_method

Richiamare un metodo dal client in un client di dispositivo o modulo e ricevere la risposta alla chiamata al metodo.

invoke_method(method_params, device_id, module_id=None)

Parametri

method_params
dict
Necessario

Deve contenere un methodName (str), payload (str), connectTimeoutInSeconds (int), responseTimeoutInSeconds (int).

device_id
str
Necessario

ID dispositivo del dispositivo di destinazione in cui verrà richiamato il metodo.

module_id
str
valore predefinito: None

ID modulo del modulo di destinazione in cui verrà richiamato il metodo. Facoltativa

Restituisce

method_result deve contenere uno stato e un payload

Tipo restituito

Eccezioni

se le credenziali non sono valide e non è possibile stabilire una connessione.

se una definizione di una connessione causa un errore.

se la connessione viene persa durante l'esecuzione.

se la connessione si verifica il timeout.

se si verifica un errore imprevisto durante l'esecuzione.

patch_twin_reported_properties

Aggiornare le proprietà segnalate con il servizio hub di hub IoT di Azure o Azure IoT Edge.

Si tratta di una chiamata sincrona, ovvero questa funzione non restituirà finché la patch non viene inviata al servizio e riconosciuta.

Se il servizio restituisce un errore nell'operazione patch, questa funzione genererà l'errore appropriato.

patch_twin_reported_properties(reported_properties_patch)

Parametri

reported_properties_patch
dict
Necessario

Patch delle proprietà segnalate dal dispositivo gemello come dict JSON

Eccezioni

se le credenziali non sono valide e non è possibile stabilire una connessione.

se un oggetto che stabilisce una connessione genera un errore.

se la connessione viene persa durante l'esecuzione.

se si verifica il timeout del tentativo di connessione

se il client non è connesso (e non è abilitata la connessione automatica)

se si verifica un errore imprevisto durante l'esecuzione.

receive_message_on_input

Ricevere un messaggio di input inviato da un altro modulo a un input specifico.

Deprecato dalla versione 2.3.0: è consigliabile usare la proprietà .on_message_received per impostare invece un gestore

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

Parametri

input_name
str
Necessario

Nome di input in cui ricevere un messaggio.

block
bool
Necessario

Indica se l'operazione deve bloccarsi finché non viene ricevuto un messaggio.

timeout
int
Necessario

Facoltativamente, specificare un numero di secondi fino al timeout del blocco.

Restituisce

Messaggio inviato all'input specificato oppure Nessuno se nessuna richiesta di metodo è stata ricevuta entro la fine del periodo di blocco.

Eccezioni

se le credenziali non sono valide e non è possibile stabilire una connessione.

se una definizione di una connessione causa un errore.

se la connessione viene persa durante l'esecuzione.

se la connessione si verifica il timeout.

se si verifica un errore imprevisto durante l'esecuzione.

receive_method_request

Ricevere una richiesta di metodo tramite il hub IoT di Azure o l'hub di Azure IoT Edge.

Deprecato dalla versione 2.3.0: è consigliabile usare la proprietà .on_method_request_received per impostare invece un gestore

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

Parametri

method_name
str
valore predefinito: None

Facoltativamente, specificare il nome del metodo per cui ricevere le richieste. Se questo parametro non viene specificato, verranno ricevuti tutti i metodi che non sono già destinati in modo specifico da una richiesta diversa a receive_method.

block
bool
valore predefinito: True

Indica se l'operazione deve bloccarsi fino a quando non viene ricevuta una richiesta.

timeout
int
valore predefinito: None

Facoltativamente, specificare un numero di secondi fino al timeout del blocco.

Restituisce

Oggetto MethodRequest che rappresenta la richiesta del metodo ricevuto oppure Nessuno se nessuna richiesta di metodo è stata ricevuta entro la fine del periodo di blocco.

Eccezioni

se le credenziali non sono valide e non è possibile stabilire una connessione.

se una definizione di una connessione causa un errore.

se la connessione viene persa durante l'esecuzione.

se la connessione si verifica il timeout.

se si verifica un errore imprevisto durante l'esecuzione.

receive_twin_desired_properties_patch

Ricevere una patch di proprietà desiderata tramite il hub IoT di Azure o l'hub di Azure IoT Edge.

Si tratta di una chiamata sincrona, il che significa quanto segue:

  1. Se block=True, questa funzione verrà bloccata fino a quando non si verifica una delle operazioni seguenti:

    • Viene ricevuta una patch di proprietà desiderata dal hub IoT di Azure o dall'hub di Azure IoT Edge.

    • periodo di timeout, se specificato, trascorso. Se si verifica un timeout, questa funzione genererà un'eccezione InboxEmpty

  2. Se block=False, questa funzione restituirà eventuali patch di proprietà desiderate che potrebbero essere state ricevute dalla pipeline, ma non ancora restituite all'applicazione. Se non sono state ricevute patch di proprietà desiderate dalla pipeline, questa funzione genererà un'eccezione InboxEmpty

Deprecato dalla versione 2.3.0: è consigliabile usare la proprietà .on_twin_desired_properties_patch_received per impostare invece un gestore

receive_twin_desired_properties_patch(block=True, timeout=None)

Parametri

block
bool
valore predefinito: True

Indica se l'operazione deve bloccarsi fino a quando non viene ricevuta una richiesta.

timeout
int
valore predefinito: None

Facoltativamente, specificare un numero di secondi fino al timeout del blocco.

Restituisce

Patch delle proprietà desiderate del dispositivo gemello come codice JSON o Nessuno se non è stata ricevuta alcuna patch entro la fine del periodo di blocco

Tipo restituito

dict,

Eccezioni

se le credenziali non sono valide e non è possibile stabilire una connessione.

se una definizione di una connessione causa un errore.

se la connessione viene persa durante l'esecuzione.

se la connessione si verifica il timeout.

se si verifica un errore imprevisto durante l'esecuzione.

send_message

Invia un messaggio all'endpoint eventi predefinito nell'istanza di hub IoT di Azure o dell'hub di Azure IoT Edge.

Si tratta di un evento sincrono, vale a dire che questa funzione non restituirà finché l'evento non viene inviato al servizio e il servizio ha confermato la ricezione dell'evento.

Se la connessione al servizio non è stata aperta in precedenza da una chiamata per connettersi, questa funzione aprirà la connessione prima di inviare l'evento.

send_message(message)

Parametri

message
Message
Necessario

Messaggio effettivo da inviare. Qualsiasi elemento passato che non è un'istanza della classe Message verrà convertito in oggetto Message.

Eccezioni

se le credenziali non sono valide e non è possibile stabilire una connessione.

se un oggetto che stabilisce una connessione genera un errore.

se la connessione viene persa durante l'esecuzione.

se si verifica il timeout del tentativo di connessione

se il client non è connesso (e non è abilitata la connessione automatica)

se si verifica un errore imprevisto durante l'esecuzione.

ValueError if the message fails size validation.

send_message_to_output

Invia un evento/messaggio all'output del modulo specificato.

Si tratta di eventi in uscita e destinati a essere "eventi di output".

Si tratta di un evento sincrono, vale a dire che questa funzione non restituirà finché l'evento non viene inviato al servizio e il servizio ha confermato la ricezione dell'evento.

Se la connessione al servizio non è stata aperta in precedenza da una chiamata per connettersi, questa funzione aprirà la connessione prima di inviare l'evento.

send_message_to_output(message, output_name)

Parametri

message
Message
Necessario

Messaggio da inviare all'output specificato. Qualsiasi elemento passato che non è un'istanza della classe Message verrà convertito in oggetto Message.

output_name
str
Necessario

Nome dell'output a cui inviare l'evento.

Eccezioni

se le credenziali non sono valide e non è possibile stabilire una connessione.

se un oggetto che stabilisce una connessione genera un errore.

se la connessione viene persa durante l'esecuzione.

se si verifica il timeout del tentativo di connessione

se il client non è connesso (e non è abilitata la connessione automatica)

se si verifica un errore imprevisto durante l'esecuzione.

ValueError if the message fails size validation.

send_method_response

Inviare una risposta a una richiesta di metodo tramite il hub IoT di Azure o l'hub IoT Edge di Azure.

Si tratta di un evento sincrono, vale a dire che questa funzione non restituirà finché l'evento non viene inviato al servizio e il servizio ha confermato la ricezione dell'evento.

Se la connessione al servizio non è stata aperta in precedenza da una chiamata per connettersi, questa funzione aprirà la connessione prima di inviare l'evento.

send_method_response(method_response)

Parametri

method_response
MethodResponse
Necessario

MetodoResponse da inviare.

Eccezioni

se le credenziali non sono valide e non è possibile stabilire una connessione.

se un oggetto che stabilisce una connessione genera un errore.

se la connessione viene persa durante l'esecuzione.

se si verifica il timeout del tentativo di connessione

se il client non è connesso (e non è abilitata la connessione automatica)

se si verifica un errore imprevisto durante l'esecuzione.

shutdown

Arrestare il client per l'uscita normale.

Una volta chiamato questo metodo, tutti i tentativi di chiamata a ulteriori chiamate client genereranno un errore Client generato

shutdown()

Eccezioni

se si verifica un errore imprevisto durante l'esecuzione.

update_sastoken

Aggiornare il token di firma di accesso condiviso del client usato per l'autenticazione, quindi riautorizzare la connessione.

Questa API può essere usata solo se il client è stato creato inizialmente con un token di firma di accesso condiviso.

update_sastoken(sastoken)

Parametri

sastoken
str
Necessario

Nuova stringa del token di firma di accesso condiviso da usare per il client

Eccezioni

ValueError if the sastoken parameter is invalid

se le credenziali non sono valide e non è possibile ristabilire una connessione.

se una ricreazione della connessione genera un errore.

se la connessione viene persa durante l'esecuzione.

se si verifica il timeout del tentativo di riautorizzazione.

se il client non è stato creato inizialmente con un token di firma di accesso condiviso.

se si verifica un errore imprevisto durante l'esecuzione.

Attributi

connected

Proprietà di sola lettura per indicare se il trasporto è connesso o meno.

on_background_exception

La funzione del gestore o la coroutine verranno chiamate quando si verifica un'eccezione in background.

La definizione di funzione o coroutine deve accettare un argomento posizionale (l'oggetto eccezione)

on_connection_state_change

Funzione del gestore o coroutine che verrà chiamata quando lo stato della connessione cambia.

La definizione di funzione o coroutine non deve accettare argomenti posizionali.

on_message_received

Funzione del gestore o coroutine che verrà chiamata quando viene ricevuto un messaggio di input.

La definizione della funzione o la coroutine devono accettare un argomento posizionale (l'oggetto Message )

on_method_request_received

Funzione del gestore o coroutine che verrà chiamata quando viene ricevuta una richiesta di metodo.

Ricordarsi di riconoscere la richiesta del metodo nella funzione o nella coroutine tramite l'uso del metodo .send_method_response() del client.

La definizione di funzione o coroutine deve accettare un argomento posizionale (oggetto MethodRequest )

on_new_sastoken_required

Funzione del gestore o coroutine che verrà chiamata quando il client richiede un nuovo token di firma di accesso condiviso. Ciò avviene circa 2 minuti prima della scadenza del token di firma di accesso condiviso. Nelle piattaforme Windows, se la durata supera circa 49 giorni, sarà necessario un nuovo token dopo questi 49 giorni, indipendentemente dalla durata della firma di accesso condiviso.

Si noti che questo gestore è necessario SOLO quando si usa un client creato tramite il metodo .create_from_sastoken().

Il nuovo token può essere fornito nella funzione o nella coroutine tramite l'uso del metodo .update_sastoken() del client.

La definizione di funzione o coroutine non deve accettare argomenti posizionali.

on_twin_desired_properties_patch_received

Funzione del gestore o coroutine che verrà chiamata quando viene ricevuta una patch di proprietà desiderata gemella.

La definizione di funzione o coroutine deve accettare un argomento posizionale (la patch gemella sotto forma di un oggetto dizionario JSON)