我尝试仅提取此 AZ CLI 查询结果的路径部分:
az network application-gateway show --query urlPathMaps --resource-group dev-aag --name dev-aag-gateway
我不确定是否应该改用 az network application-gateway list
这是第一个查询的结果,但是我无法仅提取路径部分 - 这是因为路径 是嵌套的吗?
"backendAddressPool": {
"id": "/subscriptions/42xxxxxxxxxxxxxxxxxxxxxxx/resourceGroups/dev-aag/providers/Microsoft.Network/applicationGateways/dev-aag-gateway/backendAddressPools/co20225020a-backend-pool",
"resourceGroup": "dev-aag"
},
"backendHttpSettings": {
"id": "/subscriptions/42xxxxxxxxxxxxxxxxxxxxxxx/resourceGroups/dev-aag/providers/Microsoft.Network/applicationGateways/dev-aag-gateway/backendHttpSettingsCollection/dev-aag-httpsetting",
"resourceGroup": "dev-aag"
},
"etag": "W/\"9f2d3xxc-2cbd-49fr-8726-432c7ef00de7\"",
"firewallPolicy": null,
"id": "/subscriptions/42xxxxxxxxxxxxxxxxxxxxxxx/resourceGroups/dev-aag/providers/Microsoft.Network/applicationGateways/dev-aag-gateway/urlPathMaps/dev-aag-https-routing-rule/pathRules/co20225020a-cqvgkj9xxxxx9bcu-url",
"loadDistributionPolicy": null,
"name": "co20225020a-cqvgkj9xxxxx9bcu-url",
"paths": [
"/co20225020a/cqvgkj9xxxxx9bcu/*"
],
"provisioningState": "Succeeded",
"redirectConfiguration": null,
"resourceGroup": "dev-aag",
"rewriteRuleSet": null,
"type": "Microsoft.Network/applicationGateways/urlPathMaps/pathRules"
}
我正在尝试像这样使用 grep 和 cut,但也许我应该使用其他东西:
az 网络应用程序网关显示 --query urlPathMaps --resource-group dev-aag --name dev-aag-gateway | grep 路径 |切-d“:”-f1-19
我应该使用什么来完成这项工作?
最佳答案
az network application-gateway list
-->如果您想要列出特定订阅下的所有应用程序网关,则可以使用。az network application-gateway show
--> 如果您想要提取特定应用网关的属性,则应使用。
有关 Azure CLI application gateway cmdlets 的更多信息,请参阅本文.
要在 pathRules 中的 urlPathMaps 下提取 path
列表,您需要在 az 网络应用程序中使用以下 JMESPath 查询 - gateway show
cmdlet。
az network application-gateway show -n <AppGatewayName> -g <ResourceGroupName> --query urlPathMaps[].pathRules[].paths
我已经在 Azure Cloud shell 中对此进行了测试,它工作正常,我建议您也从您的端进行验证。
**这是示例输出屏幕截图供引用:**
关于json - 嵌套 json 的 Azure JMESPATH 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74160040/