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

Azure存储连接字符串有效,获取Blob文件报URI不代表服务器资源错误

问题根源

你的错误出在GetBlobContainerClient的入参规则使用错误:

  • 该方法的入参只能是独立的Blob容器名称,你把容器名firstContainer和容器内的虚拟目录secondFolder用反斜杠拼接后传入,SDK会将整个字符串识别为容器名去发起请求,你的存储账户下根本不存在名称为firstContainer\secondFolder的容器,自然返回资源不存在的InvalidUri错误。
  • Azure Blob的路径分隔符统一使用正斜杠/,不支持Windows风格的反斜杠\,即使后续要指定虚拟目录前缀也不能用反斜杠。

修正后的实现代码

string connectionString = "DefaultEndpointsProtocol=https;AccountName=filesStorage;AccountKey=xxxx;EndpointSuffix=core.windows.net";
// 仅传入存储账户中真实存在的容器名称
string containerName = "firstContainer";
// 如需筛选容器内指定虚拟目录下的Blob,配置prefix参数,注意用正斜杠结尾
string targetFolderPrefix = "secondFolder/";

BlobServiceClient blobServiceClient = new BlobServiceClient(connectionString);
BlobContainerClient containerClient = blobServiceClient.GetBlobContainerClient(containerName);
// 传入prefix参数拉取对应目录下的Blob,不需要筛选可直接省略该参数
var blobs = containerClient.GetBlobs(prefix: targetFolderPrefix);

foreach (var item in blobs)
{
    blobFilesList.Add(item.Name);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 08:54:00