You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure CLI中处理包含哈希符号(#)的资源ID问题

这确实是Azure CLI在处理包含URL特殊字符的资源ID时出现的问题,并非这些证书是废弃资源。让我拆解下原因和解决办法:

问题根源

哈希符号#在URL中是锚点标识符,当Azure CLI把带#的资源ID传递给Azure REST API时,#后面的部分会被HTTP客户端当作锚点截断,没有实际发送到API服务器。这就导致API收到的资源路径不完整,无法识别对应的资源类型,进而抛出MissingApiVersionParameter错误(这个错误提示有点误导人,本质是资源路径无效)。

解决办法

你可以通过以下几种方式正确处理这类资源:

1. 手动URL编码资源ID中的#

把资源ID里的每个#替换成URL编码值%23,再执行az resource show命令。比如你之前的示例命令修改后:

$p = '/subscriptions/deadbeef-2021-4b7b-988c-abcdabcdabcd/resourceGroups/testrg/providers/Microsoft.Web/certificates'
az resource show --subscription $subs --ids "$p/018B8D7BEAEB68E5A074B61434030D42CD46E3E2%23%23West Europe%23"

2. 批量处理时自动编码资源ID

如果要批量查询所有证书,你可以在脚本中对az resource list返回的ID进行URL编码后再传递。这里提供两种常用环境的实现:

PowerShell
$subs = "your-subscription-id"
$rg = "testrg"

az resource list --subscription $subs --resource-group $rg --resource-type Microsoft.Web/certificates --query '[].id' --output tsv | ForEach-Object {
    $encodedId = [Uri]::EscapeDataString($_)
    az resource show --subscription $subs --ids $encodedId
}
Bash
subs="your-subscription-id"
rg="testrg"

az resource list --subscription $subs --resource-group $rg --resource-type Microsoft.Web/certificates --query '[].id' --output tsv | while read -r id; do
    encoded_id=$(python3 -c "import urllib.parse; print(urllib.parse.quote('$id'))")
    az resource show --subscription $subs --ids "$encoded_id"
done

3. 绕过--ids参数,用资源名称查询

另一种更简单的方式是直接用资源名称、资源组和类型来查询,完全避开带特殊字符的ID:

subs="your-subscription-id"
rg="testrg"

az resource list --subscription $subs --resource-group $rg --resource-type Microsoft.Web/certificates --query '[].name' --output tsv | while read -r name; do
    az resource show --subscription $subs --resource-group $rg --resource-type Microsoft.Web/certificates --name "$name"
done

关于这些证书资源

带#的证书并非废弃资源,它们大概率是早期Azure App Service自动生成的证书(比如旧版的托管证书、或者与Web空间绑定的证书),只是命名规则包含了特殊字符。只要能正常查询到详情,就说明资源是有效的,可以正常使用。

内容的提问来源于stack exchange,提问作者Palec

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 07:17:39