Terraform部署Azure Function App后无法查看部署函数问题求助
排查修复方案
SAS令牌已过期
你配置的存储账户SAS令牌有效期截止到2023-12-31,当前已过有效期,令牌完全失效,Function App无法通过该地址拉取存储中的zip代码包,自然无法加载任何函数。
修复方法:将azurerm_storage_account_sas资源中的expiry值修改为未来的合理时间(例如2026-12-31),重新执行terraform apply更新配置即可。App Service Plan实例配置错误
你使用的是Azure Functions消费层服务计划,配置中sku.capacity = 0会导致预留实例数为0,函数实例无法正常启动加载代码。
修复方法:删除sku块中的capacity配置项(消费层会自动弹性管理实例数,无需手动设置),或者将值改为1。日志关闭无法排查问题
你配置了enable_builtin_logging = false,关闭了Function App的内置日志,无法在Azure门户查看代码拉取、函数启动阶段的报错信息,不利于定位潜在问题。
修复方法:临时将该配置项改为true,更新配置后可以在门户的「日志流」「诊断和解决问题」栏目查看具体失败原因。需确认zip包结构合规
如果以上配置修复后问题依旧,需要检查你打包的functionapp.zip是否符合Azure Functions的部署要求:- zip包根目录必须存在
host.json文件 - 每个定时器函数对应一个独立文件夹,文件夹内必须包含
function.json配置文件和编译后的代码文件 - 不要将发布输出的父文件夹一起打包,需要选中发布目录下的所有文件直接压缩,根目录不能嵌套多余的文件夹层级。
- zip包根目录必须存在
内容的提问来源于stack exchange,提问作者Nayden Van
相关产品推荐
相关产品推荐

