比较两个 Azure 函数应用程序的应用程序设置

Compare the Application settings of two Azure function apps

我想比较两个不同功能应用程序的应用程序设置。我有一个用于开发的函数应用程序和另一个用于生产的函数应用程序,我想检查一下我是否没有忘记在生产中添加一个设置。

我从 Azure CLI 开始,并做到了:

az functionapp config appsettings list

其中 returns 应用程序设置列表。

现在如何比较两个功能应用程序的设置名称(不是不同的值)?可以将它们存储在两个不同的 output table 中并比较 name 列 ?

这是一个使用 PowerShell Core 的解决方案,我首先检索两个应用程序设置(阶段和生产)。然后我遍历 stage appsettings 并检查我是否在 prod 实例上找到相同的设置:

$stage = az functionapp config appsettings list -g my-rg-01 -n my-func-01-stage | ConvertFrom-Json
$prod = az functionapp config appsettings list -g my-rg-01 -n my-func-01-prod| ConvertFrom-Json

$stage | Foreach-object {
    if (-not $_.Value -eq ($prod | Where-Object Name -eq $_.Name).Value) {
        Write-Warning "Missing value or invalid value for key $($_.Name) found"
    }
}