Azure CLI 2:如何在 az group deployment create 命令中提供参数?

Azure CLI 2: how to provide parameters in az group deployment create command?

我在 windows 机器上使用 Azure CLI 2.0,我正在尝试使用 this Microsoft 文档创建 Docker VM:

az group deployment create --resource-group myResourceGroup \
  --parameters '{"newStorageAccountName": {"value": "mystorageaccount"},
    "adminUsername": {"value": "azureuser"},
    "adminPassword": {"value": "P@ssw0rd!"},
    "dnsNameForPublicIP": {"value": "mypublicdns"}}' \
--template-uri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/docker-simple-on-ubuntu/azuredeploy.json

将所有内容放在一行中会导致 "unrecognized arguments" 错误。用双引号替换参数单引号会导致 "Expecting property name enclosed in double quotes" 错误,删除参数选项会导致预期的 "Deployment template validation failed" 错误。提供参数值的正确方法是什么?

请试试这个脚本:

az group deployment create --resource-group jason --parameters "{\"newStorageAccountName\": {\"value\": \"jasondisks321\"},\"adminUsername\": {\"value\": \"jason\"},\"adminPassword\": {\"value\": \"122130869@qq\"},\"dnsNameForPublicIP\": {\"value\": \"jasontest321\"}}" --template-uri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/docker-simple-on-ubuntu/azuredeploy.json

对我有用。

在cli 2.0中,我们可以使用--help查找命令帮助:

C:\windows\system32>az group deployment create --help

Examples
    Create a deployment from a remote template file.
        az group deployment create -g MyResourceGroup --template-uri
        https://myresource/azuredeploy.json --parameters @myparameters.json

    Create a deployment from a local template file and use parameter values in a string.
        az group deployment create -g MyResourceGroup --template-file azuredeploy.json --parameters
        "{\"location\": {\"value\": \"westus\"}}"

您可以按照以下格式添加参数:

--parameters '{ "adminUsername": {"value":"username"}}'

这是我尝试使用单引号 ('') 而不是双引号 ("") 的方法,它对我有用。

az group deployment create --name TempGroup --resource-group insightsrg --parameters '{\"actionGroupName\": {\"value\": \"jsonActionGroup\"},\"actionGroupShortName\": {\"value\": \"JAG\"}}' --template-file "C:\HM\ARM\policy\actiongroup\actiongroup.json"

请找到附件中的屏幕截图以供参考。

在撰写本文时,现在可以根据 --help:

中提供的示例简单地从文件或内联中提供参数
az group deployment create -g MyResourceGroup --template-file azuredeploy.json --parameters @params.json --parameters https://mysite/params.json --parameters MyValue=This MyArray=@array.json