0

私は、このパラメータを受け取り、リソース・グループにデプロイするために使用していたテンプレートがあります。私はこれをオーバーライドすることができます値をパラメータしたいと思いAzureのARMテンプレートにパラメータを渡す

"envPrefixName": { 
    "type": "string", 
    "metadata": { 
    "description": "Prefix for the environment (2-5 characters)" 
    }, 
    "defaultValue": "cust1", 
    "minLength": 2, 
    "maxLength": 5 
}, 

をcdmletは、同じように呼び出されます。

$AzureParams = @{ 
     ResourceGroupName = $ResourceGroup 
     TemplateUri = $TemplateUri 
     TemplateParameterUri = $TemplateParamUri 
     Mode = "Complete" 
     envPrefixName = "sunlb" #Override default parameter value 
     Force = $true 
    } 

    New-AzureRmResourceGroupDeployment @AzureParams 

私はこのアプローチを試してみたが、解決策は、テンプレートに設定された値ではなく、私の呼び出しにパラメータとして渡さ1を使用しようとし続けます。

EDIT:TemplateParameterUriファイルが原因で問題が発生している可能性がありますか?

答えて

1

あなたがTemplateParameterUriを供給する場合は、テンプレートを配備(およびファイルの値を取る)するためのパラメータファイルを使用すると、あなたのenvPrefixNameそれは文句を言わないテンプレート内のパラメータを評価するため、「失われた」になるだろう。

ドロップTemplateParameterUri、あなたはそれを期待(しかし、あなたは彼らがデフォルト値を持っていない限り、この場合、すべてのパラメータを供給する必要が)として、それは動作します

+0

さて、私はそれが原因である可能性があります考えていました。これは、パラメタファイルを使って提供したいスティックパラメタがある場合には、ダイナミックにする必要があるものは何か問題です。それは不合理なユースケースですか? – Batman

+1

は、パラメータファイルではなく、テンプレートにデフォルトを提供します(それを行うこともできます)。別のオプション - 展開の前にpowershellでパラメータファイルを編集してください – 4c74356b41

+0

いいですね、簡単に手伝ってくれてありがとう。 – Batman

関連する問題