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

--device-id -d

ID dispositivo di destinazione.

Parametri facoltativi

--certificate-file-path --cp

Percorso del file di certificato.

--da --data

Corpo del messaggio. Specificare testo o json non elaborato.

Valore predefinito: Ping from Az CLI IoT Extension
--data-file-path --dfp
Anteprima

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.

--dtmi --model-id

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-name -n

hub IoT nome o nome host. Obbligatorio se non viene specificato --login.

--key --symmetric-key

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à.

--key-file-path --kp

Percorso del file di chiave.

--login -l

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.

--mc --msg-count

Numero di messaggi del dispositivo da inviare a hub IoT.

Valore predefinito: 1
--pass --passphrase

Passphrase per il file di chiave.

--properties --props -p

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.

--resource-group -g

Nome del gruppo di risorse. È possibile configurare il gruppo predefinito con az configure --defaults group=<name>.

Parametri globali
--debug

Aumenta il livello di dettaglio della registrazione per mostrare tutti i log di debug.

--help -h

Visualizza questo messaggio della guida ed esce.

--only-show-errors

Mostra solo gli errori, eliminando gli avvisi.

--output -o

Formato di output.

Valori accettati: json, jsonc, none, table, tsv, yaml, yamlc
Valore predefinito: json
--query

Stringa di query JMESPath. Per altre informazioni ed esempi, vedere http://jmespath.org/.

--subscription

Nome o ID della sottoscrizione. È possibile configurare la sottoscrizione predefinita usando az account set -s NAME_OR_ID.

--verbose

Aumenta il livello di dettaglio della registrazione. Usare --debug per log di debug completi.

az iot device simulate

Sperimentale

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

--device-id -d

ID dispositivo di destinazione.

Parametri facoltativi

--certificate-file-path --cp

Percorso del file di certificato.

--da --data

Corpo del messaggio. Specificare testo o json non elaborato.

Valore predefinito: Ping from Az CLI IoT Extension
--dtmi --model-id

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-name -n

hub IoT nome o nome host. Obbligatorio se non viene specificato --login.

--init-reported-properties --irp

Stato iniziale delle proprietà segnalate del gemello per il dispositivo di destinazione quando viene eseguito il simulatore. Parametro facoltativo, supportato solo per mqtt.

--key --symmetric-key

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à.

--key-file-path --kp

Percorso del file di chiave.

--login -l

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.

--mc --msg-count

Numero di messaggi del dispositivo da inviare a hub IoT.

Valore predefinito: 100
--method-response-code --mrc

Codice di stato da restituire quando viene eseguito il metodo diretto nel dispositivo. Parametro facoltativo, supportato solo per mqtt.

--method-response-payload --mrp

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.

--mi --msg-interval

Ritardo in secondi tra i messaggi da dispositivo a cloud.

Valore predefinito: 3
--pass --passphrase

Passphrase per il file di chiave.

--properties --props -p

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.

--proto --protocol

Indica il protocollo di messaggio da dispositivo a cloud.

Valori accettati: http, mqtt
Valore predefinito: mqtt
--receive-settle --rs

Indica come risolvere i messaggi ricevuti da cloud a dispositivo. Supportato solo con HTTP.

Valori accettati: abandon, complete, reject
Valore predefinito: complete
--resource-group -g

Nome del gruppo di risorse. È possibile configurare il gruppo predefinito con az configure --defaults group=<name>.

Parametri globali
--debug

Aumenta il livello di dettaglio della registrazione per mostrare tutti i log di debug.

--help -h

Visualizza questo messaggio della guida ed esce.

--only-show-errors

Mostra solo gli errori, eliminando gli avvisi.

--output -o

Formato di output.

Valori accettati: json, jsonc, none, table, tsv, yaml, yamlc
Valore predefinito: json
--query

Stringa di query JMESPath. Per altre informazioni ed esempi, vedere http://jmespath.org/.

--subscription

Nome o ID della sottoscrizione. È possibile configurare la sottoscrizione predefinita usando az account set -s NAME_OR_ID.

--verbose

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

--content-type --ct

Tipo MIME di file.

--device-id -d

ID dispositivo di destinazione.

--file-path --fp

Percorso del file per il caricamento.

Parametri facoltativi

--hub-name -n

hub IoT nome o nome host. Obbligatorio se non viene specificato --login.

--login -l

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.

--resource-group -g

Nome del gruppo di risorse. È possibile configurare il gruppo predefinito con az configure --defaults group=<name>.

Parametri globali
--debug

Aumenta il livello di dettaglio della registrazione per mostrare tutti i log di debug.

--help -h

Visualizza questo messaggio della guida ed esce.

--only-show-errors

Mostra solo gli errori, eliminando gli avvisi.

--output -o

Formato di output.

Valori accettati: json, jsonc, none, table, tsv, yaml, yamlc
Valore predefinito: json
--query

Stringa di query JMESPath. Per altre informazioni ed esempi, vedere http://jmespath.org/.

--subscription

Nome o ID della sottoscrizione. È possibile configurare la sottoscrizione predefinita usando az account set -s NAME_OR_ID.

--verbose

Aumenta il livello di dettaglio della registrazione. Usare --debug per log di debug completi.