0

나는이 매개 변수 소요 자원 그룹에 배포하는 데 사용하고 템플릿이 있습니다매개 변수 전달

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

내가이 매개 변수를 오버라이드 (override) 할 수있는 값을하고 싶습니다을 때 cdmlet는 같은처럼 호출됩니다

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

    New-AzureRmResourceGroupDeployment @AzureParams 

나는이 방법을 시도했지만이 솔루션은 템플릿에서 설정 한 값과 나의 호출에서 매개 변수로 통과 하나를 사용하려고하고 있습니다.

EDIT : TemplateParameterUri 파일이 원인 일 수 있습니까?

답변

1

TemplateParameterUri을 입력하면 매개 변수 파일을 사용하여 템플릿을 배포하고 파일에서 값을 가져오고 envPrefixName은 템플릿의 매개 변수를 평가하지 않으므로 "손실"됩니다.

를 드롭 TemplateParameterUri 당신이 그것을 기대 (하지만 당신은 그들이 기본값이없는 한,이 경우 모든 매개 변수를 제공해야) 나는 그 원인 일 수 있습니다 생각,

+0

좋아요를대로 작동합니다. 그것은 param 파일을 통해 제공하고자하는 스틱 매개 변수가 있지만 좀 더 동적이어야하는 경우가 있습니다. 그게 부당한 유스 케이스인가요? – Batman

+1

은 매개 변수 파일이 아닌 템플릿에서 기본값을 제공합니다 (그렇게 할 수 있습니까?). 또 다른 옵션 - 배포 전에 powershell로 매개 변수 파일을 편집하십시오. – 4c74356b41

+0

좋은 소리, 빠른 도움에 감사드립니다. – Batman