Azure CLI查询JMESPATH再加上一个表达式

问题描述 投票:0回答:1

我正在尝试列出我的帐户在Azure云提供商内部的特定资源组中的所有非托管磁盘,这些磁盘没有特定标签,但查询部分存在问题。

上面的命令列出了所有非托管磁盘:

az disk list -g $rgName --query [?managedBy=='null'].name -o tsv

[上面编写命令时,我没有任何输出(尽管我有没有标签的非托管磁盘。动作等于'ToDelete':

az disk list -g $rgName --query "[?(managedBy=='null') && (tags.Action!='ToDelete')].name" -o tsv

谢谢您的帮助:)

azure devops azure-cli jmespath
1个回答
0
投票

使用Azure CLI使用JMESPath可能很难做到这一点。您可以改用PowerShell从ConvertFrom-Json

中反序列化JSON输出。
$json = az disk list | ConvertFrom-Json

然后用Where-Object过滤属性:

$json | Where-Object {$_.tags -eq $null -and $_.tags.Action -ne 'ToDelete'}
© www.soinside.com 2019 - 2024. All rights reserved.