我正在尝试通过来自azure存储的powershell部署ARM模板 . 如果我通过powershell提供参数,它会部署没有问题,但是当我尝试使用参数文件时,它会错误地说它无法找到某个参数的值 . 我检查了参数文件,并使用visual studio正确部署,因此参数必须正确 . 但是,当我尝试从powershelli运行时,它一直说它无法找到参数的值 . 我已经下载了参数文件,它声称的值确实没有确实存在,因为它通过visual studio部署正确它应该是正确的 . 代码如下

需要存储帐户的

resourcegroupname和存储帐户名

Set-AzureRmCurrentStorageAccount -ResourceGroupName ArmTemplates -Name armtemplatessa

模板所在的存储帐户

$ StorageAccount =“armtemplatessa”

存储模板的blob容器的名称

$ TemplateContainerName =“arm-templates”

创建VNET

$ VNETResourceGroup =“VirtualNetwork”New-AzureRmResourceGroup -Name $ VNETResourceGroup -Location $ location

这是将用于部署模板的参数 . 还会生成令牌以允许访问此文件

$ vnetModuletemplateuri = New-AzureStorageBlobSASToken -Container arm-templates -Blob vnetModule.json -Permission r`-ExpiryTime(Get-Date).AddHours(2.0)-FullUri

这是将用于要部署的模板参数的参数 . 还会生成令牌以允许访问此文件

$ vnetModuleparametersUri = New-AzureStorageBlobSASToken -Container dac-templates -Blob vnetModule.parameters.json -Permission r`-ExpiryTime(Get-Date).AddHours(2.0)-FullUri

New-AzureRmResourceGroupDeployment -Name vnetModule -ResourceGroupName $ VNETResourceGroup -TemplateFile $ vnetModuletemplateuri -TemplateParameterFile $ vnetModuleparametersUri

Eror New-AzureRmResourceGroupDeployment : 9:29:56 AM - Error: Code=InvalidTemplate; Message=Deployment template validation failed: 'The value for the template parameter 'virtualNetworkName' at line '7' and column '28' is not provided. Please see https://aka.ms/arm-deploy/#parameter-file for usage details.'.

如上所述,但提供了值,我检查了参数文件,它是否存在以及通过visual studio部署的相同文件?