Condividi tramite


ProvisioningDeviceClient Classe

Client che può essere usato per eseguire la registrazione di un dispositivo con il servizio di provisioning usando la chiave simmetrica o l'autenticazione X509.

Inizializza il client di provisioning.

NOTA: questo inizializzatore non deve essere chiamato direttamente. È invece necessario usare i metodi della classe che iniziano con create_from_ per creare un oggetto client.

Ereditarietà
azure.iot.device.provisioning.abstract_provisioning_device_client.AbstractProvisioningDeviceClient
ProvisioningDeviceClient

Costruttore

ProvisioningDeviceClient(pipeline)

Parametri

Nome Descrizione
pipeline
Necessario
<xref:azure.iot.device.provisioning.pipeline.MQTTPipeline>

Istanza dell'oggetto pipeline di provisioning.

Metodi

create_from_symmetric_key

Creare un client che può essere usato per eseguire la registrazione di un dispositivo con il servizio di provisioning usando l'autenticazione con chiave simmetrica.

create_from_x509_certificate

Creare un client che può essere usato per eseguire la registrazione di un dispositivo con il servizio di provisioning usando l'autenticazione del certificato X509.

register

Registrare il dispositivo con il servizio di provisioning

Si tratta di una chiamata sincrona, ovvero che questa funzione non restituirà finché il processo di registrazione non è stato completato correttamente o il tentativo ha causato un errore. Prima di restituire, il client disconnetterà anche dal servizio di provisioning. Se viene eseguito un tentativo di registrazione mentre è in corso una registrazione precedente, potrebbe generare un errore.

Una volta registrato correttamente il dispositivo, il client non sarà più operabile.

create_from_symmetric_key

Creare un client che può essere usato per eseguire la registrazione di un dispositivo con il servizio di provisioning usando l'autenticazione con chiave simmetrica.

create_from_symmetric_key(provisioning_host, registration_id, id_scope, symmetric_key, **kwargs)

Parametri

Nome Descrizione
provisioning_host
Necessario
str

Host che esegue il servizio Device Provisioning. La scheda Panoramica è disponibile portale di Azure nella scheda Panoramica come endpoint del dispositivo globale stringa.

registration_id
Necessario
str

ID di registrazione usato per identificare in modo univoco un dispositivo nel servizio Device Provisioning. L'ID di registrazione è alfanumerico, stringa minuscola e può contenere trattini.

id_scope
Necessario
str

L'ambito ID utilizzato per identificare in modo univoco il servizio di provisioning specifico registrato dal dispositivo. L'ambito ID viene assegnato a un servizio Device Provisioning quando viene creato dall'utente e viene generato dal servizio ed è non modificabile, garantendo l'univocità.

symmetric_key
Necessario
str

Chiave che verrà usata per creare il token di firma di accesso condiviso per autenticare il dispositivo con il servizio Device Provisioning. Per impostazione predefinita, il servizio Device Provisioning consente di creare nuove chiavi simmetriche con una lunghezza predefinita di 32 byte quando le nuove registrazioni vengono salvate con l'opzione Genera automaticamente chiavi abilitata. Gli utenti possono fornire le proprie chiavi simmetriche per le registrazioni disabilitando questa opzione entro 16 byte e 64 byte e in formato Base64 valido.

server_verification_cert
Necessario
str

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
Necessario
str

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

websockets
Necessario

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

cipher
Necessario
str oppure list(str)

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.

proxy_options
Necessario

Opzioni per l'invio del traffico tramite server proxy.

keepalive
Necessario
int

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.

Restituisce

Tipo Descrizione

Istanza di ProvisioningDeviceClient che può registrare tramite chiave simmetrica.

Eccezioni

Tipo Descrizione
TypeError if given an unrecognized parameter.

create_from_x509_certificate

Creare un client che può essere usato per eseguire la registrazione di un dispositivo con il servizio di provisioning usando l'autenticazione del certificato X509.

create_from_x509_certificate(provisioning_host, registration_id, id_scope, x509, **kwargs)

Parametri

Nome Descrizione
provisioning_host
Necessario
str

Host che esegue il servizio Device Provisioning. La scheda Panoramica è disponibile portale di Azure nella scheda Panoramica come endpoint del dispositivo globale stringa.

registration_id
Necessario
str

ID di registrazione usato per identificare in modo univoco un dispositivo nel servizio Device Provisioning. L'ID di registrazione è alfanumerico, stringa minuscola e può contenere trattini.

id_scope
Necessario
str

L'ambito ID viene usato per identificare in modo univoco il servizio di provisioning specifico registrato dal dispositivo. L'ambito ID viene assegnato a un servizio Device Provisioning quando viene creato dall'utente e viene generato dal servizio ed è non modificabile, garantendo l'univocità.

x509
Necessario

Il certificato x509, 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.

server_verification_cert
Necessario
str

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
Necessario
str

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

websockets
Necessario

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

cipher
Necessario
str oppure list(str)

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.

proxy_options
Necessario

Opzioni per l'invio del traffico tramite server proxy.

keepalive
Necessario
int

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.

Restituisce

Tipo Descrizione

ProvisioningDeviceClient che può registrare tramite certificati client X509.

Eccezioni

Tipo Descrizione
TypeError if given an unrecognized parameter.

register

Registrare il dispositivo con il servizio di provisioning

Si tratta di una chiamata sincrona, ovvero che questa funzione non restituirà finché il processo di registrazione non è stato completato correttamente o il tentativo ha causato un errore. Prima di restituire, il client disconnetterà anche dal servizio di provisioning. Se viene eseguito un tentativo di registrazione mentre è in corso una registrazione precedente, potrebbe generare un errore.

Una volta registrato correttamente il dispositivo, il client non sarà più operabile.

register()

Restituisce

Tipo Descrizione

RegistrationResult che indica il risultato della registrazione.

Eccezioni

Tipo Descrizione

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

se la definizione di una connessione comporta 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.

Attributi

provisioning_payload