Blob触发Azure Function托管身份配置报错:No such host is known
Azure Function Blob触发器托管身份切换后域名解析错误解决方案
问题描述
出现的错误信息
Azure.Core: No such host is known. (examplestorage.blob.core.windows.net:443). System.Net.Http: No such host is known. (examplestorage.blob.core.windows.net:443). System.Net.Sockets: No such host is known.
We were not able to load some functions in the list due to errors. Refresh the page to try again.
环境与配置情况
- Blob触发的Azure Function App,核心代码片段:
[Function("ExampleFunction")] public async Task Run([BlobTrigger("%BlobPath%", Connection = "AzureWebJobsStorage")] Stream myBlob, string name) - 原使用存储连接字符串,现切换为托管身份(Managed Identity)方式连接
- 运行环境为专用App Service Plan:Premium v3 P2V3,已引用指定版本的存储扩展包
- 已为Function App在目标存储账户分配以下角色:
- Storage Account Contributor
- Storage Blob Data Owner
- Storage Queue Data Contributor
- 已确认不存在
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING、WEBSITE_CONTENTSHARE环境变量,重新部署后问题未解决
排查与解决方案
1. 验证存储账户域名有效性
- 核对存储账户名称:确认
examplestorage是实际存在的存储账户名称,无拼写错误 - 测试域名解析:执行命令
nslookup examplestorage.blob.core.windows.net,检查是否能返回正确的IP地址,若无法解析需确认存储账户是否正常创建、处于可用状态
2. 正确配置托管身份环境变量
针对Blob触发器使用托管身份,需按以下格式设置环境变量:
- 设置
AzureWebJobsStorage__accountName=<你的存储账户名称> - 设置
AzureWebJobsStorage__credential=managedidentity
注意:变量名使用双下划线分隔前缀与后缀,需确保
AzureWebJobsStorage本身不设置为传统连接字符串
3. 确认存储扩展包版本兼容性
- .NET Isolated模式:需引用
Microsoft.Azure.Functions.Worker.Extensions.Storage.Blobs版本5.0及以上 - In-Process模式:需引用
Microsoft.Azure.WebJobs.Extensions.Storage版本5.0及以上
检查项目的包引用,避免因版本过低导致身份验证逻辑不支持托管身份
4. 验证托管身份权限与生效状态
- 确认角色分配范围为目标存储账户,而非更上层的资源组或订阅(虽然后者也生效,但直接分配到存储账户更清晰)
- 角色分配可能存在最长15分钟的延迟,若刚完成分配,等待一段时间后再测试
- 使用Azure CLI验证权限(可在Function App的Kudu控制台执行):
az login --identity az storage blob list --account-name examplestorage --container-name <你的容器名> --auth-mode login
替换<你的容器名>为实际容器名称,若能返回Blob列表则说明权限正常
5. 排查网络限制
- 若存储账户配置了防火墙/虚拟网络限制:
- 将Function App所在虚拟网络添加到存储账户的允许列表
- 或开启存储账户的「允许受信任的Microsoft服务访问此存储账户」选项
- 若Function App使用VNet集成或私有端点,确认网络路由可正常访问存储账户端点,或已正确配置存储账户私有端点
6. 刷新应用配置
- 在Azure门户进入Function App的「配置」页面,确认所有环境变量无拼写错误、多余空格
- 重启Function App,确保配置变更完全生效
内容的提问来源于stack exchange,提问作者pumpkinchugger
相关产品推荐
相关产品推荐

