你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
az iot edge deployment
注意
此参考是 Azure CLI(版本 2.46.0 或更高版本)的 azure-iot 扩展的一部分。 该扩展将在首次运行 az iot edge deployment 命令时自动安装。 详细了解扩展。
大规模管理 IoT Edge 部署。
命令
名称 | 说明 | 类型 | Status |
---|---|---|---|
az iot edge deployment create |
在目标IoT 中心中创建 IoT Edge 部署。 |
扩展 | GA |
az iot edge deployment delete |
删除 IoT Edge 部署。 |
扩展 | GA |
az iot edge deployment list |
列出IoT 中心中的 IoT Edge 部署。 |
扩展 | GA |
az iot edge deployment show |
获取 IoT Edge 部署的详细信息。 |
扩展 | GA |
az iot edge deployment show-metric |
评估 IoT Edge 部署中定义的目标系统指标。 |
扩展 | GA |
az iot edge deployment update |
更新 IoT Edge 部署的指定属性。 |
扩展 | GA |
az iot edge deployment create
在目标IoT 中心中创建 IoT Edge 部署。
部署内容为 json,格式为 {“modulesContent”:{...}} 或 {“content”:{“modulesContent”:{...}}}。
默认情况下,系统模块的属性$edgeAgent和$edgeHub根据随 IoT 扩展一起安装的架构进行验证。 此验证适用于基本部署。 如果相应的架构不可用或未检测到基本部署格式,将跳过此步骤。 可以使用 --no-validation 开关禁用架构验证。
如果模块定义了 properties.desired.*,则边缘部署被归类为分层部署。 任何以分层部署为目标的边缘设备,首先需要应用基础部署。
面向设备的任何分层部署的优先级必须高于该设备的基本部署。
注意:如果在分层部署中设置了模块孪生的 properties.desired 字段,properties.desired 将在任何较低优先级的部署中覆盖该模块的所需属性。
az iot edge deployment create --content
--deployment-id
[--auth-type {key, login}]
[--cl]
[--cmq]
[--hub-name]
[--lab]
[--layered {false, true}]
[--login]
[--metrics]
[--no-validation {false, true}]
[--pri]
[--resource-group]
[--target-condition]
示例
使用标签(bash 语法示例)创建部署,该示例适用于“building 9”中的设备,环境为“test”。
az iot edge deployment create -d {deployment_name} -n {iothub_name} --content ./modules_content.json --labels '{"key0":"value0", "key1":"value1"}' --target-condition "tags.building=9 and tags.environment='test'" --priority 3
使用标签(powershell 语法示例)创建一个部署,该示例适用于使用环境“dev”标记的设备。
az iot edge deployment create -d {deployment_name} -n {iothub_name} --content ./modules_content.json --labels "{'key':'value'}" --target-condition "tags.environment='dev'"
创建适用于使用环境“dev”标记的设备的分层部署。 内联定义的用户指标和模块内容(powershell 语法示例)。 请注意,这是分层部署格式,因为 properties.desired.* 已定义。
az iot edge deployment create -d {deployment_name} -n {iothub_name} --content "{'modulesContent':{'`$edgeAgent':{
'properties.desired.modules.mymodule0':{ }},'`$edgeHub':{'properties.desired.routes.myroute0':'FROM /messages/* INTO `$upstream'}}}"
--target-condition "tags.environment='dev'" --priority 10 --metrics "{'queries':{'mymetrik':'SELECT deviceId from devices where properties.reported.lastDesiredStatus.code = 200'}}"
创建适用于“building 9”和环境“test”中的设备的分层部署。 内联定义的用户指标和模块内容(bash 语法示例)。 请注意,这是分层部署格式,因为 properties.desired.* 已定义。
az iot edge deployment create -d {deployment_name} -n {iothub_name} --content '{"modulesContent":{"$edgeAgent":{"properties.desired.modules.mymodule0":{ }},"$edgeHub":{"properties.desired.routes.myroute0":"FROM /messages/* INTO $upstream"}}}' --target-condition "tags.building=9 and tags.environment='test'" --metrics '{"queries":{"mymetrik":"SELECT deviceId from devices where properties.reported.lastDesiredStatus.code = 200"}}'
创建适用于“生成 9”和环境“test”中的设备的部署。 从文件定义的用户指标和模块内容。
az iot edge deployment create -d {deployment_name} -n {iothub_name} --content ./modules_content.json --target-condition "tags.building=9 and tags.environment='test'" --metrics ./metrics_content.json
创建一个部署,其定义来自具有不区分 shell 的标签和指标输入的文件。
az iot edge deployment create -d {deployment_name} -n {iothub_name} --content ./modules_content.json --target-condition "tags.building=9 and tags.environment='test'" --custom-labels key0=value0 key1=value1 --custom-metric-queries mymetric1="select deviceId from devices where tags.location='US'" mymetric2="select *"
必需参数
IoT Edge 部署内容。 提供文件路径或原始 json。
目标部署名称。 允许小写和以下特殊字符:[-+%_*!']。
可选参数
指示操作是应自动派生策略密钥还是使用当前的 Azure AD 会话。 如果身份验证类型为登录,并且提供资源主机名,则除非需要,否则将跳过资源查找。可以使用 < a0/a0> 配置默认值 az configure --defaults iothub-data-auth-type=<auth-type-value>
。
--labels 的替代输入样式(空格分隔键=值对),并打算在未来替换它。 格式示例:key1=value1 key2=“this is my value”。
用于 --metrics 的替代输入样式(空格分隔键=值对),并打算在未来替换它。 格式示例:metric1=“select deviceId from devices where tags.location='US'” metric2=“select *”。
IoT 中心名称或主机名。 如果未提供 --login,则为必需。
要应用于目标部署的标签映射。 使用以下格式:“{”key0“:”value0“,”key1“:”value1“}”。 建议使用 --custom-labels 而不是 --labels。
分层部署允许在$edgeAgent、$edgeHub和用户模块中定义所需的属性,这些属性将分层在基本部署之上。 分层部署中指定的属性将与基本部署的属性合并。 将基于部署优先级覆盖具有相同路径的属性。 此选项是 --no-validation 的别名。
此命令支持具有执行操作权限的实体连接字符串。 用于避免通过“az login”进行会话登录。 如果同时提供实体连接字符串和名称,则连接字符串优先。 如果未提供 --hub-name,则为必需。
IoT Edge 部署用户指标定义。 提供文件路径或原始 json。 用户指标采用 {“queries”:{...}} 的形式 或 {“metrics”:{“queries”:{...}}}。 建议使用 --custom-metric-queries 而不是 --metrics。
禁用边缘部署创建的客户端架构验证。
在竞争规则(最高胜利)的情况下部署的权重。
资源组的名称。 可以使用 az configure --defaults group=<name>
配置默认组。
边缘部署应用于的目标条件。 没有目标条件的部署不会面向任何设备。 使用以下格式:“tags.environment='test'”。
全局参数
提高日志记录详细程度以显示所有调试日志。
显示此帮助消息并退出。
只显示错误,取消显示警告。
输出格式。
JMESPath 查询字符串。 有关更多信息和示例,请参阅 http://jmespath.org/。
订阅的名称或 ID。 可以使用 az account set -s NAME_OR_ID
配置默认订阅。
提高日志记录详细程度。 使用 --debug 获取完整的调试日志。
az iot edge deployment delete
删除 IoT Edge 部署。
az iot edge deployment delete --deployment-id
[--auth-type {key, login}]
[--etag]
[--hub-name]
[--login]
[--resource-group]
必需参数
目标部署名称。 允许小写和以下特殊字符:[-+%_*!']。
可选参数
指示操作是应自动派生策略密钥还是使用当前的 Azure AD 会话。 如果身份验证类型为登录,并且提供资源主机名,则除非需要,否则将跳过资源查找。可以使用 < a0/a0> 配置默认值 az configure --defaults iothub-data-auth-type=<auth-type-value>
。
对应于资源最后状态的 Etag 或实体标记。 如果未提供 etag,则使用值“*”。
IoT 中心名称或主机名。 如果未提供 --login,则为必需。
此命令支持具有执行操作权限的实体连接字符串。 用于避免通过“az login”进行会话登录。 如果同时提供实体连接字符串和名称,则连接字符串优先。 如果未提供 --hub-name,则为必需。
资源组的名称。 可以使用 az configure --defaults group=<name>
配置默认组。
全局参数
提高日志记录详细程度以显示所有调试日志。
显示此帮助消息并退出。
只显示错误,取消显示警告。
输出格式。
JMESPath 查询字符串。 有关更多信息和示例,请参阅 http://jmespath.org/。
订阅的名称或 ID。 可以使用 az account set -s NAME_OR_ID
配置默认订阅。
提高日志记录详细程度。 使用 --debug 获取完整的调试日志。
az iot edge deployment list
列出IoT 中心中的 IoT Edge 部署。
az iot edge deployment list [--auth-type {key, login}]
[--hub-name]
[--login]
[--resource-group]
[--top]
可选参数
指示操作是应自动派生策略密钥还是使用当前的 Azure AD 会话。 如果身份验证类型为登录,并且提供资源主机名,则除非需要,否则将跳过资源查找。可以使用 < a0/a0> 配置默认值 az configure --defaults iothub-data-auth-type=<auth-type-value>
。
IoT 中心名称或主机名。 如果未提供 --login,则为必需。
此命令支持具有执行操作权限的实体连接字符串。 用于避免通过“az login”进行会话登录。 如果同时提供实体连接字符串和名称,则连接字符串优先。 如果未提供 --hub-name,则为必需。
资源组的名称。 可以使用 az configure --defaults group=<name>
配置默认组。
要返回的最大部署数。 默认情况下,返回所有部署。
全局参数
提高日志记录详细程度以显示所有调试日志。
显示此帮助消息并退出。
只显示错误,取消显示警告。
输出格式。
JMESPath 查询字符串。 有关更多信息和示例,请参阅 http://jmespath.org/。
订阅的名称或 ID。 可以使用 az account set -s NAME_OR_ID
配置默认订阅。
提高日志记录详细程度。 使用 --debug 获取完整的调试日志。
az iot edge deployment show
获取 IoT Edge 部署的详细信息。
az iot edge deployment show --deployment-id
[--auth-type {key, login}]
[--hub-name]
[--login]
[--resource-group]
必需参数
目标部署名称。 允许小写和以下特殊字符:[-+%_*!']。
可选参数
指示操作是应自动派生策略密钥还是使用当前的 Azure AD 会话。 如果身份验证类型为登录,并且提供资源主机名,则除非需要,否则将跳过资源查找。可以使用 < a0/a0> 配置默认值 az configure --defaults iothub-data-auth-type=<auth-type-value>
。
IoT 中心名称或主机名。 如果未提供 --login,则为必需。
此命令支持具有执行操作权限的实体连接字符串。 用于避免通过“az login”进行会话登录。 如果同时提供实体连接字符串和名称,则连接字符串优先。 如果未提供 --hub-name,则为必需。
资源组的名称。 可以使用 az configure --defaults group=<name>
配置默认组。
全局参数
提高日志记录详细程度以显示所有调试日志。
显示此帮助消息并退出。
只显示错误,取消显示警告。
输出格式。
JMESPath 查询字符串。 有关更多信息和示例,请参阅 http://jmespath.org/。
订阅的名称或 ID。 可以使用 az account set -s NAME_OR_ID
配置默认订阅。
提高日志记录详细程度。 使用 --debug 获取完整的调试日志。
az iot edge deployment show-metric
评估 IoT Edge 部署中定义的目标系统指标。
az iot edge deployment show-metric --deployment-id
--metric-id
[--auth-type {key, login}]
[--hub-name]
[--login]
[--metric-type {system, user}]
[--resource-group]
示例
评估“appliedCount”系统指标
az iot edge deployment show-metric -m appliedCount -d {deployment_name} -n {iothub_name} --mt system
评估“myCustomMetric”用户指标
az iot edge deployment show-metric -m myCustomMetric -d {deployment_name} -n {iothub_name}
必需参数
目标部署名称。 允许小写和以下特殊字符:[-+%_*!']。
用于评估的目标指标。
可选参数
指示操作是应自动派生策略密钥还是使用当前的 Azure AD 会话。 如果身份验证类型为登录,并且提供资源主机名,则除非需要,否则将跳过资源查找。可以使用 < a0/a0> 配置默认值 az configure --defaults iothub-data-auth-type=<auth-type-value>
。
IoT 中心名称或主机名。 如果未提供 --login,则为必需。
此命令支持具有执行操作权限的实体连接字符串。 用于避免通过“az login”进行会话登录。 如果同时提供实体连接字符串和名称,则连接字符串优先。 如果未提供 --hub-name,则为必需。
指示应使用哪个指标集合查找指标。
资源组的名称。 可以使用 az configure --defaults group=<name>
配置默认组。
全局参数
提高日志记录详细程度以显示所有调试日志。
显示此帮助消息并退出。
只显示错误,取消显示警告。
输出格式。
JMESPath 查询字符串。 有关更多信息和示例,请参阅 http://jmespath.org/。
订阅的名称或 ID。 可以使用 az account set -s NAME_OR_ID
配置默认订阅。
提高日志记录详细程度。 使用 --debug 获取完整的调试日志。
az iot edge deployment update
更新 IoT Edge 部署的指定属性。
使用 --set 后跟属性分配来更新部署。
注意:IoT Edge 部署内容是不可变的。 可更新的部署属性是“标签”、“指标”、“优先级”和“targetCondition”。
az iot edge deployment update --deployment-id
[--add]
[--auth-type {key, login}]
[--etag]
[--force-string]
[--hub-name]
[--login]
[--remove]
[--resource-group]
[--set]
示例
更改现有边缘部署的标签和目标条件
az iot edge deployment update -d {deployment_name} -n {iothub_name} --set labels='{"purpose":"dev", "owners":"IoTEngineering"}' targetCondition='tags.building=9'
必需参数
目标部署名称。 允许小写和以下特殊字符:[-+%_*!']。
可选参数
通过指定路径和键值对将对象添加到对象列表。 示例:--add property.listProperty <key=value, string or JSON string>
。
指示操作是应自动派生策略密钥还是使用当前的 Azure AD 会话。 如果身份验证类型为登录,并且提供资源主机名,则除非需要,否则将跳过资源查找。可以使用 < a0/a0> 配置默认值 az configure --defaults iothub-data-auth-type=<auth-type-value>
。
对应于资源最后状态的 Etag 或实体标记。 如果未提供 etag,则使用值“*”。
使用“set”或“add”时,保留字符串文本,而不是尝试转换为 JSON。
IoT 中心名称或主机名。 如果未提供 --login,则为必需。
此命令支持具有执行操作权限的实体连接字符串。 用于避免通过“az login”进行会话登录。 如果同时提供实体连接字符串和名称,则连接字符串优先。 如果未提供 --hub-name,则为必需。
从列表中删除属性或元素。 示例: --remove property.list <indexToRemove>
OR --remove propertyToRemove
.
资源组的名称。 可以使用 az configure --defaults group=<name>
配置默认组。
通过指定要设置的属性路径和值来更新对象。 示例:--set property1.property2=<value>
。
全局参数
提高日志记录详细程度以显示所有调试日志。
显示此帮助消息并退出。
只显示错误,取消显示警告。
输出格式。
JMESPath 查询字符串。 有关更多信息和示例,请参阅 http://jmespath.org/。
订阅的名称或 ID。 可以使用 az account set -s NAME_OR_ID
配置默认订阅。
提高日志记录详细程度。 使用 --debug 获取完整的调试日志。