GitBash执行az monitor diagnostic-settings create命令报错求助
GitBash执行Azure CLI诊断设置命令报错的解决方法
问题描述
已完成az login和az account set订阅设置,在Azure CLI中直接执行存储账户诊断设置创建命令成功,但在GitBash中执行时报错:
?[91musage error: --resource ID | --resource NAME --resource-group NAME --resource-type TYPE [--resource-parent PARENT] [--resource-namespace NAMESPACE]?[0m
执行的命令:
az monitor diagnostic-settings create --resource /subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/resource-jumpbox/providers/Microsoft.Storage/storageAccounts/teststorage --name cafsmpso-diagnostics --metrics '[{"category": "AllMetrics","enabled": true}]' --event-hub-rule /subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/eventhub-recsourcegroup/providers/Microsoft.EventHub/namespaces/eventhub/authorizationrules/RootManageSharedAccessKey --event-hub csc-logi-prd-neu-eventhub-ns
问题根源
GitBash的shell会解析命令中的引号与特殊字符,导致--metrics参数的JSON内容未被完整传递给Azure CLI,引发参数解析混乱,进而误报--resource参数格式错误。
解决方法
方法1:转义引号
将--metrics的JSON内容用双引号包裹,内部双引号添加反斜杠转义,确保GitBash完整传递参数:
az monitor diagnostic-settings create --resource /subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/resource-jumpbox/providers/Microsoft.Storage/storageAccounts/teststorage --name cafsmpso-diagnostics --metrics "[{\"category\": \"AllMetrics\",\"enabled\": true}]" --event-hub-rule /subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/eventhub-recsourcegroup/providers/Microsoft.EventHub/namespaces/eventhub/authorizationrules/RootManageSharedAccessKey --event-hub csc-logi-prd-neu-eventhub-ns
方法2:使用文件传递JSON(推荐脚本场景)
- 创建
metrics.json文件,写入以下内容:
[{"category": "AllMetrics","enabled": true}]
- 执行命令时通过
@文件名传递参数:
az monitor diagnostic-settings create --resource /subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/resource-jumpbox/providers/Microsoft.Storage/storageAccounts/teststorage --name cafsmpso-diagnostics --metrics @metrics.json --event-hub-rule /subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/eventhub-recsourcegroup/providers/Microsoft.EventHub/namespaces/eventhub/authorizationrules/RootManageSharedAccessKey --event-hub csc-logi-prd-neu-eventhub-ns
内容的提问来源于stack exchange,提问作者Makabas
相关产品推荐
相关产品推荐

