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

.NET Core API上传文件至ADLS2时遇InvalidUri错误求助

解决ADLS2文件上传的InvalidUri错误

问题根源

你的代码存在两个关键问题导致无效URI错误:

  1. 未指定文件系统(容器)名称:DataLakeFileSystemClient的实例需要关联到具体的ADLS2文件系统,仅传入账户DFS URI不足以构建有效客户端。
  2. 路径使用Windows反斜杠:ADLS2的路径遵循URI规范,必须使用正斜杠/,而非Windows系统的反斜杠\。

修正后的代码

var credential = new Azure.Identity.DefaultAzureCredential();
// 构造文件系统客户端时指定文件系统名称,或直接使用包含文件系统的完整URI
var fileSystemClient = new DataLakeFileSystemClient(
    new Uri("https://mystorageaccount.dfs.core.windows.net/your-filesystem-name"), 
    credential);
// 将路径中的反斜杠替换为正斜杠
DataLakeFileClient fileClient = fileSystemClient.GetFileClient($"general/landing/{objectPushRequest.File.Name}");
using (Stream fileStream = objectPushRequest.File.OpenReadStream())
{
    await fileClient.UploadAsync(fileStream, true);
    message = BuildMessage(Status.Success, ErrorCodes.NoError, "Object Push service uploaded file to Blob");
    return (message, null);
}

额外说明

  • 替换your-filesystem-name为你Azure门户中实际创建的ADLS2文件系统名称。
  • 如果需要从配置读取文件系统名称,可以使用DataLakeFileSystemClient的另一个构造重载:
    var fileSystemClient = new DataLakeFileSystemClient(
        new Uri("https://mystorageaccount.dfs.core.windows.net"), 
        "your-filesystem-name", 
        credential);
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 04:12:50