Condividi tramite


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

--device-id -d

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.

--certificate-file-path --cp

Percorso del file di certificato.

Proprietà Valore
Parameter group: Device Authentication Arguments
--da --data

Message body. Specificare testo o json non elaborato.

Proprietà Valore
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 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-name -n

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

Proprietà Valore
Parameter group: IoT Hub Identifier Arguments
--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à.

Proprietà Valore
Parameter group: Device Authentication Arguments
--key-file-path --kp

Percorso del file di chiave.

Proprietà Valore
Parameter group: Device Authentication Arguments
--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.

Proprietà Valore
Parameter group: IoT Hub Identifier Arguments
--mc --msg-count

Numero di messaggi del dispositivo da inviare all'hub IoT.

Proprietà Valore
Valore predefinito: 1
--pass --passphrase

Passphrase per il file di chiave.

Proprietà Valore
Parameter group: Device Authentication Arguments
--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 $. {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.

--resource-group -g

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

Parametri globali
--debug

Aumentare la verbosità dei log per visualizzare tutti i log di debug.

Proprietà Valore
Valore predefinito: False
--help -h

Mostra questo messaggio Guida, esci.

--only-show-errors

Mostra solo gli errori, eliminando gli avvisi.

Proprietà Valore
Valore predefinito: False
--output -o

Output format.

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

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

--subscription

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

--verbose

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

Proprietà Valore
Valore predefinito: False

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

--device-id -d

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.

--certificate-file-path --cp

Percorso del file di certificato.

Proprietà Valore
Parameter group: Device Authentication Arguments
--da --data

Message body. Specificare testo o json non elaborato.

Proprietà Valore
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 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-name -n

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

Proprietà Valore
Parameter group: IoT Hub Identifier Arguments
--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à.

Proprietà Valore
Parameter group: Device Authentication Arguments
--key-file-path --kp

Percorso del file di chiave.

Proprietà Valore
Parameter group: Device Authentication Arguments
--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.

Proprietà Valore
Parameter group: IoT Hub Identifier Arguments
--mc --msg-count

Numero di messaggi del dispositivo da inviare all'hub IoT.

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

Proprietà Valore
Valore predefinito: 3
--pass --passphrase

Passphrase per il file di chiave.

Proprietà Valore
Parameter group: Device Authentication Arguments
--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 $. {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.

--proto --protocol

Indica il protocollo di messaggio da dispositivo a cloud.

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

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

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

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

Parametri globali
--debug

Aumentare la verbosità dei log per visualizzare tutti i log di debug.

Proprietà Valore
Valore predefinito: False
--help -h

Mostra questo messaggio Guida, esci.

--only-show-errors

Mostra solo gli errori, eliminando gli avvisi.

Proprietà Valore
Valore predefinito: False
--output -o

Output format.

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

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

--subscription

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

--verbose

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

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

The following parameters are optional, but depending on the context, one or more might become required for the command to execute successfully.

--hub-name -n

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

Proprietà Valore
Parameter group: IoT Hub Identifier Arguments
--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.

Proprietà Valore
Parameter group: IoT Hub Identifier Arguments
--resource-group -g

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

Parametri globali
--debug

Aumentare la verbosità dei log per visualizzare tutti i log di debug.

Proprietà Valore
Valore predefinito: False
--help -h

Mostra questo messaggio Guida, esci.

--only-show-errors

Mostra solo gli errori, eliminando gli avvisi.

Proprietà Valore
Valore predefinito: False
--output -o

Output format.

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

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

--subscription

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

--verbose

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

Proprietà Valore
Valore predefinito: False