az iot device

Remarque

Cette référence fait partie de l’extension azure-iot pour Azure CLI (version 2.37.0 ou ultérieure). L’extension installe automatiquement la première fois que vous exécutez une commande d’appareil az iot. En savoir plus sur les extensions.

Tirez parti de la simulation d’appareil et d’autres opérations centrées sur les appareils, telles que les fonctionnalités de messagerie appareil-à-cloud ou cloud-à-appareil.

Commandes

Nom Description Type Statut
az iot device c2d-message

Commandes de messagerie cloud à appareil.

Extension GA
az iot device c2d-message abandon

Abandonner un message cloud-à-appareil.

Extension GA
az iot device c2d-message complete

Terminez un message cloud-à-appareil.

Extension GA
az iot device c2d-message purge

Videz la file d’attente de messages cloud-à-appareil pour un appareil cible.

Extension GA
az iot device c2d-message receive

Recevoir un message cloud-à-appareil.

Extension GA
az iot device c2d-message reject

Rejeter ou deadletter un message cloud-à-appareil.

Extension GA
az iot device c2d-message send

Envoyez un message cloud-à-appareil.

Extension GA
az iot device registration

Gérez les inscriptions d’appareils IoT pour le service IoT Device Provisioning.

Extension Aperçu
az iot device registration create

Inscrivez un appareil IoT auprès du service IoT Device Provisioning.

Extension Aperçu
az iot device send-d2c-message

Envoyez un message mqtt device-to-cloud.

Extension GA
az iot device simulate

Simuler un appareil dans un hub Azure IoT.

Extension Expérimental
az iot device upload-file

Chargez un fichier local en tant qu’appareil dans un conteneur de stockage d’objets blob préconfiguré.

Extension GA

az iot device send-d2c-message

Envoyez un message mqtt device-to-cloud.

La commande prend en charge l’envoi de messages avec une charge utile personnalisée au format unicode ou binaire. Lorsque vous envisagez d’envoyer du fichier binaire, les données doivent provenir d’un fichier (via --data-file-path) et le type de contenu doit être défini sur application/octet-stream.

Remarque : La commande fonctionne uniquement pour les appareils symétriques basés sur l’authentification par clé (SAP). Pour activer l’interrogation sur un corps de message dans le routage des messages, la propriété système contentType doit être application/JSON et la propriété système contentEncoding doit être l’une des valeurs d’encodage UTF prises en charge par cette propriété système (UTF-8, UTF-16 ou UTF-32). Si l’encodage de contenu n’est pas défini lorsque Stockage Azure est utilisé comme point de terminaison de routage, IoT Hub écrit les messages au format codé en base 64. Si vous utilisez des méthodes d’authentification x509, les fichiers de certificat et de clé (et la phrase secrète si nécessaire) doivent être fournis.

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]

Exemples

Utilisation de base

az iot device send-d2c-message -n {iothub_name} -d {device_id}

Utilisation de base pour l’inscription de l’ID de modèle de 'dtmi :com :example :Thermostat ; 1' lors de la connexion

az iot device send-d2c-message -n {iothub_name} -d {device_id} --model-id 'dtmi:com:example:Thermostat;1'

Utilisation de base pour l’appareil avec l’authentification x509

az iot device send-d2c-message -n {iothub_name} -d {device_id} --cp {certificate_file_path} --kp {key_file_path}

Utilisation de base pour l’appareil avec l’authentification x509 dans laquelle le fichier de clé a une phrase secrète

az iot device send-d2c-message -n {iothub_name} -d {device_id} --cp {certificate_file_path} --kp {key_file_path} --pass {passphrase}

Utilisation de base avec des données personnalisées

az iot device send-d2c-message -n {iothub_name} -d {device_id} --data {message_body}

Envoyer des propriétés d’application

az iot device send-d2c-message -n {iothub_name} -d {device_id} --props 'key0=value0;key1=value1'

Envoyer des propriétés système (ID de message et ID de corrélation)

az iot device send-d2c-message -n {iothub_name} -d {device_id} --props '$.mid=<id>;$.cid=<id>'

Envoyer des données personnalisées en spécifiant le type de contenu et l’encodage de contenu dans les propriétés système

az iot device send-d2c-message -n {iothub_name} -d {device_id} --props '$.ct=<content-type>;$.ce=<content-encoding>' --data {message_body}

Envoyer des données personnalisées au format binaire en spécifiant l’encodage de contenu dans les propriétés système

az iot device send-d2c-message -n {iothub_name} -d {device_id} --props '$.ct=application/octet-stream' --data-file-path {file_path}

Envoyer des données personnalisées au format JSON en spécifiant le type de contenu et l’encodage de contenu dans les propriétés système

az iot device send-d2c-message -n {iothub_name} -d {device_id} --props '$.ct=application/json;$.ce=utf-8' --data-file-path {file_path}

Paramètres obligatoires

--device-id -d

ID d’appareil cible.

Paramètres facultatifs

--certificate-file-path --cp

Chemin d’accès au fichier de certificat.

--da --data

Corps du message. Fournissez du texte ou du json brut.

valeur par défaut: Ping from Az CLI IoT Extension
--data-file-path --dfp
Préversion

Indiquez le chemin d’accès au fichier pour la charge utile du corps du message. Notez que la charge utile doit être envoyée au format binaire, définissez le type de contenu sur application/octet-stream.

--dtmi --model-id

L’ID de modèle de jumeau numérique que l’appareil signale lors de la connexion au hub. Consultez https://docs.microsoft.com/en-us/azure/iot-develop/overview-iot-plug-and-play pour plus d’informations.

--hub-name -n

Nom ou nom d’hôte IoT Hub. Obligatoire si --login n’est pas fourni.

--key --symmetric-key

Clé symétrique à utiliser pour l’appareil. Si la clé symétrique et d’autres arguments d’authentification d’appareil sont fournis, la clé symétrique est prioritaire.

--key-file-path --kp

Chemin d’accès au fichier de clé.

--login -l

Cette commande prend en charge une entité chaîne de connexion avec des droits d’exécution d’action. Permet d’éviter la connexion de session via « az login ». Si une entité chaîne de connexion et un nom sont fournis, le chaîne de connexion a la priorité. Obligatoire si --hub-name n’est pas fourni.

--mc --msg-count

Nombre de messages d’appareil à envoyer à IoT Hub.

valeur par défaut: 1
--pass --passphrase

Phrase secrète pour le fichier de clé.

--properties --props -p

Conteneur de propriétés de message dans des paires clé-valeur au format suivant : a=b ; c=d. Pour la messagerie mqtt , vous pouvez envoyer des propriétés système à l’aide de $.=value. Par exemple $.cid=12345 définit la propriété ID de corrélation système. D’autres exemples d’identificateur de propriété système incluent $.ct pour le type de contenu, $.mid pour l’ID de message et $.ce pour l’encodage de contenu.

--resource-group -g

Nom du groupe de ressources. Vous pouvez configurer le groupe par défaut en utilisant az configure --defaults group=<name>.

Paramètres globaux
--debug

Augmentez le niveau de détail de la journalisation pour afficher tous les journaux de débogage.

--help -h

Affichez ce message d’aide et quittez.

--only-show-errors

Afficher uniquement les erreurs, en supprimant les avertissements.

--output -o

Format de sortie.

valeurs acceptées: json, jsonc, none, table, tsv, yaml, yamlc
valeur par défaut: json
--query

Chaîne de requêtes JMESPath. Pour plus d’informations et d’exemples, consultez http://jmespath.org/.

--subscription

Nom ou ID de l’abonnement. Vous pouvez configurer l’abonnement par défaut en utilisant az account set -s NAME_OR_ID.

--verbose

Augmentez le niveau de détail de la journalisation. Utilisez --debug pour des journaux de débogage complets.

az iot device simulate

Expérimental

Cette commande est expérimentale et en cours de développement. Référence et niveaux de support : https://aka.ms/CLI_refstatus

Simuler un appareil dans un hub Azure IoT.

Pendant l’exécution de la simulation de l’appareil, l’appareil reçoit et reconnaît automatiquement les messages cloud-à-appareil (c2d). Pour la simulation mqtt, tous les messages c2d sont acceptés avec achèvement. Pour l’accusé de réception c2d de simulation http est basé sur la sélection de l’utilisateur qui peut être terminée, rejetée ou abandonnée. La simulation mqtt prend également en charge l’appel de méthode directe qui peut être reconnu par un code d’état de réponse et une charge utile de réponse. Remarque : la commande par défaut définit le type de contenu sur application/json et l’encodage de contenu sur utf-8. Cela peut être substitué. Remarque : Si vous utilisez des méthodes d’authentification x509, les fichiers de certificat et de clé (et la phrase secrète si nécessaire) doivent être fournis.

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]

Exemples

Utilisation de base (mqtt)

az iot device simulate -n {iothub_name} -d {device_id}

Utilisation de base pour l’inscription de l’ID de modèle de 'dtmi :com :example :Thermostat ; 1' lors de la connexion (mqtt)

az iot device simulate -n {iothub_name} -d {device_id} --model-id 'dtmi:com:example:Thermostat;1'

Utilisation de base pour l’appareil avec l’authentification x509 (mqtt)

az iot device simulate -n {iothub_name} -d {device_id} --cp {certificate_file_path} --kp {key_file_path}

Utilisation de base pour l’appareil avec l’authentification x509 (mqtt) dans laquelle le fichier de clé a une phrase secrète

az iot device simulate -n {iothub_name} -d {device_id} --cp {certificate_file_path} --kp {key_file_path} --pass {passphrase}

Envoyer des propriétés mixtes (mqtt)

az iot device simulate -n {iothub_name} -d {device_id} --properties "myprop=myvalue;$.ct=application/json"

Envoyer un code d’état de réponse de méthode directe et une charge utile de réponse de méthode directe en tant que json brut (mqtt uniquement)

az iot device simulate -n {iothub_name} -d {device_id} --method-response-code 201 --method-response-payload '{"result":"Direct method successful"}'

Envoyer un code d’état de réponse de méthode directe et une charge utile de réponse de méthode directe comme chemin d’accès au fichier local (mqtt uniquement)

az iot device simulate -n {iothub_name} -d {device_id} --method-response-code 201 --method-response-payload '../my_direct_method_payload.json'

Envoyer l’état initial des propriétés signalées du jumeau d’appareil en tant que json brut pour l’appareil cible (mqtt uniquement)

az iot device simulate -n {iothub_name} -d {device_id} --init-reported-properties '{"reported_prop_1":"val_1", "reported_prop_2":val_2}'

Envoyer l’état initial des propriétés signalées du jumeau d’appareil comme chemin d’accès au fichier local de l’appareil cible (mqtt uniquement)

az iot device simulate -n {iothub_name} -d {device_id} --init-reported-properties '../my_device_twin_reported_properties.json'

Utilisation de base (http)

az iot device simulate -n {iothub_name} -d {device_id} --protocol http

Envoyer des propriétés mixtes (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"

Choisir le nombre total de messages et l’intervalle entre les messages

az iot device simulate -n {iothub_name} -d {device_id} --msg-count 1000 --msg-interval 5

Rejeter les messages c2d (http uniquement)

az iot device simulate -n {iothub_name} -d {device_id} --rs reject --protocol http

Abandonner les messages c2d (http uniquement)

az iot device simulate -n {iothub_name} -d {device_id} --rs abandon --protocol http

Paramètres obligatoires

--device-id -d

ID d’appareil cible.

Paramètres facultatifs

--certificate-file-path --cp

Chemin d’accès au fichier de certificat.

--da --data

Corps du message. Fournissez du texte ou du json brut.

valeur par défaut: Ping from Az CLI IoT Extension
--dtmi --model-id

L’ID de modèle de jumeau numérique que l’appareil signale lors de la connexion au hub. Consultez https://docs.microsoft.com/en-us/azure/iot-develop/overview-iot-plug-and-play pour plus d’informations.

--hub-name -n

Nom ou nom d’hôte IoT Hub. Obligatoire si --login n’est pas fourni.

--init-reported-properties --irp

État initial des propriétés signalées du jumeau pour l’appareil cible lors de l’exécution du simulateur. Paramètre facultatif, uniquement pris en charge pour mqtt.

--key --symmetric-key

Clé symétrique à utiliser pour l’appareil. Si la clé symétrique et d’autres arguments d’authentification d’appareil sont fournis, la clé symétrique est prioritaire.

--key-file-path --kp

Chemin d’accès au fichier de clé.

--login -l

Cette commande prend en charge une entité chaîne de connexion avec des droits d’exécution d’action. Permet d’éviter la connexion de session via « az login ». Si une entité chaîne de connexion et un nom sont fournis, le chaîne de connexion a la priorité. Obligatoire si --hub-name n’est pas fourni.

--mc --msg-count

Nombre de messages d’appareil à envoyer à IoT Hub.

valeur par défaut: 100
--method-response-code --mrc

Code d’état à renvoyer lorsque la méthode directe est exécutée sur l’appareil. Paramètre facultatif, uniquement pris en charge pour mqtt.

--method-response-payload --mrp

Charge utile à renvoyer lorsque la méthode directe est exécutée sur l’appareil. Fournissez le chemin d’accès au fichier ou json brut. Paramètre facultatif, uniquement pris en charge pour mqtt.

--mi --msg-interval

Retard en secondes entre les messages appareil-à-cloud.

valeur par défaut: 3
--pass --passphrase

Phrase secrète pour le fichier de clé.

--properties --props -p

Conteneur de propriétés de message dans des paires clé-valeur au format suivant : a=b ; c=d. Pour la messagerie mqtt , vous pouvez envoyer des propriétés système à l’aide de $.=value. Par exemple $.cid=12345 définit la propriété ID de corrélation système. D’autres exemples d’identificateur de propriété système incluent $.ct pour le type de contenu, $.mid pour l’ID de message et $.ce pour l’encodage de contenu. Pour la messagerie http : les propriétés d’application sont envoyées à l’aide d’iothub-app-=value, par exemple iothub-app-myprop=myvalue. Les propriétés système sont généralement précédées d’iothub, comme iothub-correlationid, mais il existe des exceptions telles que le type de contenu et l’encodage de contenu.

--proto --protocol

Indique le protocole de message appareil-à-cloud.

valeurs acceptées: http, mqtt
valeur par défaut: mqtt
--receive-settle --rs

Indique comment régler les messages cloud-à-appareil reçus. Pris en charge uniquement avec HTTP.

valeurs acceptées: abandon, complete, reject
valeur par défaut: complete
--resource-group -g

Nom du groupe de ressources. Vous pouvez configurer le groupe par défaut en utilisant az configure --defaults group=<name>.

Paramètres globaux
--debug

Augmentez le niveau de détail de la journalisation pour afficher tous les journaux de débogage.

--help -h

Affichez ce message d’aide et quittez.

--only-show-errors

Afficher uniquement les erreurs, en supprimant les avertissements.

--output -o

Format de sortie.

valeurs acceptées: json, jsonc, none, table, tsv, yaml, yamlc
valeur par défaut: json
--query

Chaîne de requêtes JMESPath. Pour plus d’informations et d’exemples, consultez http://jmespath.org/.

--subscription

Nom ou ID de l’abonnement. Vous pouvez configurer l’abonnement par défaut en utilisant az account set -s NAME_OR_ID.

--verbose

Augmentez le niveau de détail de la journalisation. Utilisez --debug pour des journaux de débogage complets.

az iot device upload-file

Chargez un fichier local en tant qu’appareil dans un conteneur de stockage d’objets blob préconfiguré.

az iot device upload-file --content-type
                          --device-id
                          --file-path
                          [--hub-name]
                          [--login]
                          [--resource-group]

Paramètres obligatoires

--content-type --ct

Type MIME de fichier.

--device-id -d

ID d’appareil cible.

--file-path --fp

Chemin d’accès au fichier à charger.

Paramètres facultatifs

--hub-name -n

Nom ou nom d’hôte IoT Hub. Obligatoire si --login n’est pas fourni.

--login -l

Cette commande prend en charge une entité chaîne de connexion avec des droits d’exécution d’action. Permet d’éviter la connexion de session via « az login ». Si une entité chaîne de connexion et un nom sont fournis, le chaîne de connexion a la priorité. Obligatoire si --hub-name n’est pas fourni.

--resource-group -g

Nom du groupe de ressources. Vous pouvez configurer le groupe par défaut en utilisant az configure --defaults group=<name>.

Paramètres globaux
--debug

Augmentez le niveau de détail de la journalisation pour afficher tous les journaux de débogage.

--help -h

Affichez ce message d’aide et quittez.

--only-show-errors

Afficher uniquement les erreurs, en supprimant les avertissements.

--output -o

Format de sortie.

valeurs acceptées: json, jsonc, none, table, tsv, yaml, yamlc
valeur par défaut: json
--query

Chaîne de requêtes JMESPath. Pour plus d’informations et d’exemples, consultez http://jmespath.org/.

--subscription

Nom ou ID de l’abonnement. Vous pouvez configurer l’abonnement par défaut en utilisant az account set -s NAME_OR_ID.

--verbose

Augmentez le niveau de détail de la journalisation. Utilisez --debug pour des journaux de débogage complets.