2017-11-19 15 views
1

누구든지 powershell을 사용하여 Azure 앱 설정으로 CSV 파일을 가져 오는 방법을 알고 있습니까?Powershell azure - csv 파일을 appsettings로 가져 오기

이것은 현재 가지고 있지만 작동하지 않습니다.

Function Import-AppSettings 
{ 
Step-TimeBlock { 

    $csv = "C:\appsettings.csv" 
    $appSettingsList = Import-Csv $csv -Encoding UTF8 -Delimiter '|' 

    $appSettingsHash = @{} 
    Write-Host "current app settings" -foreground yellow; 
    ForEach ($kvp in $appSettingsList) { 
     $appSettingsHash[$kvp.Name] = $kvp.Value 
     write-host $kvp.Name ": " $kvp.Value -foreground green; 
    } 

    Set-AzureRMWebApp -ResourceGroupName myresourcegroup -Name mywebapp -AppSettings $appSettingsHash 
} 
} 
+0

당신은 foreach 루프 내부에'설정 - AzureRmWebApp'를 추가해야합니다. –

답변

1

Foreach 루프로 이동하려면 Set-AzureRmWebApp이 필요합니다.

다음 스크립트는 저에게 적합합니다. 다음과 같은

$csv = "d:\webapp.csv" 
$appSettingsList = Import-Csv $csv 

$appSettingsHash = @{} 
Write-Host "current app settings" -foreground yellow; 
ForEach ($kvp in $appSettingsList) { 
    $appSettingsHash[$kvp.Name] = $kvp.Value 
    write-host $kvp.Name ": " $kvp.Value -foreground green; 
    Set-AzureRMWebApp -ResourceGroupName shuiweb -Name shuiweb -AppSettings $appSettingsHash 
} 

내 csv 파일 :

Name,Value 
shuivnet1,shuitest1 
shuivnet3,shuitest2 

참고 : 나는 -Encoding UTF8 -Delimiter '|'를 사용하는 경우, 스크립트가 작동하지 않습니다. 테스트를 위해 $appSettingHash 하나를 가져와 해시 값을 확인할 수 있습니다. 아래처럼 :

$appSettingsHash[$appSettingsList.Name[0]]=$appSettingsList.Value[0] 
$appSettingsHash 

값은 아래와 같이한다 :

PS C:\Users\v-shshui> $appSettingsHash 

Name       Value 
----       ----- 
shuivnet1      shuitest1 
+0

Walter에게 감사드립니다. 그건 분명히 나를 위해 일했다. 우수한 물건 – kev