参数化 settings.json 函数应用以供发布

Parameterise settings.json of Function app for publish

为了概念验证,我想将一个 Azure 函数从 Visual studio 发布到具有不同 connectionString 值的 Azure。但我无法弄清楚如何。

FunctionApp 中有一个 local.settings.json 文件。我已将 connectionString 添加到我的本地数据库。

local.settings.json 文件:

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "",
    "AzureWebJobsDashboard": ""
  },
  "ConnectionStrings": {
    "DefaultConnection": "Data Source=.\;Initial Catalog=declapp;Integrated Security=False;User ID=*****;Password=*****;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"
  }
}

我可以使用生成的发布配置文件将此 FunctionApp 发布到 Azure,但我在 Azure 中有一个数据库供部署的 FunctionApp 使用。第一次我必须将 connectionString 添加到 Azure 门户中的 FunctionApp。而且当 connectionString 需要更改时,我只能在 Azure 门户中进行。

我想知道如何在下面的发布部分add/alter connectionString。我怎样才能做到这一点?

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "",
    "AzureWebJobsDashboard": ""
  },
  "ConnectionStrings": {
    "DefaultConnection": "<Azure sql connectionstring>"
  }
}

明确一点:我知道在源代码管理中使用(生产)值是一种不好的做法,但这是为了简单的概念验证,我不想定义 CI/CD 管道就为了这个。

local.settings.json 仅用于本地开发。在 Azure 中,这些值将从 Function App 的 App Settings 中获取。

您可以设置此设置,例如通过门户、Azure CLI (example), ARM templates (example) 或来自 local.app.settings (func azure functionapp publish MyApp --publish-settings-only) 的 func CLI。