az iot device
Note
This reference is part of the azure-iot extension for the Azure CLI (version 2.59.0 or higher). L'estensione installerà automaticamente la prima volta che si esegue un comando az iot device . Learn more about extensions.
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. |
Extension | GA |
az iot device c2d-message abandon |
Abbandonare un messaggio da cloud a dispositivo. |
Extension | GA |
az iot device c2d-message complete |
Completare un messaggio da cloud a dispositivo. |
Extension | GA |
az iot device c2d-message purge |
Eliminare la coda di messaggi da cloud a dispositivo per un dispositivo di destinazione. |
Extension | GA |
az iot device c2d-message receive |
Ricevere un messaggio da cloud a dispositivo. |
Extension | GA |
az iot device c2d-message reject |
Rifiutare o disattivare un messaggio da cloud a dispositivo. |
Extension | GA |
az iot device c2d-message send |
Inviare un messaggio da cloud a dispositivo. |
Extension | GA |
az iot device registration |
Gestire le registrazioni dei dispositivi IoT per il servizio Device Provisioning IoT. |
Extension | Preview |
az iot device registration create |
Registrare un dispositivo IoT con il servizio Device Provisioning IoT. |
Extension | Preview |
az iot device send-d2c-message |
Inviare un messaggio mqtt da dispositivo a cloud. |
Extension | GA |
az iot device simulate |
Simulare un dispositivo in un hub IoT di Azure. |
Extension | Experimental |
az iot device upload-file |
Caricare un file locale come dispositivo in un contenitore di archiviazione BLOB preconfigurato. |
Extension | GA |
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 content-type deve essere application/JSON e la proprietà di sistema content-encoding 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 --cp]
[--da --data]
[--data-file-path --dfp]
[--dtmi --model-id]
[--hub-name]
[--key --symmetric-key]
[--key-file-path --kp]
[--login]
[--mc --msg-count]
[--pass --passphrase]
[--properties --props]
[--resource-group]
Esempio
Basic usage
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
The following parameters are optional, but depending on the context, one or more might become required for the command to execute successfully.
Percorso del file di certificato.
Proprietà | Valore |
---|---|
Parameter group: | Device Authentication Arguments |
Message body. Specificare testo o json non elaborato.
Proprietà | Valore |
---|---|
Valore predefinito: | Ping from Az CLI IoT Extension |
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 ulteriori informazioni, vedere https://learn.microsoft.com/en-us/azure/iot-develop/overview-iot-plug-and-play.
Proprietà | Valore |
---|---|
Parameter group: | Digital Twin Arguments |
hub IoT nome o nome host. Obbligatorio se non viene specificato --login.
Proprietà | Valore |
---|---|
Parameter group: | IoT Hub Identifier Arguments |
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à.
Proprietà | Valore |
---|---|
Parameter group: | Device Authentication Arguments |
Percorso del file di chiave.
Proprietà | Valore |
---|---|
Parameter group: | Device Authentication Arguments |
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.
Proprietà | Valore |
---|---|
Parameter group: | IoT Hub Identifier Arguments |
Numero di messaggi del dispositivo da inviare all'hub IoT.
Proprietà | Valore |
---|---|
Valore predefinito: | 1 |
Passphrase per il file di chiave.
Proprietà | Valore |
---|---|
Parameter group: | Device Authentication Arguments |
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 $. {name}=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 usando az configure --defaults group=<name>
.
Parametri globali
Aumentare la verbosità dei log per visualizzare tutti i log di debug.
Proprietà | Valore |
---|---|
Valore predefinito: | False |
Mostra questo messaggio Guida, esci.
Mostra solo gli errori, eliminando gli avvisi.
Proprietà | Valore |
---|---|
Valore predefinito: | False |
Output format.
Proprietà | Valore |
---|---|
Valore predefinito: | json |
Valori accettati: | json, jsonc, none, table, tsv, yaml, yamlc |
Stringa di query JMESPath. Per altre informazioni ed esempi, vedere http://jmespath.org/.
Nome o ID della sottoscrizione. È possibile configurare la posizione predefinito usando az account set -s NAME_OR_ID
.
Aumentare il livello di dettaglio della registrazione. Usare --debug per log di debug completi.
Proprietà | Valore |
---|---|
Valore predefinito: | False |
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 --cp]
[--da --data]
[--dtmi --model-id]
[--hub-name]
[--init-reported-properties --irp]
[--key --symmetric-key]
[--key-file-path --kp]
[--login]
[--mc --msg-count]
[--method-response-code --mrc]
[--method-response-payload --mrp]
[--mi --msg-interval]
[--pass --passphrase]
[--properties --props]
[--proto --protocol {http, mqtt}]
[--receive-settle --rs {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
The following parameters are optional, but depending on the context, one or more might become required for the command to execute successfully.
Percorso del file di certificato.
Proprietà | Valore |
---|---|
Parameter group: | Device Authentication Arguments |
Message body. Specificare testo o json non elaborato.
Proprietà | Valore |
---|---|
Valore predefinito: | Ping from Az CLI IoT Extension |
L'ID del modello di Gemelli digitali che il dispositivo segnala durante la connessione all'hub. Per ulteriori informazioni, vedere https://learn.microsoft.com/en-us/azure/iot-develop/overview-iot-plug-and-play.
Proprietà | Valore |
---|---|
Parameter group: | Digital Twin Arguments |
hub IoT nome o nome host. Obbligatorio se non viene specificato --login.
Proprietà | Valore |
---|---|
Parameter group: | IoT Hub Identifier Arguments |
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à.
Proprietà | Valore |
---|---|
Parameter group: | Device Authentication Arguments |
Percorso del file di chiave.
Proprietà | Valore |
---|---|
Parameter group: | Device Authentication Arguments |
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.
Proprietà | Valore |
---|---|
Parameter group: | IoT Hub Identifier Arguments |
Numero di messaggi del dispositivo da inviare all'hub IoT.
Proprietà | Valore |
---|---|
Valore predefinito: | 100 |
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.
Proprietà | Valore |
---|---|
Valore predefinito: | 3 |
Passphrase per il file di chiave.
Proprietà | Valore |
---|---|
Parameter group: | Device Authentication Arguments |
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 $. {name}=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-{name}=value, ad esempio iothub-app-myprop=myvalue. Le proprietà di sistema sono in genere precedute da iothub-{name} come iothub-correlationid, ma esistono eccezioni come content-type e content-encoding.
Indica il protocollo di messaggio da dispositivo a cloud.
Proprietà | Valore |
---|---|
Valore predefinito: | mqtt |
Valori accettati: | http, mqtt |
Indica come risolvere i messaggi ricevuti da cloud a dispositivo. Supportato solo con HTTP.
Proprietà | Valore |
---|---|
Valore predefinito: | complete |
Valori accettati: | abandon, complete, reject |
Nome del gruppo di risorse. È possibile configurare il gruppo predefinito usando az configure --defaults group=<name>
.
Parametri globali
Aumentare la verbosità dei log per visualizzare tutti i log di debug.
Proprietà | Valore |
---|---|
Valore predefinito: | False |
Mostra questo messaggio Guida, esci.
Mostra solo gli errori, eliminando gli avvisi.
Proprietà | Valore |
---|---|
Valore predefinito: | False |
Output format.
Proprietà | Valore |
---|---|
Valore predefinito: | json |
Valori accettati: | json, jsonc, none, table, tsv, yaml, yamlc |
Stringa di query JMESPath. Per altre informazioni ed esempi, vedere http://jmespath.org/.
Nome o ID della sottoscrizione. È possibile configurare la posizione predefinito usando az account set -s NAME_OR_ID
.
Aumentare il livello di dettaglio della registrazione. Usare --debug per log di debug completi.
Proprietà | Valore |
---|---|
Valore predefinito: | False |
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 --ct
--device-id
--file-path --fp
[--hub-name]
[--login]
[--resource-group]
Parametri necessari
Tipo MIME di file.
ID dispositivo di destinazione.
Percorso del file per il caricamento.
Parametri facoltativi
The following parameters are optional, but depending on the context, one or more might become required for the command to execute successfully.
hub IoT nome o nome host. Obbligatorio se non viene specificato --login.
Proprietà | Valore |
---|---|
Parameter group: | IoT Hub Identifier Arguments |
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.
Proprietà | Valore |
---|---|
Parameter group: | IoT Hub Identifier Arguments |
Nome del gruppo di risorse. È possibile configurare il gruppo predefinito usando az configure --defaults group=<name>
.
Parametri globali
Aumentare la verbosità dei log per visualizzare tutti i log di debug.
Proprietà | Valore |
---|---|
Valore predefinito: | False |
Mostra questo messaggio Guida, esci.
Mostra solo gli errori, eliminando gli avvisi.
Proprietà | Valore |
---|---|
Valore predefinito: | False |
Output format.
Proprietà | Valore |
---|---|
Valore predefinito: | json |
Valori accettati: | json, jsonc, none, table, tsv, yaml, yamlc |
Stringa di query JMESPath. Per altre informazioni ed esempi, vedere http://jmespath.org/.
Nome o ID della sottoscrizione. È possibile configurare la posizione predefinito usando az account set -s NAME_OR_ID
.
Aumentare il livello di dettaglio della registrazione. Usare --debug per log di debug completi.
Proprietà | Valore |
---|---|
Valore predefinito: | False |