Condividi tramite


IoTHubDeviceClient Classe

Client del dispositivo sincrono che si connette a un'istanza di hub IoT di Azure.

Inizializzatore per IoTHubDeviceClient.

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

Costruttore

IoTHubDeviceClient(mqtt_pipeline, http_pipeline)

Parametri

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

Pipeline usata per connettersi all'endpoint IoTHub.

http_pipeline
Necessario

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_sastoken

Creare un'istanza del client da una stringa di token di firma di accesso condiviso precedentemente creata

create_from_symmetric_key

Creare un'istanza di un client usando l'autenticazione della chiave simmetrica.

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'istanza client.

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

get_storage_info_for_blob

Invia una richiesta POST su HTTP a un endpoint IoTHub che restituirà informazioni per il caricamento tramite l'account di archiviazione di Azure collegato all'IoTHub a cui è connesso il dispositivo.

get_twin

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

Si tratta di una chiamata sincrona, ovvero che questa funzione non restituirà fino a quando il gemello non è stato recuperato dal servizio.

notify_blob_upload_status

Al termine del caricamento, il dispositivo invia una richiesta POST all'endpoint hub IoT con informazioni sullo stato di un tentativo di caricamento nel BLOB. Questa operazione viene usata da hub IoT per notificare ai client in ascolto.

patch_twin_reported_properties

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

Si tratta di una chiamata sincrona, ovvero che questa funzione non restituirà fino a quando la patch non è stata inviata al servizio e riconosciuta.

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

receive_message

Ricevere un messaggio inviato dal hub IoT di Azure.

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 l'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_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_sastoken

Creare un'istanza del client da una stringa di token di firma di accesso condiviso precedentemente creata

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 sul prodotto arbitrarie 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 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)

Eccezioni

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

create_from_symmetric_key

Creare un'istanza di un client usando l'autenticazione della chiave simmetrica.

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

Parametri

symmetric_key
Necessario

Chiave simmetrica.

hostname
str
Necessario

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

device_id
Necessario

ID dispositivo

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 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 chiave simmetrica per l'autenticazione.

Eccezioni

TypeError if given an unsupported parameter.
ValueError if the provided parameters are 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, **kwargs)

Parametri

hostname
str
Necessario

Host che esegue IotHub. È possibile trovare la 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

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 sul prodotto arbitrarie 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 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 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'istanza client.

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

disconnect()

Eccezioni

se si verifica un errore imprevisto durante l'esecuzione.

get_storage_info_for_blob

Invia una richiesta POST su HTTP a un endpoint IoTHub che restituirà informazioni per il caricamento tramite l'account di archiviazione di Azure collegato all'IoTHub a cui è connesso il dispositivo.

get_storage_info_for_blob(blob_name)

Parametri

blob_name
str
Necessario

Nome in formato stringa del BLOB che verrà caricato usando l'API di archiviazione. Questo nome verrà usato per generare le credenziali appropriate per l'archiviazione e deve corrispondere a ciò che verrà usato con Azure Storage SDK per eseguire il caricamento del BLOB.

Restituisce

Oggetto json like (dizionario) da hub IoT che conterrà informazioni pertinenti, tra cui: correlationId, hostName, containerName, BLOBName, sasToken.

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.

get_twin

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

Si tratta di una chiamata sincrona, ovvero che questa funzione non restituirà fino a quando il gemello non è stato recuperato dal servizio.

get_twin()

Restituisce

Completare Gemelli come codice JSON

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 il tentativo di connessione viene eseguito il timeout

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

se si verifica un errore imprevisto durante l'esecuzione.

notify_blob_upload_status

Al termine del caricamento, il dispositivo invia una richiesta POST all'endpoint hub IoT con informazioni sullo stato di un tentativo di caricamento nel BLOB. Questa operazione viene usata da hub IoT per notificare ai client in ascolto.

notify_blob_upload_status(correlation_id, is_success, status_code, status_description)

Parametri

correlation_id
str
Necessario

Fornito da hub IoT nella richiesta di get_storage_info_for_blob.

is_success
bool
Necessario

Valore booleano che indica se il file è stato caricato correttamente.

status_code
int
Necessario

Codice di stato numerico che corrisponde allo stato del caricamento del file nell'archiviazione.

status_description
str
Necessario

Descrizione che corrisponde al status_code.

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 IoT di Azure o hub di Azure IoT Edge.

Si tratta di una chiamata sincrona, ovvero che questa funzione non restituirà fino a quando la patch non è stata inviata al servizio e riconosciuta.

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

patch_twin_reported_properties(reported_properties_patch)

Parametri

reported_properties_patch
dict
Necessario

Patch delle proprietà segnalate gemelle come codice JSON

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 il tentativo di connessione viene eseguito il timeout

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

se si verifica un errore imprevisto durante l'esecuzione.

receive_message

Ricevere un messaggio inviato dal hub IoT di Azure.

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

receive_message(block=True, timeout=None)

Parametri

block
bool
Necessario

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

timeout
int
Necessario

Facoltativamente, specificare un numero di secondi finché non si blocca il timeout.

Restituisce

Messaggio inviato dalla hub IoT di Azure o None se non è stata ricevuta alcuna richiesta di metodo entro la fine del periodo di blocco.

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.

receive_method_request

Ricevere una richiesta di metodo tramite l'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 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 bloccare finché non viene ricevuta una richiesta.

timeout
int
valore predefinito: None

Facoltativamente, specificare un numero di secondi finché non si blocca il timeout.

Restituisce

Oggetto MethodRequest che rappresenta la richiesta del metodo ricevuto o None se non è stata ricevuta alcuna richiesta di metodo 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 bloccare finché non viene ricevuta una richiesta.

timeout
int
valore predefinito: None

Facoltativamente, specificare un numero di secondi finché non si blocca il timeout.

Restituisce

Patch delle proprietà desiderate gemelle come codice JSON o Nessuna 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_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.

La definizione di funzione o coroutine deve accettare un argomento posizionale (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)