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

az iot hub device-identity

备注

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

管理 IoT 设备。

命令

az iot hub device-identity children

管理 IoT 设备的子设备。

az iot hub device-identity children add

将指定的以空格分隔的设备 id 列表作为指定边缘设备的子级添加。

az iot hub device-identity children list

输出已分配子设备的列表。

az iot hub device-identity children remove

从指定的边缘设备中删除作为子项的设备。

az iot hub device-identity connection-string

管理 IoT 设备的连接字符串。

az iot hub device-identity connection-string show

显示给定的 IoT 中心设备连接字符串。

az iot hub device-identity create

在 IoT 中心创建设备。

az iot hub device-identity delete

删除 IoT 中心设备。

az iot hub device-identity export

将 IoT 中心的所有设备标识导出到Azure 存储 Blob 容器。 有关内联 Blob 容器 SAS URI 输入,请查看环境的输入规则。

az iot hub device-identity import

从 Blob 将设备标识导入 IoT 中心。 有关内联 Blob 容器 SAS URI 输入,请查看环境的输入规则。

az iot hub device-identity list

列出 IoT 中心的设备。

az iot hub device-identity parent

管理 IoT 设备的父设备。

az iot hub device-identity parent set

设置指定设备的父设备。

az iot hub device-identity parent show

获取指定设备的父设备。

az iot hub device-identity renew-key

使用 sas 身份验证续订 IoT 中心设备的目标密钥。

az iot hub device-identity show

获取 IoT 中心设备的详细信息。

az iot hub device-identity update

更新 IoT 中心设备。

az iot hub device-identity create

在 IoT 中心创建设备。

az iot hub device-identity create --device-id
                                  [--am {shared_private_key, x509_ca, x509_thumbprint}]
                                  [--auth-type {key, login}]
                                  [--edge-enabled {false, true}]
                                  [--hub-name]
                                  [--login]
                                  [--od]
                                  [--primary-thumbprint]
                                  [--resource-group]
                                  [--secondary-thumbprint]
                                  [--sta {disabled, enabled}]
                                  [--star]
                                  [--valid-days]

示例

创建启用了边缘的 IoT 设备,其默认授权 (共享私钥) 。

az iot hub device-identity create -n {iothub_name} -d {device_id} --ee

创建具有自签名证书授权的 IoT 设备,生成有效期为 10 天的证书,然后使用其指纹。

az iot hub device-identity create -n {iothub_name} -d {device_id} --am x509_thumbprint --valid-days 10

创建具有自签名证书授权的 IoT 设备,生成默认过期证书 (365 天) 并输出到目标目录。

az iot hub device-identity create -n {iothub_name} -d {device_id} --am x509_thumbprint --output-dir /path/to/output

创建具有自签名证书授权的 IoT 设备,并显式提供主指纹和辅助指纹。

az iot hub device-identity create -n {iothub_name} -d {device_id} --am x509_thumbprint --ptp {thumbprint_1} --stp {thumbprint_2}

使用禁用状态和原因创建具有根 CA 授权的 IoT 设备

az iot hub device-identity create -n {iothub_name} -d {device_id} --am x509_ca --status disabled --status-reason 'for reasons'

必需参数

--device-id -d

目标设备。

可选参数

--am --auth-method

要创建实体的授权类型。

接受的值: shared_private_key, x509_ca, x509_thumbprint
默认值: shared_private_key
--auth-type

指示操作是应自动派生策略密钥还是使用当前Azure AD会话。 可以使用 配置默认值 az configure --defaults iothub-data-auth-type=<auth-type-value>

接受的值: key, login
默认值: key
--edge-enabled --ee

指示边缘启用的标志。

接受的值: false, true
--hub-name -n

IoT 中心名称。

--login -l

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

--od --output-dir

生成自签名证书并使用其指纹。 输出到指定的目标目录。

--primary-thumbprint --ptp

要用于主密钥的显式自签名证书指纹。

--resource-group -g

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

--secondary-thumbprint --stp

要用于辅助密钥的显式自签名证书指纹。

--sta --status

创建时设置设备状态。

接受的值: disabled, enabled
默认值: enabled
--star --status-reason

设备状态的说明。

--valid-days --vd

生成自签名证书并使用其指纹。 对指定的天数有效。 默认值:365。

az iot hub device-identity delete

删除 IoT 中心设备。

az iot hub device-identity delete --device-id
                                  [--auth-type {key, login}]
                                  [--etag]
                                  [--hub-name]
                                  [--login]
                                  [--resource-group]

必需参数

--device-id -d

目标设备。

可选参数

--auth-type

指示操作是应自动派生策略密钥还是使用当前Azure AD会话。 可以使用 配置默认值 az configure --defaults iothub-data-auth-type=<auth-type-value>

接受的值: key, login
默认值: key
--etag -e

与资源的最后一个状态对应的 Etag 或实体标记。 如果未提供 etag,则使用 * 值'' 。

--hub-name -n

IoT 中心名称。

--login -l

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

--resource-group -g

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

az iot hub device-identity export

将 IoT 中心的所有设备标识导出到Azure 存储 Blob 容器。 有关内联 Blob 容器 SAS URI 输入,请查看环境的输入规则。

有关详细信息,请参阅 https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities。

az iot hub device-identity export --bcu
                                  --hub-name
                                  [--auth-type {identity, key}]
                                  [--identity]
                                  [--ik {false, true}]
                                  [--resource-group]

示例

将所有设备标识导出到配置的 Blob 容器,并包含设备密钥。 使用内联 SAS URI 示例。

az iot hub device-identity export -n {iothub_name} --ik --bcu 'https://mystorageaccount.blob.core.windows.net/devices?sv=2019-02-02&st=2020-08-23T22%3A35%3A00Z&se=2020-08-24T22%3A35%3A00Z&sr=c&sp=rwd&sig=VrmJ5sQtW3kLzYg10VqmALGCp4vtYKSLNjZDDJBSh9s%3D'

使用包含 SAS URI 的文件路径将所有设备标识导出到配置的 Blob 容器。

az iot hub device-identity export -n {iothub_name} --bcu {sas_uri_filepath}

将所有设备标识导出到配置的 Blob 容器,并包含设备密钥。 使用具有存储帐户存储 Blob 数据参与者角色的系统分配的标识。 Blob 容器 URI 不需要 Blob SAS 令牌。

az iot hub device-identity export -n {iothub_name} --ik --bcu 'https://mystorageaccount.blob.core.windows.net/devices' --auth-type identity --identity [system]

将所有设备标识导出到配置的 Blob 容器,并包含设备密钥。 使用用户分配的托管标识,存储存储帐户和 IoT 中心参与者的 Blob 数据参与者角色。 Blob 容器 URI 不需要 Blob SAS 令牌。

az iot hub device-identity export -n {iothub_name} --ik --bcu 'https://mystorageaccount.blob.core.windows.net/devices' --auth-type identity --identity {managed_identity_resource_id}

必需参数

--bcu --blob-container-uri

具有对 Blob 容器的写入、读取和删除访问权限的 Blob 共享访问签名 URI。 这用于输出作业的状态和结果。 注意:使用基于标识的身份验证时,https:// URI,但不需要 SAS 令牌。 此参数的输入可以是内联的,也可以来自文件路径。

--hub-name -n

IoT 中心名称。

可选参数

--auth-type --storage-authentication-type

用于与存储容器通信的身份验证类型。

接受的值: identity, key
--identity

托管标识类型,用于确定是使用系统分配的托管标识还是使用用户分配的托管标识。 对于系统分配的托管标识,请使用 [system]。 对于用户分配的托管标识,请提供用户分配的托管标识资源 ID。此标识需要存储帐户的 Blob 数据参与者存储角色。

--ik --include-keys

如果设置,密钥将正常导出。 否则,导出输出中的键将设置为 null。

接受的值: false, true
--resource-group -g

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

az iot hub device-identity import

从 Blob 将设备标识导入 IoT 中心。 有关内联 Blob 容器 SAS URI 输入,请查看环境的输入规则。

有关详细信息,请参阅 https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities。

az iot hub device-identity import --hub-name
                                  --ibcu
                                  --obcu
                                  [--auth-type {identity, key}]
                                  [--identity]
                                  [--resource-group]

示例

使用内联 SAS URI 从 Blob 导入所有设备标识。

az iot hub device-identity import -n {iothub_name} --ibcu {input_sas_uri} --obcu {output_sas_uri}

使用包含 SAS URI 的文件路径从 Blob 导入所有设备标识。

az iot hub device-identity import -n {iothub_name} --ibcu {input_sas_uri_filepath} --obcu {output_sas_uri_filepath}

使用系统分配的标识从 blob 导入所有设备标识,该标识具有存储存储帐户的 Blob 数据参与者角色。 Blob 容器 URI 不需要 Blob SAS 令牌。

az iot hub device-identity import -n {iothub_name} --ibcu {input_sas_uri} --obcu {output_sas_uri} --auth-type identity --identity [system]

使用用户分配的托管标识从 blob 导入所有设备标识,该标识存储 IoT 中心的存储帐户和参与者具有 Blob 数据参与者角色。 Blob 容器 URI 不需要 Blob SAS 令牌。

az iot hub device-identity import -n {iothub_name} --ibcu {input_sas_uri} --obcu {output_sas_uri} --auth-type identity --identity {managed_identity_resource_id}

必需参数

--hub-name -n

IoT 中心名称。

--ibcu --input-blob-container-uri

对 Blob 容器具有读取访问权限的 Blob 共享访问签名 URI。 此 Blob 包含对标识注册表执行的操作。 注意:使用基于标识的身份验证时,https:// URI,但不需要 SAS 令牌。 此参数的输入可以是内联的,也可以来自文件路径。

--obcu --output-blob-container-uri

对 Blob 容器具有写入访问权限的 Blob 共享访问签名 URI。 这用于输出作业的状态和结果。 注意:使用基于标识的身份验证时 https:// 没有 SAS 令牌的 URI。 此参数的输入可以是内联的,也可以来自文件路径。

可选参数

--auth-type --storage-authentication-type

用于与存储容器通信的身份验证类型。

接受的值: identity, key
--identity

托管标识类型,用于确定是使用系统分配的托管标识还是使用用户分配的托管标识。 对于系统分配的托管标识,请使用 [system]。 对于用户分配的托管标识,请提供用户分配的托管标识资源 ID。此标识需要具有存储 Blob 数据参与者"角色存储 IoT 中心的"帐户和参与者"角色。

--resource-group -g

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

az iot hub device-identity list

列出 IoT 中心的设备。

az iot hub device-identity list [--auth-type {key, login}]
                                [--edge-enabled {false, true}]
                                [--hub-name]
                                [--login]
                                [--resource-group]
                                [--top]

可选参数

--auth-type

指示操作是应自动派生策略密钥还是使用当前Azure AD会话。 可以使用 配置默认值 az configure --defaults iothub-data-auth-type=<auth-type-value>

接受的值: key, login
默认值: key
--edge-enabled --ee

指示边缘启用的标志。

接受的值: false, true
--hub-name -n

IoT 中心名称。

--login -l

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

--resource-group -g

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

--top

要返回的元素的最大数目。 使用-1 表示无限制。

默认值: 1000

az iot hub device-identity renew-key

使用 sas 身份验证续订 IoT 中心设备的目标密钥。

az iot hub device-identity renew-key --device-id
                                     --hub-name
                                     --key-type {primary, secondary, swap}
                                     [--auth-type {key, login}]
                                     [--etag]
                                     [--login]
                                     [--resource-group]

示例

续订主密钥。

az iot hub device-identity renew-key -d {device_id} -n {iothub_name} --kt primary

交换主密钥和辅助密钥。

az iot hub device-identity renew-key -d {device_id} -n {iothub_name} --kt swap

必需参数

--device-id -d

目标设备。

--hub-name -n

IoT 中心名称。

--key-type --kt

要重新生成的目标密钥类型。

接受的值: primary, secondary, swap

可选参数

--auth-type

指示操作应自动派生策略密钥还是使用当前 Azure AD 会话。 你可以使用配置默认的 az configure --defaults iothub-data-auth-type=<auth-type-value>

接受的值: key, login
默认值: key
--etag -e

与资源的最后状态相对应的 Etag 或 entity 标记。 如果未提供 etag,则使用值 " * "。

--login -l

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

--resource-group -g

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

az iot hub device-identity show

获取 IoT 中心设备的详细信息。

az iot hub device-identity show --device-id
                                [--auth-type {key, login}]
                                [--hub-name]
                                [--login]
                                [--resource-group]

必需参数

--device-id -d

目标设备。

可选参数

--auth-type

指示操作应自动派生策略密钥还是使用当前 Azure AD 会话。 你可以使用配置默认的 az configure --defaults iothub-data-auth-type=<auth-type-value>

接受的值: key, login
默认值: key
--hub-name -n

IoT 中心名称。

--login -l

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

--resource-group -g

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

az iot hub device-identity update

更新 IoT 中心设备。

使用--set 后跟属性分配来更新设备。 利用 "iot 中心设备-标识显示" 返回的参数。

az iot hub device-identity update --device-id
                                  [--add]
                                  [--am {shared_private_key, x509_ca, x509_thumbprint}]
                                  [--auth-type {key, login}]
                                  [--edge-enabled {false, true}]
                                  [--etag]
                                  [--force-string]
                                  [--hub-name]
                                  [--login]
                                  [--pk]
                                  [--primary-thumbprint]
                                  [--remove]
                                  [--resource-group]
                                  [--secondary-key]
                                  [--secondary-thumbprint]
                                  [--set]
                                  [--sta {disabled, enabled}]
                                  [--star]

示例

为设备启用边缘功能

az iot hub device-identity update -d {device_id} -n {iothub_name} --set capabilities.iotEdge=true

使用便捷参数为设备启用边缘功能。

az iot hub device-identity update -d {device_id} -n {iothub_name} --ee

禁用设备状态

az iot hub device-identity update -d {device_id} -n {iothub_name} --set status=disabled

使用便捷参数禁用设备状态。

az iot hub device-identity update -d {device_id} -n {iothub_name} --status disabled

在一个命令中

az iot hub device-identity update -d {device_id} -n {iothub_name} --set status=disabled capabilities.iotEdge=true

必需参数

--device-id -d

目标设备。

可选参数

--add

通过指定路径和键值对,将对象添加到对象列表中。 示例:--添加 listProperty <键 = 值、字符串或 JSON 字符串>。

--am --auth-method

要使用创建实体的授权类型。

接受的值: shared_private_key, x509_ca, x509_thumbprint
--auth-type

指示操作应自动派生策略密钥还是使用当前 Azure AD 会话。 你可以使用配置默认的 az configure --defaults iothub-data-auth-type=<auth-type-value>

接受的值: key, login
默认值: key
--edge-enabled --ee

指示边缘启用的标志。

接受的值: false, true
--etag -e

与资源的最后状态相对应的 Etag 或 entity 标记。 如果未提供 etag,则使用值 " * "。

--force-string

使用 "set" 或 "add" 时,保留字符串文本,而不是尝试转换为 JSON。

--hub-name -n

IoT 中心名称。

--login -l

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

--pk --primary-key

以 base64 格式存储的主对称共享访问密钥。

--primary-thumbprint --ptp

用于主键的显式自签名证书指纹。

--remove

从列表中删除属性或元素。 示例:--remove property. list 或--Remove propertyToRemove。

--resource-group -g

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

--secondary-key --sk

以 base64 格式存储的辅助对称共享访问密钥。

--secondary-thumbprint --stp

要用于辅助密钥的显式自签名证书指纹。

--set

通过指定要设置的属性路径和值来更新对象。 示例:--set property1. property2 =.

--sta --status

创建时设置设备状态。

接受的值: disabled, enabled
--star --status-reason

设备状态的说明。