队列触发Azure Function无法访问AzureWebJobStorage私有端点问题
Azure Function 403访问
azure-webjob-secrets容器故障排查与解决 背景
- 基于P2V3应用服务计划部署企业级应用,包含UI、API和队列触发的Azure Function,全部通过Terraform和Azure Pipelines部署在私有端点环境下
- 给每个Azure Function配置了专用存储账户,仅创建了队列、表资源,未手动创建Blob容器
故障现象
- Azure Function启动时反复尝试访问
azure-webjob-secrets容器,持续返回403权限错误 - 本地使用开发存储运行完全正常
根因
Terraform模块化配置时,给Blob私有端点的创建加了count条件——只有当存储账户存在Blob容器时才创建。但Function启动会自动生成azure-webjob-secrets容器用于存储密钥,由于预先没创建Blob容器,导致Blob私有端点未部署,Function无法通过私有网络访问这个自动生成的容器,触发403错误
解决方法
移除Terraform中Blob私有端点的count创建条件,确保不管存储账户有没有预先创建Blob容器,都自动部署Blob私有端点。调整后Function即可正常访问所需容器,恢复正常运行
内容的提问来源于stack exchange,提问作者Jeff Woods
相关产品推荐
相关产品推荐

