New-AzureRmResourceGroupDeployment命令无法识别JSON参数文件

时间:2017-02-24 13:31:39

标签: powershell azure

我有一个看起来像这样的JSON参数文件。

"parameters": {
        "field_1": {
            "value": "abc"
        },
        "field_2": {
            "value": 123
        },

我正在使用以下命令在Azure中创建资源

New-AzureRmResourceGroupDeployment -ResourceGroupName $resourceGroupName -TemplateFile $templateFilePath -TemplateParameterFile $parametersFilePath 

当我运行它时,由于某种原因它无法识别参数文件中的参数。它要求我在powershell中单独输入参数,然后在我输入所有参数后,我得到以下错误:

New-AzureRmResourceGroupDeployment:4:07:58 PM - 错误:Code = InvalidDeploymentParameterValue; Message =部署参数'参数'一片空白。请指定值或使用参数引用。看到 https://aka.ms/arm-deploy/#parameter-file了解详情。 在行:52 char:4

+    New-AzureRmResourceGroupDeployment -ResourceGroupName $resourceGro ...
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [New-AzureRmResourceGroupDeployment], Exception
    + FullyQualifiedErrorId : Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.NewAzureResourceGroupDeploymentCmdlet

我不确定我做错了什么。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

嗯,它不应该识别它,如果你看一下Azure Quickstart模板库,其中大多数都有参数文件,所有这些都有一个合适的结构,而你的不是,这里有怎样的一个合适的参数文件如下:

{
    "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "adminUsername": {
        "value": "ghuser"
        },
        "adminPassword": {
        "value": "GEN-PASSWORD"
        },
        "dnsLabelPrefix": {
        "value": "GEN-UNIQUE"
        }
    }
}

参考:https://github.com/Azure/azure-quickstart-templates