When inspecting certificate resources during a cleanup preparation, I came across several ones whose resource ID contains a hash character (#
). When I tried getting their details, Azure CLI failed.
az resource show --subscription $subs --ids `
$(az resource list --subscription $subs --resource-group $rg `
--resource-type Microsoft.Web/certificates --query '[].id' --output tsv)
(MissingApiVersionParameter) The api-version query parameter (?api-version=) is required for all requests.
The inner command gives this list:
/subscriptions/deadbeef-2021-4b7b-988c-abcdabcdabcd/resourceGroups/testrg/prodivers/Microsoft.Web/certificates/018B8D7BEAEB68E5A074B61434030D42CD46E3E2##West Europe#
/subscriptions/deadbeef-2021-4b7b-988c-abcdabcdabcd/resourceGroups/testrg/providers/Microsoft.Web/certificates/2B1CA607A52CBDC62716009CF13DEDFA859B72D2#testrg-WestEuropewebspace
/subscriptions/deadbeef-2021-4b7b-988c-abcdabcdabcd/resourceGroups/testrg/providers/Microsoft.Web/certificates/59BB3E72F7281D7FCACF7B8A8DDB3D23FE0BF09E##West Europe#
/subscriptions/deadbeef-2021-4b7b-988c-abcdabcdabcd/resourceGroups/testrg/providers/Microsoft.Web/certificates/81295C08FF441A0CA954B04E58A06991472468E1##West Europe#
/subscriptions/deadbeef-2021-4b7b-988c-abcdabcdabcd/resourceGroups/testrg/providers/Microsoft.Web/certificates/B9E64EDE44DC848B39CC6872BD310B6BEF070FC9-testrg-WestEuropewebspace
/subscriptions/deadbeef-2021-4b7b-988c-abcdabcdabcd/resourceGroups/testrg/providers/Microsoft.Web/certificates/some.domain.cz-003090D185A4A57C83E4F1E664EB12C7143D5CB1
/subscriptions/deadbeef-2021-4b7b-988c-abcdabcdabcd/resourceGroups/testrg/providers/Microsoft.Web/certificates/F660F6675F0943D93F2780A9F65B48147A375913-testrg-WestEuropewebspace
/subscriptions/deadbeef-2021-4b7b-988c-abcdabcdabcd/resourceGroups/testrg/providers/Microsoft.Web/certificates/some-test.domain.com-1B856146B6287E8D0D68C98E9A66B7D23A969762
/subscriptions/deadbeef-2021-4b7b-988c-abcdabcdabcd/resourceGroups/testrg/providers/Microsoft.Web/certificates/some-test.domain.com-B2FBC6E5DD564B6762FF34EA1A8C1C432A2B7510
When using the outer command separately on each one, the ones without a hash pass (details are printed) and the ones with the hash fail with the aforementioned error.
$p = '/subscriptions/deadbeef-2021-4b7b-988c-abcdabcdabcd/resourceGroups/testrg/providers/Microsoft.Web/certificates'
az resource show --subscription $subs --ids `
"$p/018B8D7BEAEB68E5A074B61434030D42CD46E3E2##West Europe#"
Is it a bug of Azure CLI? I am using Azure CLI 2.27.2, which is the current stable version. Or are those some arcane deprecated resources that need some special treatment? How to work with them?