如何将Azure App Service配置从哈希表存入@{ }定义的变量?
问题
我拥有若干Azure App Service实例,每个实例都有各自的配置。我希望获取这些配置并将其存入以@{ }定义的哈希表变量中。执行以下命令:
$srcapp = Get-AzWebApp -ResourceGroupName "myrg" -Name "myapp" $srcapp.SiteConfig.AppSettings
得到如下输出:
Name Value ---- ----- Tetst3 78910 Test2 4567 Test 1234
我希望将其转换为@{ "Test"='1234'; "Test2"='4567'; "Tetst3"='78910' }这样的哈希表定义形式,请问是否可行?
解决方案
完全可行,你可以通过以下PowerShell代码实现需求:
1. 生成哈希表变量
如果只需要将配置存入哈希表变量,执行以下代码即可:
# 获取目标App Service的配置 $srcapp = Get-AzWebApp -ResourceGroupName "myrg" -Name "myapp" $appSettings = $srcapp.SiteConfig.AppSettings # 初始化空哈希表 $settingsHash = @{} # 遍历配置项,填充哈希表 foreach ($setting in $appSettings) { $settingsHash[$setting.Name] = $setting.Value }
此时$settingsHash就是符合要求的哈希表变量,你可以直接使用它进行后续操作。
2. 输出哈希表定义字符串
如果需要得到@{ "Test"='1234'; ... }格式的字符串(用于复制或展示),可以在上述代码基础上添加以下逻辑:
# 拼接哈希表定义字符串 $hashDefinition = "@{ " + ($settingsHash.GetEnumerator() | ForEach-Object { "`"$($_.Key)`"='$($_.Value)'" }) -join "; " + " }" # 输出结果 Write-Host $hashDefinition
运行后会直接输出你想要的格式内容。
内容的提问来源于stack exchange,提问作者Emanuele
相关产品推荐
相关产品推荐

