您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn.

az iot device

备注

此引用是适用于 Azure CLI 的 azure iot 扩展的一部分,需要2.17.1 或更高版本。 首次运行 az iot device 命令时,扩展将自动安装。 详细了解扩展。

使用设备到云和云到设备的消息传递功能。

命令

az iot device c2d-message

云到设备的消息传递命令。

az iot device c2d-message abandon

放弃云到设备的消息。

az iot device c2d-message complete

完成云到设备的消息。

az iot device c2d-message purge

清除目标设备的云到设备的消息队列。

az iot device c2d-message receive

接收云到设备的消息。

az iot device c2d-message reject

拒绝或死信从云到设备的消息。

az iot device c2d-message send

发送云到设备的消息。

az iot device send-d2c-message

发送 mqtt 设备到云的消息。 命令支持向应用程序和系统属性发送消息。

注意:此命令仅适用于对称密钥身份验证 (SAS) 设备。

az iot device simulate

在 Azure IoT 集线器中模拟设备。

设备模拟正在运行时,设备会自动接收并确认云到设备 (c2d) 消息。 对于 mqtt 模拟,所有 c2d 消息都将在完成后确认。 对于 http 模拟 c2d 确认基于用户选择,该选择可以是 "已完成"、"拒绝" 或 "放弃"。 此外,仅支持基于对称密钥身份验证 (SAS) 设备的 mqtt 模拟

注意:默认情况下,该命令会将 content 类型设置为 application/json,并将内容编码设置为 utf-8。 这可以被重写。

az iot device upload-file

将本地文件作为设备 Upload 到预配置的 blob 存储容器。

az iot device send-d2c-message

发送 mqtt 设备到云的消息。 命令支持向应用程序和系统属性发送消息。

注意:此命令仅适用于对称密钥身份验证 (SAS) 设备。

az iot device send-d2c-message --device-id
                               [--da]
                               [--hub-name]
                               [--login]
                               [--mc]
                               [--properties]
                               [--qos {0, 1}]
                               [--resource-group]

示例

基本用法

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

使用自定义数据的基本用法

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

发送应用程序属性

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

发送系统属性 (消息 Id 和相关 Id)

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

必需参数

--device-id -d

目标设备。

可选参数

--da --data

消息正文。

默认值: Ping from Az CLI IoT Extension
--hub-name -n

IoT 中心名称。

--login -l

此命令支持具有执行操作的权限的实体连接字符串。 使用通过 "az login" 避免会话登录。 如果提供了实体连接字符串和名称,则连接字符串优先。

--mc --msg-count

要发送到 IoT 中心的设备消息数。

默认值: 1
--properties --props -p

具有以下格式的键值对中的消息属性包: a = b; c = d。 对于 mqtt 消息传送-可以使用 $ 发送系统属性。 = 值。 例如,$ cid = 12345 设置系统相关 Id 属性。 其他系统属性标识符示例包括用于内容类型的 "$."、用于内容编码的 "中" 和 "中"。

--qos

服务质量。 0 = 最多一次,1 = 至少一次。 2仅 (一次不支持) 。此命令参数已弃用,并将在下一版本中删除。

接受的值: 0, 1
默认值: 1
--resource-group -g

资源组的名称。 可以使用 az configure --defaults group=<name> 配置默认组。

az iot device simulate

在 Azure IoT 集线器中模拟设备。

设备模拟正在运行时,设备会自动接收并确认云到设备 (c2d) 消息。 对于 mqtt 模拟,所有 c2d 消息都将在完成后确认。 对于 http 模拟 c2d 确认基于用户选择,该选择可以是 "已完成"、"拒绝" 或 "放弃"。 此外,仅支持基于对称密钥身份验证 (SAS) 设备的 mqtt 模拟

注意:默认情况下,该命令会将 content 类型设置为 application/json,并将内容编码设置为 utf-8。 这可以被重写。

az iot device simulate --device-id
                       [--da]
                       [--hub-name]
                       [--login]
                       [--mc]
                       [--mi]
                       [--properties]
                       [--proto {http, mqtt}]
                       [--receive-settle {abandon, complete, reject}]
                       [--resource-group]

示例

基本用法 (mqtt)

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

使用发送混合属性的 mqtt) 的基本用法 (

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

Http) 的基本用法 (

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

使用发送混合属性的 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"

选择消息总数和消息间隔

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

仅 (http 拒绝 c2d 消息)

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

仅 (http) 放弃 c2d 消息

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

必需参数

--device-id -d

目标设备。

可选参数

--da --data

消息正文。

默认值: Ping from Az CLI IoT Extension
--hub-name -n

IoT 中心名称。

--login -l

此命令支持具有执行操作的权限的实体连接字符串。 使用通过 "az login" 避免会话登录。 如果提供了实体连接字符串和名称,则连接字符串优先。

--mc --msg-count

要发送到 IoT 中心的设备消息数。

默认值: 100
--mi --msg-interval

设备到云的消息之间的延迟(以秒为单位)。

默认值: 3
--properties --props -p

具有以下格式的键值对中的消息属性包: a = b; c = d。 对于 mqtt 消息传送-可以使用 $ 发送系统属性。 = 值。 例如,$ cid = 12345 设置系统相关 Id 属性。 其他系统属性标识符示例包括用于内容类型的 "$."、用于内容编码的 "中" 和 "中"。 对于 http 消息传递-应用程序属性使用 iothub- = 值发送,例如 iothub-myprop = myvalue。 系统属性通常带有类似于 iothub 的 iothub,但有一些例外,如内容类型和内容编码。

--proto --protocol

指示设备到云的消息协议。

接受的值: http, mqtt
默认值: mqtt
--receive-settle --rs

指示如何结算接收的云到设备消息。 仅支持 HTTP。

接受的值: abandon, complete, reject
默认值: complete
--resource-group -g

资源组的名称。 可以使用 az configure --defaults group=<name> 配置默认组。

az iot device upload-file

将本地文件作为设备 Upload 到预配置的 blob 存储容器。

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

必需参数

--content-type --ct

文件的 MIME 类型。

--device-id -d

目标设备。

--file-path --fp

要上载的文件的路径。

可选参数

--hub-name -n

IoT 中心名称。

--login -l

此命令支持具有执行操作的权限的实体连接字符串。 使用通过 "az login" 避免会话登录。 如果提供了实体连接字符串和名称,则连接字符串优先。

--resource-group -g

资源组的名称。 可以使用 az configure --defaults group=<name> 配置默认组。