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

使用目录级SAS列出Azure Data Lake Gen2目录内容遇错求助

解决ADLS Gen2目录级SAS列出内容的问题

错误原因

核心问题是使用了错误的存储端点和API参数:

  • 启用分层命名空间的ADLS Gen2存储账户,目录操作必须使用DFS端点(dfs.core.windows.net),而非Blob端点(blob.core.windows.net)。
  • Blob API的restype参数不适用于ADLS Gen2的目录列表操作,需使用DFS API专属的resource参数。

正确解决方案

1. 替换存储端点

将原SAS URI中的blob.core.windows.net替换为dfs.core.windows.net。

2. 添加正确的查询参数

在SAS URI末尾追加&resource=directory&comp=list,用于指定目录内容的列出操作。

最终请求URI示例

https://testtest123test.dfs.core.windows.net/container/folder1/folder2/?sv=2024-11-04&se=2024-10-04T21%3A44%3A27Z&sr=d&sp=rl&sdd=2&sig=removed&resource=directory&comp=list

可选:递归列出所有子内容

如果需要递归获取folder2下所有层级的文件和子目录,添加&recursive=true参数即可:

https://testtest123test.dfs.core.windows.net/container/folder1/folder2/?sv=2024-11-04&se=2024-10-04T21%3A44%3A27Z&sr=d&sp=rl&sdd=2&sig=removed&resource=directory&comp=list&recursive=true

错误详情解释

  • 第一个错误(InvalidQueryParameterValue):Blob API不支持对ADLS Gen2目录使用comp=list参数,必须切换到DFS端点执行操作。
  • 第二个错误(InvalidUri):restype=container要求目标路径为容器级别,但你的SAS权限仅覆盖folder2目录,因此URI与权限范围不匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 12:33:22