azure - 使用 az-cli 查询未按预期运行

标签 azure azure-cli azure-cli2

我目前正在尝试过滤特定标签包含值匹配的位置,但是az资源列表--query“”似乎不喜欢我在做什么。

我正在执行的示例如下:

az resource list \
--resource-group "${resource_group}" \
--location "${location}" \
--query "[?contains(tags.Schedule, 'NOT_SET')].name

根据上面的内容,您可以看到资源上有一个名为 Schedule 的标签,我正在尝试识别哪些 Azure 资源的标签值为 NOT_SET >.

当不尝试在不是子对象的输入数据上使用 contains 函数时,这种方法效果非常好,例如以下效果非常好:

az resource list \
--resource-group "${resource_group}" \
--location "${location}" \
--query "[?contains(name, 'myvm')].name

我已经浏览了 JMESPath 文档,该文档没有显示我在这里处理的特定情况。另外,在谷歌上进行了一些搜索,发现了一些可能性,例如; Azure Citadel - CLI 2.0 JMESPATH ,它确实给出了不同类型查询的示例

az vm list --show-details --output json --query "[?ends_with(storageProfile.osDisk.managedDisk.storageAccountType, 'LRS')]"

这实际上有效,但它位于 az vm list 上,而不是我正在查询的 az resources list 上。

任何额外的见解或正确方向的指示将不胜感激

最佳答案

在示例中添加符号 [ ] 后,您可以按预期运行命令。正确的话应该是这样的:

az resource list \
--resource-group "${resource_group}" \
--location "${location}" \
--query "[?contains([tags.Schedule], 'NOT_SET')].name"

我实验室的输出如下:

enter image description here

关于azure - 使用 az-cli 查询未按预期运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51356596/

相关文章:

docker - 无法在 MacOS 上运行 az acr check-health 命令

azure - 从虚拟网络内访问 Azure 表

sql - 如何将 Power BI 连接到 Azure VNET 上的 Azure SQL 托管实例?

azure-cli - JMESPath 从列表中提取原始值

azure - 在 Azure 中获取 CosmosDB 的连接字符串时出现问题

azure - 在没有 root 访问权限的情况下在 Ubuntu 上安装 Azure CLI 的替代方法有哪些?

mysql - 当azure cloud shell工作时使用workbench访问Azure MySQL数据库

c# - Redis - 通过一些 "key"获取单个元素

azure - 无法将 key 添加到 Azure key-Vault 支持的 Databricks 范围