rca*_*ton 2 azure-cli jmespath
我正在使用 Azure CLI 获取 vnet 对等互连列表:az network vnet peering list. 这将返回以下结构的 json:
[
{
...
"name": "prefix1-name",
...
},
{
...
"name": "prefix2-name",
...
}
]
Run Code Online (Sandbox Code Playgroud)
我正在尝试按以某个前缀开头的名称过滤结果。我尝试了以下各种组合:
az network vnet peering list --resource-group my-rg --vnet-name my-vnet --query "[?starts_with(name,'prefix1-')].{name}"
但是这总是失败并显示类似].{name} was unexpected at this time.
我错过了什么?
尝试使用az network vnet peering list --resource-group my-rg --vnet-name my-vnet --query "[?starts_with(name,'prefix1-')].name". 您不需要{}在name. 这对我有用。
编辑
对于错误消息,我可以在 Windows 10 机器上本地使用 PowerShell 中的这些 Azure CLI 命令重现它。但这并没有像上面的截图那样出现在我本地的Linux Bash Shell中。此错误也不会出现在 Azure 云外壳中的 PowerShell 和 Bash 上。
通过我的验证,它看起来像是本地 PowerShell 上的特定场景。当您使用 JMESPath 进行过滤时,我只是尝试了该函数starts_with或contains函数之间需要一个空格,它的工作方式如下:
--query "[?starts_with(name, 'vnet')].name"
--query "[?starts_with (name,'vnet')].name"
--query "[?starts_with(name,'vnet') ].name"
--query "[?starts_with(name,'vnet')] .name"
但这不起作用,如下所示。
--query "[?starts_with(name,'vnet')].name"
| 归档时间: |
|
| 查看次数: |
2198 次 |
| 最近记录: |