我正在尝试运行简单的power-shell命令来调用json文件以在Azure上部署一些资源,但是每次尝试运行该文件时都会给我相同的错误。我收到的错误消息是-
New-AzDeployment : Cannot retrieve the dynamic parameters for the cmdlet. Invalid property identifier character: �. Path '', line 2, position 0.
At line:1 char:1
+ New-AzDeployment -Name $DeploymentName -Location uksouth -TemplateUri ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [New-AzDeployment], ParameterBindingException
+ FullyQualifiedErrorId : GetDynamicParametersException,Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.NewAzureDeploymentCmdlet
下面是Powershell,我正在尝试运行-
$DeploymentSubscription = "Visual Studio Enterprise with MSDN"
$DeploymentRSG = "xyz"
$DeploymentName = "vvv"
$ParameterRoute = "D:\xyz\json\VM\"
$ParameterFile = $ParameterRoute + "Build.json"
$TemplateFileRoute = "D:\xyz\VM\"
$TemplateFileName = "Deploy_RG_Resources.json"
$TemplateFile = $TemplateFileRoute + $TemplateFileName
$TemplateFileURi = $TemplateFileRoute + $TemplateFileName
New-AzResourceGroupDeployment -Name $DeploymentName -ResourceGroupName $DeploymentRSG -DeploymentDebugLogLevel All -Verbose -TemplateUri $TemplateFileURi -TemplateParameterFile $ParameterFile
谢谢
答案 0 :(得分:0)
该错误非常具体。 您通过的内容是有效的。 cmdlet的帮助文件将显示此命令的作用。
New-AzResourceGroupDeployment
$newAzResourceGroupDeploymentSplat = @{
TemplateParameterFile = "D:\Azure\Templates\EngSiteParams.json"
TemplateObject = $TemplateObject
ResourceGroupName = "ContosoEngineering"
}
New-AzResourceGroupDeployment @newAzResourceGroupDeploymentSplat
将完全合格的UNC记录到.json文件中。
但是您正在这样做。
$ParameterFile = $ParameterRoute + "Build.json"
...并且根据您的帖子,这不是您的.json文件的路径。
答案 1 :(得分:0)
如果您的模板文件位于本地计算机上,请尝试使用-TemplateFile
作为参数,而不是-TemplateUri
。
答案 2 :(得分:0)
现在已解决。问题出在JSON模板语法上。虽然我已经多次验证模板了,但还是很奇怪