使用 ARM 模板或 Bicep 文件更新 Azure Functions 的堆栈设置

问题描述 投票:0回答:1

我正在将 Azure Functions 项目从 .NET 7 更新到 .NET 8,但它没有像以前针对 .NET 7 时那样获取 Azure 门户中的任何 HTTP 处理程序。

我添加了环境变量

FUNCTIONS_WORKER_RUNTIME
,其值为
dotnet-isolated
,如其他问题的答案中所述,这使得可以通过Azure门户更改堆栈设置,但我希望能够设置通过 ARM 模板或 Bicep 文件进行配置

azure-functions .net-8.0 azure-functions-runtime azure-functions-isolated
1个回答
0
投票

要使用 Arm 模板创建隔离功能以及配置设置,您可以参考此 MS Doc 或检查下面的代码 -

"resources": [
  {
    "type": "Microsoft.Web/sites",
    "apiVersion": "2022-03-01",
    "name": "[parameters('functionAppName')]",
    "location": "[parameters('location')]",
    "kind": "functionapp",
    "dependsOn": [
      "[resourceId('Microsoft.Insights/components', parameters('applicationInsightsName'))]",
      "[resourceId('Microsoft.Web/serverfarms', parameters('hostingPlanName'))]",
      "[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName'))]"
    ],
    "properties": {
      "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', parameters('hostingPlanName'))]",
      "siteConfig": {
        "appSettings": [
          {
            "name": "APPLICATIONINSIGHTS_CONNECTION_STRING",
            "value": "[reference(resourceId('Microsoft.Insights/components', parameters('applicationInsightsName')), '2020-02-02').ConnectionString]"
          },
          {
            "name": "AzureWebJobsStorage",
            "value": "[format('DefaultEndpointsProtocol=https;AccountName={0};EndpointSuffix={1};AccountKey={2}', parameters('storageAccountName'), environment().suffixes.storage, listKeys(resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName')), '2021-09-01').keys[0].value)]"
          },
          {
            "name": "WEBSITE_CONTENTAZUREFILECONNECTIONSTRING",
            "value": "[format('DefaultEndpointsProtocol=https;AccountName={0};EndpointSuffix={1};AccountKey={2}', parameters('storageAccountName'), environment().suffixes.storage, listKeys(resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName')), '2021-09-01').keys[0].value)]"
          },
          {
            "name": "WEBSITE_CONTENTSHARE",
            "value": "[toLower(parameters('functionAppName'))]"
          },
          {
            "name": "FUNCTIONS_EXTENSION_VERSION",
            "value": "~4"
          },
          {
            "name": "FUNCTIONS_WORKER_RUNTIME",
            "value": "dotnet-isolated"
          }
        ]
      }
    }
  }
]

在执行给定脚本之前,请确保您已创建所有相关资源,例如 Application Insight、存储帐户和托管计划。

© www.soinside.com 2019 - 2024. All rights reserved.