You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell中如何遍历JSON实现Azure WebApp配置批量自动化设置?

PowerShell实现方案

与Python逻辑对等的实现

完全对齐你写的Python遍历逻辑,直接生成目标格式的az命令:

# 解析JSON内容
$Json = @'
{
    "key1": "value1", 
    "key2": "value2", 
    "key3": "value3",
    "key4": "value4"
}
'@ | ConvertFrom-Json

# 遍历键值对输出命令
foreach ($prop in $Json.PSObject.Properties) {
    $key = $prop.Name
    $value = $prop.Value
    Write-Output "az webapp config appsettings set -g resourceGroup -n appName --settings $key=`"$value`""
}

执行后输出效果和你预期的完全一致。

更适合Azure Pipelines的简化方案

实际在流水线中使用不需要循环调用多次az命令,--settings参数支持一次性传入多组键值对,单次调用即可完成所有配置更新,执行效率更高:

$Json = @'
{
    "key1": "value1", 
    "key2": "value2", 
    "key3": "value3",
    "key4": "value4"
}
'@ | ConvertFrom-Json

# 拼接所有配置参数
$settingParams = $Json.PSObject.Properties | ForEach-Object { "$($_.Name)=`"$($_.Value)`"" }
# 直接执行配置更新命令
az webapp config appsettings set -g resourceGroup -n appName --settings $settingParams

原有代码的问题说明

你之前写的ForEach-Object -InputObject $Json只会把整个JSON转换后的对象作为单个输入项处理,不会自动遍历它的属性,所以拿不到单独的键值对,改为遍历PSObject.Properties集合即可。

内容的提问来源于stack exchange,提问作者Bodruch

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 20:27:04