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

Bicep部署Azure Function App遇主机运行时BadGateway错误

问题描述

使用Bicep编写ARM模板部署Azure Function Apps,核心模板代码如下:

module functionAppTemplate_F 'functionApp.bicep' = {
  name: 'functionAppTemplate-F'
  params: {    
  }
  dependsOn: [
    servicePlanTemplate
  ]
}

module functionAppSlotTemplate_F 'functionAppSlot.bicep' = {
  name: 'functionAppSlotTemplate-F'
  params: {    
  }
  dependsOn: [
    functionAppTemplate_F
  ]
}

执行部署操作时抛出报错:

Encountered an error (BadGateway) from host runtime on deploying a new Azure Function App

问题原因

当前配置存在多项核心必填项遗漏,是触发该报错的典型场景:

  • 未配置Function运行必需的AzureWebJobsStorage应用设置。该参数需要绑定可用存储账户的连接字符串,是Azure Function主机运行时启动的核心依赖,缺失会直接导致运行时启动失败,网关层返回BadGateway错误。
  • Function App和部署槽的params配置完全留空,未显式指定运行时栈、运行时版本(FUNCTIONS_EXTENSION_VERSION)参数,平台默认拉取的运行时环境和业务代码版本不兼容时,会触发运行时启动失败。
  • 部署槽仅声明了对主Function App的依赖,未同步配置和主实例一致的核心运行参数、存储连接配置,槽实例启动时读取不到必要配置直接报错。
  • 额外排查项:如果使用的服务计划SKU为免费F1、共享D1层级,这类SKU本身不支持部署槽功能,创建槽时也会触发同类运行时错误;如果存储账户和Function App不在同一Azure区域,跨区域网络高延迟也可能导致运行时启动超时返回BadGateway。
修复方案
  1. 补全Function App主实例的必填参数配置,示例如下:
module functionAppTemplate_F 'functionApp.bicep' = {
  name: 'functionAppTemplate-F'
  params: {
    // 绑定提前创建好的同区域存储账户连接字符串
    AzureWebJobsStorage: '<你的存储账户连接字符串>'
    // 指定实际使用的运行时栈,可选值为dotnet、node、python、java等
    runtimeStack: 'dotnet'
    // 指定Function运行时版本,当前稳定版为~4
    functionExtensionVersion: '~4'
    httpsOnly: true
  }
  dependsOn: [
    servicePlanTemplate
  ]
}
  1. 补全部署槽的必填参数,确保核心配置和主实例对齐:
module functionAppSlotTemplate_F 'functionAppSlot.bicep' = {
  name: 'functionAppSlotTemplate-F'
  params: {
    AzureWebJobsStorage: '<和主实例一致的存储账户连接字符串>'
    runtimeStack: 'dotnet'
    functionExtensionVersion: '~4'
  }
  dependsOn: [
    functionAppTemplate_F
  ]
}
  1. 部署前确认服务计划SKU支持部署槽功能,存储账户和Function App部署在同一Azure区域,避免跨区域网络延迟导致运行时启动超时。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 23:06:22