Ошибка при создании сертификата хранилища ключей в Azure CLI

#azure-keyvault #azure-cli

Вопрос:

Я пытаюсь добавить сертификат в хранилище ключей Azure с помощью Azure CLI. Я следую документации здесь и быстрому началу здесь. На обеих страницах говорится, что команда для создания сертификата:

az keyvault certificate create --vault-name vaultname -n cert1 -p "$(az keyvault certificate get-default-policy)"

У меня есть именно эта строка в моем сценарии:

az keyvault certificate create --vault-name $keyVault -n $certName -p "$(az keyvault certificate get-default-policy)"

Я получаю следующее исключение каждый раз, когда запускаю его. Я упускаю здесь что-то очевидное?

az : Expecting property name enclosed in double quotes: line 1 column 5 (char 4)

Ответ №1:

Это связано с тем, что Powershell сохраняет выходные get-default-policy данные в кодировке, отличной от кодировки bash и CMD.

Пожалуйста, используйте этот обходной путь:

 az keyvault certificate get-default-policy | Out-File -Encoding utf8 defaultpolicy.json

az keyvault certificate create --vault-name $keyVault -n $certName --policy `@defaultpolicy.json