az iot device
Nota
Questo riferimento fa parte dell'estensione azure-iot per l'interfaccia della riga di comando di Azure (versione 2.46.0 o successiva). L'estensione installerà automaticamente la prima volta che si esegue un comando az iot device . Altre informazioni sulle estensioni.
Sfruttare la simulazione dei dispositivi e altre operazioni incentrate sui dispositivi, ad esempio funzionalità di messaggistica da dispositivo a cloud o da cloud a dispositivo.
Comandi
Nome | Descrizione | Tipo | Status |
---|---|---|---|
az iot device c2d-message |
Comandi di messaggistica da cloud a dispositivo. |
Estensione | Disponibilità generale |
az iot device c2d-message abandon |
Abbandonare un messaggio da cloud a dispositivo. |
Estensione | Disponibilità generale |
az iot device c2d-message complete |
Completare un messaggio da cloud a dispositivo. |
Estensione | Disponibilità generale |
az iot device c2d-message purge |
Eliminare la coda di messaggi da cloud a dispositivo per un dispositivo di destinazione. |
Estensione | Disponibilità generale |
az iot device c2d-message receive |
Ricevere un messaggio da cloud a dispositivo. |
Estensione | Disponibilità generale |
az iot device c2d-message reject |
Rifiutare o disattivare un messaggio da cloud a dispositivo. |
Estensione | Disponibilità generale |
az iot device c2d-message send |
Inviare un messaggio da cloud a dispositivo. |
Estensione | Disponibilità generale |
az iot device registration |
Gestire le registrazioni dei dispositivi IoT per il servizio Device Provisioning IoT. |
Estensione | Anteprima |
az iot device registration create |
Registrare un dispositivo IoT con il servizio Device Provisioning IoT. |
Estensione | Anteprima |
az iot device send-d2c-message |
Inviare un messaggio mqtt da dispositivo a cloud. |
Estensione | Disponibilità generale |
az iot device simulate |
Simulare un dispositivo in un hub IoT di Azure. |
Estensione | Sperimentale |
az iot device upload-file |
Caricare un file locale come dispositivo in un contenitore di archiviazione BLOB preconfigurato. |
Estensione | Disponibilità generale |
az iot device send-d2c-message
Inviare un messaggio mqtt da dispositivo a cloud.
Il comando supporta l'invio di messaggi con payload personalizzato in formato stringa Unicode o binario. Quando si intende inviare file binari, i dati devono provenire da un file (tramite --data-file-path
) e il tipo di contenuto deve essere impostato su application/octet-stream
.
Nota: il comando funziona solo per i dispositivi basati sull'autenticazione con chiave simmetrica (SAS). Per abilitare l'esecuzione di query su un corpo del messaggio nel routing dei messaggi, la proprietà di sistema contentType deve essere application/JSON e la proprietà di sistema contentEncoding deve essere uno dei valori di codifica UTF supportati da tale proprietà di sistema (UTF-8, UTF-16 o UTF-32). Se la codifica del contenuto non è impostata quando Archiviazione di Azure viene usato come endpoint di routing, hub IoT scrive i messaggi in formato codificato in base 64. Se si usano metodi di autenticazione x509, è necessario specificare i file di certificato e di chiave (e passphrase, se necessario).
az iot device send-d2c-message --device-id
[--certificate-file-path]
[--da]
[--data-file-path]
[--dtmi]
[--hub-name]
[--key]
[--key-file-path]
[--login]
[--mc]
[--pass]
[--properties]
[--resource-group]
Esempio
Utilizzo di base
az iot device send-d2c-message -n {iothub_name} -d {device_id}
Utilizzo di base per il dispositivo che registra l'ID modello di 'dtmi:com:example:Thermostat; 1' al momento della connessione
az iot device send-d2c-message -n {iothub_name} -d {device_id} --model-id 'dtmi:com:example:Thermostat;1'
Utilizzo di base per il dispositivo con autenticazione x509
az iot device send-d2c-message -n {iothub_name} -d {device_id} --cp {certificate_file_path} --kp {key_file_path}
Utilizzo di base per il dispositivo con autenticazione x509 in cui il file di chiave ha una passphrase
az iot device send-d2c-message -n {iothub_name} -d {device_id} --cp {certificate_file_path} --kp {key_file_path} --pass {passphrase}
Utilizzo di base con dati personalizzati
az iot device send-d2c-message -n {iothub_name} -d {device_id} --data {message_body}
Inviare le proprietà dell'applicazione
az iot device send-d2c-message -n {iothub_name} -d {device_id} --props 'key0=value0;key1=value1'
Proprietà di sistema di invio (ID messaggio e ID correlazione)
az iot device send-d2c-message -n {iothub_name} -d {device_id} --props '$.mid={id};$.cid={id}'
Inviare dati personalizzati specificando content-type e content-encoding nelle proprietà di sistema
az iot device send-d2c-message -n {iothub_name} -d {device_id} --props '$.ct={content-type};$.ce={content-encoding}' --data {message_body}
Inviare dati personalizzati in formato binario specificando la codifica del contenuto nelle proprietà di sistema
az iot device send-d2c-message -n {iothub_name} -d {device_id} --props '$.ct=application/octet-stream' --data-file-path {file_path}
Inviare dati personalizzati in formato JSON specificando content-type e content-encoding nelle proprietà di sistema
az iot device send-d2c-message -n {iothub_name} -d {device_id} --props '$.ct=application/json;$.ce=utf-8' --data-file-path {file_path}
Parametri necessari
ID dispositivo di destinazione.
Parametri facoltativi
Percorso del file di certificato.
Corpo del messaggio. Specificare testo o json non elaborato.
Specificare il percorso del file per il payload del corpo del messaggio. Si noti che quando il payload deve essere inviato in formato binario, impostare il tipo di contenuto su application/octet-stream.
L'ID del modello di Gemelli digitali che il dispositivo segnala durante la connessione all'hub. Per informazioni dettagliate, vedere https://docs.microsoft.com/en-us/azure/iot-develop/overview-iot-plug-and-play.
hub IoT nome o nome host. Obbligatorio se non viene specificato --login.
Chiave simmetrica da usare per il dispositivo. Se vengono forniti la chiave simmetrica e altri argomenti di autenticazione del dispositivo, la chiave simmetrica ha la priorità.
Percorso del file di chiave.
Questo comando supporta un'entità stringa di connessione con diritti per eseguire l'azione. Usare per evitare l'accesso di sessione tramite "az login". Se vengono forniti sia un stringa di connessione di entità che un nome, il stringa di connessione ha priorità. Obbligatorio se --hub-name non è specificato.
Numero di messaggi del dispositivo da inviare a hub IoT.
Passphrase per il file di chiave.
Contenitore delle proprietà del messaggio in coppie chiave-valore con il formato seguente: a=b; c=d. Per la messaggistica mqtt, è possibile inviare proprietà di sistema usando $.=value. Ad esempio $.cid=12345 imposta la proprietà ID correlazione di sistema. Altri esempi di identificatore di proprietà di sistema includono $.ct per il tipo di contenuto, $.mid per l'ID messaggio e $.ce per la codifica del contenuto.
Nome del gruppo di risorse. È possibile configurare il gruppo predefinito con az configure --defaults group=<name>
.
Parametri globali
Aumenta il livello di dettaglio della registrazione per mostrare tutti i log di debug.
Visualizza questo messaggio della guida ed esce.
Mostra solo gli errori, eliminando gli avvisi.
Formato di output.
Stringa di query JMESPath. Per altre informazioni ed esempi, vedere http://jmespath.org/.
Nome o ID della sottoscrizione. È possibile configurare la sottoscrizione predefinita usando az account set -s NAME_OR_ID
.
Aumenta il livello di dettaglio della registrazione. Usare --debug per log di debug completi.
az iot device simulate
Questo comando è sperimentale e in fase di sviluppo. Livelli di riferimento e supporto: https://aka.ms/CLI_refstatus
Simulare un dispositivo in un hub IoT di Azure.
Mentre la simulazione dei dispositivi è in esecuzione, il dispositivo riceverà e riconoscerà automaticamente i messaggi da cloud a dispositivo (c2d). Per la simulazione mqtt, tutti i messaggi c2d verranno riconosciuti con il completamento. Per l'acknowledgement c2d della simulazione HTTP si basa sulla selezione dell'utente che può essere completata, rifiutata o abbandonata. La simulazione mqtt supporta anche la chiamata diretta al metodo che può essere riconosciuta da un codice di stato della risposta e un payload di risposta. Nota: il comando per impostazione predefinita imposta content-type su application/json e content-encoding su utf-8. Può essere sottoposto a override. Nota: se si usano metodi di autenticazione x509, è necessario specificare i file di certificato e di chiave (e passphrase, se necessario).
az iot device simulate --device-id
[--certificate-file-path]
[--da]
[--dtmi]
[--hub-name]
[--init-reported-properties]
[--key]
[--key-file-path]
[--login]
[--mc]
[--method-response-code]
[--method-response-payload]
[--mi]
[--pass]
[--properties]
[--proto {http, mqtt}]
[--receive-settle {abandon, complete, reject}]
[--resource-group]
Esempio
Utilizzo di base (mqtt)
az iot device simulate -n {iothub_name} -d {device_id}
Utilizzo di base per il dispositivo che registra l'ID modello di 'dtmi:com:example:Thermostat; 1' alla connessione (mqtt)
az iot device simulate -n {iothub_name} -d {device_id} --model-id 'dtmi:com:example:Thermostat;1'
Utilizzo di base per il dispositivo con autenticazione x509 (mqtt)
az iot device simulate -n {iothub_name} -d {device_id} --cp {certificate_file_path} --kp {key_file_path}
Utilizzo di base per il dispositivo con autenticazione x509 (mqtt) in cui il file di chiave ha una passphrase
az iot device simulate -n {iothub_name} -d {device_id} --cp {certificate_file_path} --kp {key_file_path} --pass {passphrase}
Inviare proprietà miste (mqtt)
az iot device simulate -n {iothub_name} -d {device_id} --properties "myprop=myvalue;$.ct=application/json"
Inviare il codice di stato della risposta al metodo diretto e il payload della risposta al metodo diretto come json non elaborato (solo mqtt)
az iot device simulate -n {iothub_name} -d {device_id} --method-response-code 201 --method-response-payload '{"result":"Direct method successful"}'
Inviare il codice di stato della risposta al metodo diretto e il payload della risposta al metodo diretto come percorso al file locale (solo mqtt)
az iot device simulate -n {iothub_name} -d {device_id} --method-response-code 201 --method-response-payload '../my_direct_method_payload.json'
Inviare lo stato iniziale delle proprietà segnalate del dispositivo gemello come json non elaborato per il dispositivo di destinazione (solo mqtt)
az iot device simulate -n {iothub_name} -d {device_id} --init-reported-properties '{"reported_prop_1":"val_1", "reported_prop_2":val_2}'
Inviare lo stato iniziale delle proprietà segnalate del dispositivo gemello come percorso al file locale per il dispositivo di destinazione (solo mqtt)
az iot device simulate -n {iothub_name} -d {device_id} --init-reported-properties '../my_device_twin_reported_properties.json'
Utilizzo di base (http)
az iot device simulate -n {iothub_name} -d {device_id} --protocol http
Inviare proprietà miste (http)
az iot device simulate -n {iothub_name} -d {device_id} --protocol http --properties "iothub-app-myprop=myvalue;content-type=application/json;iothub-correlationid=12345"
Scegliere il numero totale di messaggi e l'intervallo tra i messaggi
az iot device simulate -n {iothub_name} -d {device_id} --msg-count 1000 --msg-interval 5
Rifiutare i messaggi c2d (solo http)
az iot device simulate -n {iothub_name} -d {device_id} --rs reject --protocol http
Abbandonare i messaggi c2d (solo http)
az iot device simulate -n {iothub_name} -d {device_id} --rs abandon --protocol http
Parametri necessari
ID dispositivo di destinazione.
Parametri facoltativi
Percorso del file di certificato.
Corpo del messaggio. Specificare testo o json non elaborato.
L'ID del modello di Gemelli digitali che il dispositivo segnala durante la connessione all'hub. Per informazioni dettagliate, vedere https://docs.microsoft.com/en-us/azure/iot-develop/overview-iot-plug-and-play.
hub IoT nome o nome host. Obbligatorio se non viene specificato --login.
Stato iniziale delle proprietà segnalate del gemello per il dispositivo di destinazione quando viene eseguito il simulatore. Parametro facoltativo, supportato solo per mqtt.
Chiave simmetrica da usare per il dispositivo. Se vengono forniti la chiave simmetrica e altri argomenti di autenticazione del dispositivo, la chiave simmetrica ha la priorità.
Percorso del file di chiave.
Questo comando supporta un'entità stringa di connessione con diritti per eseguire l'azione. Usare per evitare l'accesso di sessione tramite "az login". Se vengono forniti sia un stringa di connessione di entità che un nome, il stringa di connessione ha priorità. Obbligatorio se --hub-name non è specificato.
Numero di messaggi del dispositivo da inviare a hub IoT.
Codice di stato da restituire quando viene eseguito il metodo diretto nel dispositivo. Parametro facoltativo, supportato solo per mqtt.
Payload da restituire quando viene eseguito il metodo diretto nel dispositivo. Specificare il percorso del file o il codice JSON non elaborato. Parametro facoltativo, supportato solo per mqtt.
Ritardo in secondi tra i messaggi da dispositivo a cloud.
Passphrase per il file di chiave.
Contenitore delle proprietà del messaggio in coppie chiave-valore con il formato seguente: a=b; c=d. Per la messaggistica mqtt, è possibile inviare proprietà di sistema usando $.=value. Ad esempio $.cid=12345 imposta la proprietà ID correlazione di sistema. Altri esempi di identificatore di proprietà di sistema includono $.ct per il tipo di contenuto, $.mid per l'ID messaggio e $.ce per la codifica del contenuto. Per la messaggistica http: le proprietà dell'applicazione vengono inviate usando iothub-app-=value, ad esempio iothub-app-myprop=myvalue. Le proprietà di sistema sono in genere precedute da iothub, ad esempio iothub-correlationid, ma esistono eccezioni come content-type e content-encoding.
Indica il protocollo di messaggio da dispositivo a cloud.
Indica come risolvere i messaggi ricevuti da cloud a dispositivo. Supportato solo con HTTP.
Nome del gruppo di risorse. È possibile configurare il gruppo predefinito con az configure --defaults group=<name>
.
Parametri globali
Aumenta il livello di dettaglio della registrazione per mostrare tutti i log di debug.
Visualizza questo messaggio della guida ed esce.
Mostra solo gli errori, eliminando gli avvisi.
Formato di output.
Stringa di query JMESPath. Per altre informazioni ed esempi, vedere http://jmespath.org/.
Nome o ID della sottoscrizione. È possibile configurare la sottoscrizione predefinita usando az account set -s NAME_OR_ID
.
Aumenta il livello di dettaglio della registrazione. Usare --debug per log di debug completi.
az iot device upload-file
Caricare un file locale come dispositivo in un contenitore di archiviazione BLOB preconfigurato.
az iot device upload-file --content-type
--device-id
--file-path
[--hub-name]
[--login]
[--resource-group]
Parametri necessari
Tipo MIME di file.
ID dispositivo di destinazione.
Percorso del file per il caricamento.
Parametri facoltativi
hub IoT nome o nome host. Obbligatorio se non viene specificato --login.
Questo comando supporta un'entità stringa di connessione con diritti per eseguire l'azione. Usare per evitare l'accesso di sessione tramite "az login". Se vengono forniti sia un stringa di connessione di entità che un nome, il stringa di connessione ha priorità. Obbligatorio se --hub-name non è specificato.
Nome del gruppo di risorse. È possibile configurare il gruppo predefinito con az configure --defaults group=<name>
.
Parametri globali
Aumenta il livello di dettaglio della registrazione per mostrare tutti i log di debug.
Visualizza questo messaggio della guida ed esce.
Mostra solo gli errori, eliminando gli avvisi.
Formato di output.
Stringa di query JMESPath. Per altre informazioni ed esempi, vedere http://jmespath.org/.
Nome o ID della sottoscrizione. È possibile configurare la sottoscrizione predefinita usando az account set -s NAME_OR_ID
.
Aumenta il livello di dettaglio della registrazione. Usare --debug per log di debug completi.