如何使用Azure CLI获取资源组名称(使用模式匹配)

37次阅读
没有评论

问题描述

想要获取以“***kafka”结尾的资源名称。他已经将az账户设置为当前订阅,但不知道如何实现。他尝试使用az group list -n '***kafka'命令,但遇到了验证错误。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

你可以使用PowerShell将json输出转换为适当的对象,然后选择所需的属性。以下是一种实现方法:
1. 打开PowerShell。
2. 运行以下命令获取资源组列表的json输出:

$groups = az group list --output json
  1. 使用以下命令将json转换为PowerShell对象:
$groupsObject = ConvertFrom-Json $groups
  1. 使用以下命令选择以“***kafka”结尾的资源组名称:
$filteredGroups = $groupsObject | Where-Object { $_.name -like "*kafka" } | Select-Object -ExpandProperty name

现在,$filteredGroups变量将包含以“***kafka”结尾的资源组名称。

方案2

你可以使用Azure CLI的--query全局参数来过滤输出结果。以下是一种实现方法:
1. 打开命令行终端。
2. 运行以下命令获取以“***kafka”结尾的资源组名称:

az group list --query "[?contains(name,'kafka')].name"

这将返回一个包含以“***kafka”结尾的资源组名称的列表。
请注意,如果你使用的是PowerShell 6.2之前的版本,可能会遇到一个问题。你可以参考相关问题链接了解更多信息。

powershell –query error #9047

正文完