你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
az iot ops
注意
此参考是 Azure CLI(版本 2.53.0 或更高版本)的 azure-iot-ops 扩展的一部分。 该扩展将在首次运行 az iot ops 命令时自动安装。 详细了解扩展。
此命令组处于预览状态,正在开发中。 参考和支持级别: https://aka.ms/CLI_refstatus
管理 Azure IoT 操作。
Azure IoT 操作是一组高度一致的、但松散耦合的第一方 Kubernetes 服务,使你能够将本地资产中的数据聚合到工业级 MQTT 代理,添加边缘计算,并使用云中的各种服务设置双向数据流。
默认情况下,IoT 操作 CLI 命令将定期检查是否有新的扩展版本可用。
可以使用 .. 禁用 az config set iotops.check_latest=false
此行为。
命令
az iot ops check
命令组“iot ops”处于预览状态,正在开发中。 参考和支持级别: https://aka.ms/CLI_refstatus
评估已部署 IoT 操作服务的群集端运行时运行状况。
默认情况下,该命令显示所选服务的友好 摘要 视图。
可以通过 . 请求 --detail-level
更多详细信息。
{支持的服务 API}
- akri.sh/[v0]
- deviceregistry.microsoft.com/[v1beta1]
- mqttbroker.iotoperations.azure.com/[v1beta1]
- opcuabroker.iotoperations.azure.com/[v1beta1]
有关群集要求的详细信息,请查看 https://aka.ms/iot-ops-cluster-requirements。
az iot ops check [--as-object {false, true}]
[--context]
[--detail-level {0, 1, 2}]
[--ops-service {akri, broker, deviceregistry, opcua}]
[--post {false, true}]
[--pre {false, true}]
[--resource-name]
[--resources {asset, assetendpointprofile, assettype, broker, brokerlistener, configuration, instance}]
示例
基本用法。 使用摘要输出检查“broker”运行状况。
az iot ops check
像前面的示例一样评估“broker”,但输出针对 CI 进行了优化。
az iot ops check --as-object
检查包含详细输出的“opcua”运行状况和配置。
az iot ops check --svc opcua --detail-level 1
检查“deviceregistry”运行状况,但将结果限制为“资产”资源。
az iot ops check --svc deviceregistry --detail-level 1 --resources asset
使用资源名称将结果限制为带有“my-asset-”名称前缀的“资产”资源
az iot ops check --svc deviceregistry --resources asset --resource-name 'my-asset-*'
可选参数
输出检查 CI 友好数据结构中的内容和验证。
用于 k8s 群集通信的 Kubeconfig 上下文名称。 如果未current_context提供上下文。
控制检查输出中显示的详细信息级别。 选择 0 作为摘要视图(最小输出)、1 作为详细视图(更全面的信息),或 2 作为详细视图(所有可用信息)。
将评估的 IoT 操作服务部署。
运行部署后检查。
运行先决条件检查以确定是否满足服务部署的最低要求。
仅运行检查特定资源名称。 此名称不区分大小写。 支持 Glob 模式“”和“?”。注意:只允许字母数字字符、连字符、“?”和“”。
仅对特定资源类型运行检查。 使用空格分隔的值。
全局参数
提高日志记录详细程度以显示所有调试日志。
显示此帮助消息并退出。
只显示错误,取消显示警告。
输出格式。
JMESPath 查询字符串。 有关更多信息和示例,请参阅 http://jmespath.org/。
订阅的名称或 ID。 可以使用 az account set -s NAME_OR_ID
配置默认订阅。
提高日志记录详细程度。 使用 --debug 获取完整的调试日志。
az iot ops delete
命令组“iot ops”处于预览状态,正在开发中。 参考和支持级别: https://aka.ms/CLI_refstatus
从群集中删除 IoT 操作。
该操作使用 Azure Resource Graph 来确定相关资源。 资源图最终保持一致不能保证在执行时处于同步状态。
az iot ops delete --cluster
--resource-group
[--force {false, true}]
[--no-progress {false, true}]
[--yes {false, true}]
示例
完成删除的最小输入。
az iot ops delete --cluster mycluster -g myresourcegroup
跳过确认提示并继续删除过程。 适用于 CI 方案。
az iot ops delete --cluster mycluster -g myresourcegroup -y
强制删除,而不考虑警告。 可能会导致错误。
az iot ops delete --cluster mycluster -g myresourcegroup --force
必需参数
用于删除 IoT 操作的目标群集名称。
资源组的名称。 可以使用 az configure --defaults group=<name>
配置默认组。
可选参数
强制执行操作。
禁用工作的视觉表示形式。
在没有提示的情况下确认 [y]es。 适用于 CI 和自动化方案。
全局参数
提高日志记录详细程度以显示所有调试日志。
显示此帮助消息并退出。
只显示错误,取消显示警告。
输出格式。
JMESPath 查询字符串。 有关更多信息和示例,请参阅 http://jmespath.org/。
订阅的名称或 ID。 可以使用 az account set -s NAME_OR_ID
配置默认订阅。
提高日志记录详细程度。 使用 --debug 获取完整的调试日志。
az iot ops init
命令组“iot ops”处于预览状态,正在开发中。 参考和支持级别: https://aka.ms/CLI_refstatus
启动、配置 IoT 操作并将其部署到已启用 Arc 的目标群集。
有关其他资源,包括如何启用 Arc 的群集,请参阅 https://learn.microsoft.com/en-us/azure/iot-operations/deploy-iot-ops/howto-prepare-cluster
IoT 操作依赖于服务主体(SP),以便密钥库 CSI 驱动程序机密同步。
默认情况下,init 将通过 Microsoft Graph 创建和配置合适的应用注册,然后将其应用到群集。
可以通过预先创建应用注册来缩短此工作,然后为 --sp-app-id、-sp-object-id 和 --sp-secret 提供值。 通过提供 SP 字段,不会通过 Microsoft Graph 操作执行任何其他工作。
当登录主体具有约束的 Entra Id 权限时,预创建应用注册非常有用。 例如,在 CI/自动化方案中,或组织分离用户责任。
az iot ops init --cluster
--resource-group
[--add-insecure-listener {false, true}]
[--bfr]
[--bfw]
[--broker]
[--broker-authn]
[--broker-backend-part]
[--broker-backend-rf]
[--broker-backend-workers]
[--broker-config-file]
[--broker-listener]
[--broker-mem-profile {High, Low, Medium, Tiny}]
[--broker-service-type {ClusterIp, LoadBalancer, NodePort}]
[--ca-dir]
[--ca-file]
[--ca-key-file]
[--ca-valid-days]
[--cluster-namespace]
[--context]
[--csi-config]
[--csi-ver]
[--custom-location]
[--desc]
[--df-profile-instances]
[--disable-rotation {false, true}]
[--disable-rsync-rules {false, true}]
[--ensure-latest {false, true}]
[--kubernetes-distro {k3s, k8s, microk8s}]
[--kv-id]
[--kv-spc-secret-name]
[--location]
[--name]
[--no-block {false, true}]
[--no-deploy {false, true}]
[--no-progress {false, true}]
[--no-tls {false, true}]
[--rotation-int]
[--runtime-socket]
[--show-template {false, true}]
[--simulate-plc {false, true}]
[--sp-app-id]
[--sp-object-id]
[--sp-secret]
[--sp-secret-valid-days]
示例
完成设置的最小输入。 这包括密钥库配置、CSI 驱动程序部署、TLS 配置和 IoT 操作部署。
az iot ops init --cluster mycluster -g myresourcegroup --kv-id /subscriptions/2cb3a427-1abc-48d0-9d03-dd240819742a/resourceGroups/myresourcegroup/providers/Microsoft.KeyVault/vaults/mykeyvault
与前面的示例相同的设置,除了使用现有应用 ID 和标志来包括模拟 PLC 服务器作为部署的一部分。 包括应用 ID 将阻止 init 创建应用注册。
az iot ops init --cluster mycluster -g myresourcegroup --kv-id $KEYVAULT_ID --sp-app-id a14e216b-6802-4e9c-a6ac-844f9ffd230d --simulate-plc
若要跳过部署并仅专注于密钥库 CSI 驱动程序和 TLS 配置工作流,请简单传入 --no-deploy。 当希望从其他工具(如门户)进行部署时,这非常有用。
az iot ops init --cluster mycluster -g myresourcegroup --kv-id $KEYVAULT_ID --sp-app-id a14e216b-6802-4e9c-a6ac-844f9ffd230d --no-deploy
若要仅在已预装的群集上部署 IoT 操作,只需省略 --kv-id 并包括 --no-tls。
az iot ops init --cluster mycluster -g myresourcegroup --no-tls
在部署正在进行时使用 --no-block 执行其他工作,同时等待部署完成,然后再开始其他工作。
az iot ops init --cluster mycluster -g myresourcegroup --kv-id $KEYVAULT_ID --sp-app-id a14e216b-6802-4e9c-a6ac-844f9ffd230d --no-block
此示例演示如何为 --sp-app-id、-sp-object-id 和 --sp-secret 提供值。 这些值应反映将用于密钥库 CSI 驱动程序机密同步的所需服务主体。 请查看命令摘要以了解更多详细信息。
az iot ops init --cluster mycluster -g myresourcegroup --kv-id $KEYVAULT_ID --sp-app-id a14e216b-6802-4e9c-a6ac-844f9ffd230d --sp-object-id 224a7a3f-c63d-4923-8950-c4a85f0d2f29 --sp-secret $SP_SECRET
若要自定义 密钥库 CSI 驱动程序的运行时配置,可以使用 --csi-config。 例如,设置 telegraf 容器依赖项的资源限制。
az iot ops init --cluster mycluster -g myresourcegroup --kv-id $KEYVAULT_ID --sp-app-id a14e216b-6802-4e9c-a6ac-844f9ffd230d --csi-config telegraf.resources.limits.memory=500Mi telegraf.resources.limits.cpu=100m
必需参数
IoT 操作部署的目标群集名称。
资源组的名称。 可以使用 az configure --defaults group=<name>
配置默认组。
可选参数
启用 mqtt 中转站部署时,将包含绑定到端口 1883 且没有身份验证或 authZ 的侦听器。对于非生产工作负荷。
Mqtt 中转站前端副本。
Mqtt 中转站前端辅助角色。
mqtt 中转站名称。
mqtt broker authN 名称。
Mqtt 中转站后端分区。
Mqtt 中转站后端冗余因素。
Mqtt 中转站后端辅助角色。
包含自定义中转站配置属性的 json 文件的路径。 适用于高级方案。 预期格式在 https://aka.ms/aziotops-broker-config.
mqtt 中转站侦听器名称。
Mqtt Broker 内存配置文件。
Mqtt Broker 服务类型。
将放置生成的测试 CA 和私钥的本地目录。 如果未提供任何目录,则不会将文件写入磁盘。 如果未提供 --ca-file 和 --ca-key-file,则适用。
PEM 格式的所需 CA 文件的路径。
PEM 格式的 CA 私钥文件的路径。 !必填! 提供 --ca-file 时。
用于控制 init 生成的 x509 CA 的持续时间(以天为单位)的选项。 如果未提供 --ca-file 和 --ca-key-file,则适用。
群集命名空间 IoT 操作基础结构将部署到该基础结构。 必须为小写。
用于 k8s 群集通信的 Kubeconfig 上下文名称。 如果未current_context提供上下文。
CSI 驱动程序扩展自定义配置。 格式是空格分隔的键=值对。 --csi-config 可以一次或多次使用。
CSI 驱动程序扩展版本。
对应于 IoT 操作部署的自定义位置名称。 默认值为“{cluster_name}-{token}-ops-init-cl”。
IoT 操作实例的说明。
与默认数据流配置文件关联的实例计数。
用于禁用机密轮换的标志。
IoT 操作部署中不包含资源同步规则。
确保正在使用最新的 IoT Ops CLI,如果升级可用,则会引发错误。
用于 Akri 配置的 Kubernetes 发行版。 所选发行版表示未提供 --runtime-socket 值时的默认容器运行时套接字路径。
密钥库 ARM 资源 ID。提供此资源 ID 将使客户端能够设置所有必要的资源和群集端配置,以便为 IoT 操作启用 密钥库 CSI 驱动程序。
要用作默认 SPC 机密的密钥库机密名称。 如果该机密不存在,则会使用加密安全占位符值创建该机密。
将用于预配的 RPSaaS 抵押品的 ARM 位置。 如果未提供,将使用连接的群集位置。
IoT 操作实例名称。 默认值为“{cluster_name}-ops-instance”。
IoT 操作部署启动后立即返回。
将跳过 IoT 操作部署工作流。
禁用工作的视觉表示形式。
将跳过 TLS 配置工作流。
轮询间隔。
容器运行时套接字的默认节点路径。 如果未提供(默认值),则套接字路径由 --kubernetes-distro 决定。
设置时,将输出用于部署的模板。
设置时标记,将 OPC-UA 代理安装程序配置为启动 PLC 服务器。
服务主体应用 ID。如果提供,将用于 CSI 驱动程序设置。 否则,将创建应用注册。 如果登录的主体没有查询关系图的权限,则为必需 。
服务主体 (sp) 对象 ID。如果提供,将用于 CSI 驱动程序设置。 否则,将从应用 ID 查询对象 ID - 创建 sp(如果不存在)。 如果登录的主体没有查询关系图的权限,则为必需 。 用于 az ad sp show --id <app Id> --query id -o tsv
生成适当的对象 ID。或者,使用门户,可以导航到 Entra Id 租户中的企业应用程序。
与所提供的服务主体应用 ID 对应的机密。如果提供,将用于 CSI 驱动程序设置。 否则将创建一个新机密。 如果登录的主体没有查询关系图的权限,则为必需 。
用于控制 init 生成的服务主体机密的持续时间(以天为单位)的选项。 如果未提供 --sp-secret,则适用。
全局参数
提高日志记录详细程度以显示所有调试日志。
显示此帮助消息并退出。
只显示错误,取消显示警告。
输出格式。
JMESPath 查询字符串。 有关更多信息和示例,请参阅 http://jmespath.org/。
订阅的名称或 ID。 可以使用 az account set -s NAME_OR_ID
配置默认订阅。
提高日志记录详细程度。 使用 --debug 获取完整的调试日志。
az iot ops list
命令组“iot ops”处于预览状态,正在开发中。 参考和支持级别: https://aka.ms/CLI_refstatus
列出 IoT 操作实例。
使用具有所需 JMESPath 语法的 --query 查询结果。
az iot ops list [--resource-group]
示例
列出订阅中的所有实例。
az iot ops list
列出特定资源组的所有实例。
az iot ops list -g myresourcegroup
列出订阅中具有特定标记值的实例。
az iot ops list -g myresourcegroup --query "[?tags.env == 'prod']"
可选参数
资源组的名称。 可以使用 az configure --defaults group=<name>
配置默认组。
全局参数
提高日志记录详细程度以显示所有调试日志。
显示此帮助消息并退出。
只显示错误,取消显示警告。
输出格式。
JMESPath 查询字符串。 有关更多信息和示例,请参阅 http://jmespath.org/。
订阅的名称或 ID。 可以使用 az account set -s NAME_OR_ID
配置默认订阅。
提高日志记录详细程度。 使用 --debug 获取完整的调试日志。
az iot ops show
命令组“iot ops”处于预览状态,正在开发中。 参考和支持级别: https://aka.ms/CLI_refstatus
显示 IoT 操作实例。
(可选)该命令可以输出表示针对支持群集的 IoT 操作部署的关联资源的树结构。
az iot ops show --name
--resource-group
[--tree {false, true}]
示例
显示实例的基本用法。
az iot ops show --name myinstance -g myresourcegroup
输出表示 IoT 操作部署的关联资源的树结构。
az iot ops show --name myinstance -g myresourcegroup --tree
必需参数
IoT 操作实例名称。
资源组的名称。 可以使用 az configure --defaults group=<name>
配置默认组。
可选参数
用于可视化针对支持群集的 IoT 操作部署。
全局参数
提高日志记录详细程度以显示所有调试日志。
显示此帮助消息并退出。
只显示错误,取消显示警告。
输出格式。
JMESPath 查询字符串。 有关更多信息和示例,请参阅 http://jmespath.org/。
订阅的名称或 ID。 可以使用 az account set -s NAME_OR_ID
配置默认订阅。
提高日志记录详细程度。 使用 --debug 获取完整的调试日志。
az iot ops update
命令组“iot ops”处于预览状态,正在开发中。 参考和支持级别: https://aka.ms/CLI_refstatus
更新 IoT 操作实例。
当前可以更新实例标记和说明。
az iot ops update --name
--resource-group
[--desc]
[--tags]
示例
更新实例标记。 这相当于替换。
az iot ops update --name myinstance -g myresourcegroup --tags a=b c=d
删除实例标记。
az iot ops update --name myinstance -g myresourcegroup --tags ""
更新实例说明。
az iot ops update --name myinstance -g myresourcegroup --desc "Fabrikam Widget Factory B42"
必需参数
IoT 操作实例名称。
资源组的名称。 可以使用 az configure --defaults group=<name>
配置默认组。
可选参数
IoT 操作实例的说明。
实例标记。 采用以下格式的键值对中的属性包:a=b c=d。
全局参数
提高日志记录详细程度以显示所有调试日志。
显示此帮助消息并退出。
只显示错误,取消显示警告。
输出格式。
JMESPath 查询字符串。 有关更多信息和示例,请参阅 http://jmespath.org/。
订阅的名称或 ID。 可以使用 az account set -s NAME_OR_ID
配置默认订阅。
提高日志记录详细程度。 使用 --debug 获取完整的调试日志。
az iot ops verify-host
命令组“iot ops”处于预览状态,正在开发中。 参考和支持级别: https://aka.ms/CLI_refstatus
针对 IoT 操作部署兼容性运行一组群集主机验证。
旨在直接在目标群集主机上运行。 该命令可能会提示应用一组特权操作,例如安装依赖项。 在这种情况下,必须使用提升的权限运行 CLI。 例如,sudo AZURE_EXTENSION_DIR=~/.azure/cliextensions az iot ops verify-host
。
az iot ops verify-host [--no-progress {false, true}]
可选参数
禁用工作的视觉表示形式。
全局参数
提高日志记录详细程度以显示所有调试日志。
显示此帮助消息并退出。
只显示错误,取消显示警告。
输出格式。
JMESPath 查询字符串。 有关更多信息和示例,请参阅 http://jmespath.org/。
订阅的名称或 ID。 可以使用 az account set -s NAME_OR_ID
配置默认订阅。
提高日志记录详细程度。 使用 --debug 获取完整的调试日志。