Share via


az iot device

Nota:

Esta referencia forma parte de la extensión azure-iot para la CLI de Azure (versión 2.37.0 o posterior). La extensión instalará automáticamente la primera vez que ejecute un comando az iot device . Obtenga más información sobre las extensiones.

Aproveche la simulación de dispositivos y otras operaciones centradas en dispositivos, como funcionalidades de mensajería de dispositivo a nube o de nube a dispositivo.

Comandos

Nombre Description Tipo Estado
az iot device c2d-message

Comandos de mensajería de nube a dispositivo.

Extensión GA
az iot device c2d-message abandon

Abandone un mensaje de nube a dispositivo.

Extensión GA
az iot device c2d-message complete

Complete un mensaje de nube a dispositivo.

Extensión GA
az iot device c2d-message purge

Purgar la cola de mensajes de nube a dispositivo para un dispositivo de destino.

Extensión GA
az iot device c2d-message receive

Reciba un mensaje de nube a dispositivo.

Extensión GA
az iot device c2d-message reject

Rechace o interbloquee un mensaje de nube a dispositivo.

Extensión GA
az iot device c2d-message send

Envíe un mensaje de nube a dispositivo.

Extensión GA
az iot device registration

Administrar registros de dispositivos IoT para ioT Device Provisioning Service.

Extensión Vista previa
az iot device registration create

Registre un dispositivo IoT con el servicio IoT Device Provisioning.

Extensión Vista previa
az iot device send-d2c-message

Envíe un mensaje mqtt device-to-cloud.

Extensión GA
az iot device simulate

Simulación de un dispositivo en una instancia de Azure IoT Hub.

Extensión Habilitación de características
az iot device upload-file

Cargue un archivo local como un dispositivo en un contenedor de almacenamiento de blobs preconfigurado.

Extensión GA

az iot device send-d2c-message

Envíe un mensaje mqtt device-to-cloud.

El comando admite el envío de mensajes con carga personalizada en formato binario o cadena unicode. Al intentar enviar binarios, los datos deben proceder de un archivo (a través --data-file-pathde ) y el tipo de contenido debe establecerse application/octet-streamen .

Nota: El comando solo funciona para dispositivos basados en autenticación de claves simétricas (SAS). Para habilitar la consulta en un cuerpo del mensaje en el enrutamiento de mensajes, la propiedad del sistema contentType debe ser application/JSON y la propiedad del sistema contentEncoding debe ser uno de los valores de codificación UTF admitidos por esa propiedad del sistema (UTF-8, UTF-16 o UTF-32). Si la codificación de contenido no se establece cuando Azure Storage se usa como punto de conexión de enrutamiento, IoT Hub escribe los mensajes en formato codificado en base 64. Si usa métodos de autenticación x509, se deben proporcionar los archivos de certificado y clave (y la frase de contraseña si es necesario).

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]

Ejemplos

Uso básico

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

Uso básico para el dispositivo que registra el identificador de modelo de "dtmi:com:example:Thermostat; 1' tras la conexión

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

Uso básico del dispositivo con autenticación x509

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

Uso básico del dispositivo con autenticación x509 en la que el archivo de clave tiene una frase de contraseña

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

Uso básico con datos personalizados

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

Enviar propiedades de la aplicación

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

Enviar propiedades del sistema (id. de mensaje e id. de correlación)

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

Enviar datos personalizados especificando el tipo de contenido y la codificación de contenido en las propiedades del sistema

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

Enviar datos personalizados en formato binario especificando la codificación de contenido en las propiedades del sistema

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

Enviar datos personalizados en formato JSON especificando el tipo de contenido y la codificación de contenido en las propiedades del 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}

Parámetros requeridos

--device-id -d

Id. de dispositivo de destino.

Parámetros opcionales

--certificate-file-path --cp

Ruta de acceso al archivo de certificado.

--da --data

Cuerpo del mensaje. Proporcione texto o json sin formato.

valor predeterminado: Ping from Az CLI IoT Extension
--data-file-path --dfp
Vista previa

Proporcione la ruta de acceso al archivo para la carga del cuerpo del mensaje. Tenga en cuenta si la carga debe enviarse en formato binario, establezca el tipo de contenido en application/octet-stream.

--dtmi --model-id

El id. de modelo del gemelo digital que notificará el dispositivo al conectarse al centro. Consulte https://docs.microsoft.com/en-us/azure/iot-develop/overview-iot-plug-and-play para obtener más detalles.

--hub-name -n

Nombre o nombre de host de IoT Hub. Obligatorio si no se proporciona --login.

--key --symmetric-key

Clave simétrica que se va a usar para el dispositivo. Si se proporcionan la clave simétrica y otros argumentos de autenticación de dispositivos, la clave simétrica tiene prioridad.

--key-file-path --kp

Ruta de acceso al archivo de clave.

--login -l

Este comando admite una entidad cadena de conexión con derechos para realizar la acción. Use para evitar el inicio de sesión de sesión a través de "az login". Si se proporcionan las cadena de conexión y el nombre de una entidad, el cadena de conexión tiene prioridad. Obligatorio si no se proporciona --hub-name.

--mc --msg-count

Número de mensajes de dispositivo que se van a enviar a IoT Hub.

valor predeterminado: 1
--pass --passphrase

Frase de contraseña para el archivo de clave.

--properties --props -p

Contenedor de propiedades de mensaje en pares clave-valor con el formato siguiente: a=b; c=d. Para la mensajería mqtt: puede enviar propiedades del sistema mediante $.=value. Por ejemplo, $.cid=12345 establece la propiedad id. de correlación del sistema. Otros ejemplos de identificadores de propiedad del sistema incluyen $.ct para el tipo de contenido, $.mid para id. de mensaje y $.ce para la codificación de contenido.

--resource-group -g

Nombre del grupo de recursos. Puede configurar el grupo predeterminado mediante az configure --defaults group=<name>.

Parámetros globales
--debug

Aumente el nivel de detalle de registro para mostrar todos los registros de depuración.

--help -h

Muestre este mensaje de ayuda y salga.

--only-show-errors

Mostrar solo los errores y suprimir las advertencias.

--output -o

Formato de salida.

valores aceptados: json, jsonc, none, table, tsv, yaml, yamlc
valor predeterminado: json
--query

Cadena de consulta de JMESPath. Para más información y ejemplos, consulte http://jmespath.org/.

--subscription

Nombre o identificador de la suscripción Puede configurar la suscripción predeterminada mediante az account set -s NAME_OR_ID.

--verbose

Aumente el nivel de detalle de registro. Use --debug para obtener registros de depuración completos.

az iot device simulate

Habilitación de características

Este comando es experimental y está en desarrollo. Niveles de referencia y soporte técnico: https://aka.ms/CLI_refstatus

Simulación de un dispositivo en una instancia de Azure IoT Hub.

Mientras se ejecuta la simulación de dispositivo, el dispositivo recibirá y confirmará automáticamente los mensajes de la nube al dispositivo (c2d). En el caso de la simulación mqtt, todos los mensajes c2d se confirmarán con la finalización. Para la confirmación c2d de simulación http se basa en la selección del usuario que puede completarse, rechazar o abandonar. La simulación mqtt también admite la invocación de método directo que se puede reconocer mediante un código de estado de respuesta y una carga de respuesta. Nota: El comando de forma predeterminada establecerá content-type en application/json y content-encoding en utf-8. Esto se puede invalidar. Nota: Si usa métodos de autenticación x509, se deben proporcionar los archivos de certificado y clave (y la frase de contraseña si es necesario).

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]

Ejemplos

Uso básico (mqtt)

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

Uso básico para el dispositivo que registra el identificador de modelo de "dtmi:com:example:Thermostat; 1' tras la conexión (mqtt)

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

Uso básico del dispositivo con autenticación x509 (mqtt)

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

Uso básico del dispositivo con autenticación x509 (mqtt) en la que el archivo de clave tiene una frase de contraseña

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

Envío de propiedades mixtas (mqtt)

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

Envío de código de estado de respuesta del método directo y carga de respuesta del método directo como json sin formato (solo mqtt)

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

Enviar código de estado de respuesta de método directo y carga de respuesta de método directo como ruta de acceso al archivo local (solo mqtt)

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

Enviar el estado inicial de las propiedades notificadas del dispositivo gemelo como json sin formato para el dispositivo de destino (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}'

Enviar el estado inicial de las propiedades notificadas del dispositivo gemelo como ruta de acceso al archivo local para el dispositivo de destino (solo mqtt)

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

Uso básico (http)

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

Envío de propiedades mixtas (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"

Elegir el recuento total de mensajes y el intervalo entre los mensajes

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

Rechazar mensajes c2d (solo http)

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

Abandonar mensajes c2d (solo http)

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

Parámetros requeridos

--device-id -d

Id. de dispositivo de destino.

Parámetros opcionales

--certificate-file-path --cp

Ruta de acceso al archivo de certificado.

--da --data

Cuerpo del mensaje. Proporcione texto o json sin formato.

valor predeterminado: Ping from Az CLI IoT Extension
--dtmi --model-id

El id. de modelo del gemelo digital que notificará el dispositivo al conectarse al centro. Consulte https://docs.microsoft.com/en-us/azure/iot-develop/overview-iot-plug-and-play para obtener más detalles.

--hub-name -n

Nombre o nombre de host de IoT Hub. Obligatorio si no se proporciona --login.

--init-reported-properties --irp

Estado inicial de las propiedades notificadas de gemelos para el dispositivo de destino cuando se ejecuta el simulador. Parámetro opcional, solo compatible con mqtt.

--key --symmetric-key

Clave simétrica que se va a usar para el dispositivo. Si se proporcionan la clave simétrica y otros argumentos de autenticación de dispositivos, la clave simétrica tiene prioridad.

--key-file-path --kp

Ruta de acceso al archivo de clave.

--login -l

Este comando admite una entidad cadena de conexión con derechos para realizar la acción. Use para evitar el inicio de sesión de sesión a través de "az login". Si se proporcionan las cadena de conexión y el nombre de una entidad, el cadena de conexión tiene prioridad. Obligatorio si no se proporciona --hub-name.

--mc --msg-count

Número de mensajes de dispositivo que se van a enviar a IoT Hub.

valor predeterminado: 100
--method-response-code --mrc

Código de estado que se va a devolver cuando se ejecuta el método directo en el dispositivo. Parámetro opcional, solo compatible con mqtt.

--method-response-payload --mrp

Carga que se devolverá cuando se ejecuta el método directo en el dispositivo. Proporcione la ruta de acceso del archivo o json sin formato. Parámetro opcional, solo compatible con mqtt.

--mi --msg-interval

Retraso en segundos entre mensajes de dispositivo a nube.

valor predeterminado: 3
--pass --passphrase

Frase de contraseña para el archivo de clave.

--properties --props -p

Contenedor de propiedades de mensaje en pares clave-valor con el formato siguiente: a=b; c=d. Para la mensajería mqtt: puede enviar propiedades del sistema mediante $.=value. Por ejemplo, $.cid=12345 establece la propiedad id. de correlación del sistema. Otros ejemplos de identificadores de propiedad del sistema incluyen $.ct para el tipo de contenido, $.mid para id. de mensaje y $.ce para la codificación de contenido. Para la mensajería http: las propiedades de la aplicación se envían mediante iothub-app-=value, por ejemplo, iothub-app-myprop=myvalue. Las propiedades del sistema suelen tener el prefijo iothub, como iothub-correlationid, pero hay excepciones como content-type y content-encoding.

--proto --protocol

Indica el protocolo de mensajes de dispositivo a nube.

valores aceptados: http, mqtt
valor predeterminado: mqtt
--receive-settle --rs

Indica cómo liquidar los mensajes recibidos de la nube al dispositivo. Solo se admite con HTTP.

valores aceptados: abandon, complete, reject
valor predeterminado: complete
--resource-group -g

Nombre del grupo de recursos. Puede configurar el grupo predeterminado mediante az configure --defaults group=<name>.

Parámetros globales
--debug

Aumente el nivel de detalle de registro para mostrar todos los registros de depuración.

--help -h

Muestre este mensaje de ayuda y salga.

--only-show-errors

Mostrar solo los errores y suprimir las advertencias.

--output -o

Formato de salida.

valores aceptados: json, jsonc, none, table, tsv, yaml, yamlc
valor predeterminado: json
--query

Cadena de consulta de JMESPath. Para más información y ejemplos, consulte http://jmespath.org/.

--subscription

Nombre o identificador de la suscripción Puede configurar la suscripción predeterminada mediante az account set -s NAME_OR_ID.

--verbose

Aumente el nivel de detalle de registro. Use --debug para obtener registros de depuración completos.

az iot device upload-file

Cargue un archivo local como un dispositivo en un contenedor de almacenamiento de blobs preconfigurado.

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

Parámetros requeridos

--content-type --ct

Tipo de archivo MIME.

--device-id -d

Id. de dispositivo de destino.

--file-path --fp

Ruta de acceso al archivo para la carga.

Parámetros opcionales

--hub-name -n

Nombre o nombre de host de IoT Hub. Obligatorio si no se proporciona --login.

--login -l

Este comando admite una entidad cadena de conexión con derechos para realizar la acción. Use para evitar el inicio de sesión de sesión a través de "az login". Si se proporcionan las cadena de conexión y el nombre de una entidad, el cadena de conexión tiene prioridad. Obligatorio si no se proporciona --hub-name.

--resource-group -g

Nombre del grupo de recursos. Puede configurar el grupo predeterminado mediante az configure --defaults group=<name>.

Parámetros globales
--debug

Aumente el nivel de detalle de registro para mostrar todos los registros de depuración.

--help -h

Muestre este mensaje de ayuda y salga.

--only-show-errors

Mostrar solo los errores y suprimir las advertencias.

--output -o

Formato de salida.

valores aceptados: json, jsonc, none, table, tsv, yaml, yamlc
valor predeterminado: json
--query

Cadena de consulta de JMESPath. Para más información y ejemplos, consulte http://jmespath.org/.

--subscription

Nombre o identificador de la suscripción Puede configurar la suscripción predeterminada mediante az account set -s NAME_OR_ID.

--verbose

Aumente el nivel de detalle de registro. Use --debug para obtener registros de depuración completos.