2017-11-19 19 views
1

powershellを使用してcsvファイルをAzureアプリケーション設定にインポートする方法を知っている人はいませんか?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

あなたは 'セットAzureRmWebApp'をforeachループ内で追加する必要があります。 –

答えて

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を1つ取得し、ハッシュ値を確認することをお勧めします。以下のように:

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

値は以下の好きなはずです。

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

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

ありがとうWalter。それは間違いなく私のために働いた。優れたもの – kev

関連する問題