Rest 我想使用azure存储api列出容器中的所有子文件夹

Rest 我想使用azure存储api列出容器中的所有子文件夹,rest,azure,azure-storage,azure-storage-blobs,Rest,Azure,Azure Storage,Azure Storage Blobs,我有等级制度 my container --images --img01 --img02 我想发出一个rest请求并得到结果:images 如“分隔Blob列表”部分下的此链接所示 但是,我没有得到这个结果,而是得到所有资源名称作为递归调用。好像我没有提供任何分隔符 要签名的字符串是: GET /account/mycontainer x-ms-date:Tue, 07 Feb 2017 05:38:21 GMT x-ms-version:2016-05-31 c

我有等级制度

my container
  --images
      --img01
      --img02
我想发出一个rest请求并得到结果:
images

如“分隔Blob列表”部分下的此链接所示

但是,我没有得到这个结果,而是得到所有资源名称作为递归调用。好像我没有提供任何分隔符

要签名的字符串是:

GET /account/mycontainer

x-ms-date:Tue, 07 Feb 2017 05:38:21 GMT
x-ms-version:2016-05-31
comp:list
delimeter:/
maxresults:4
restype:container
我正在发送的URL:

http://account.blob.core.windows.net/mycontainer?restype=container&comp=list&delimeter=/&maxresults=4
结果我得到:

<xml>
<blobs>
<blob><Name>images/img01</Name>
<blob><Name>images/img02</Name>
</blobs>
</xml>

图像/img01
图像/img02
但基于上述链接。答复应当是:

<xml>
<blobs>
<BlobPrefix>
<Name>images/</Name>
</BlobPrefix >
</xml>

图像/

根据您的描述,我在我这边检查并测试了这个方法。为了简化这个问题,我创建了一个容器,并将“容器公共访问级别”设置为“容器和blob的公共读取访问”。以下是我的blob容器的文件结构:

  • 列出blob而不指定delimeter(“/”默认值)

结果:

  • 通过指定delimeter(默认情况下为“/”)列出blob

结果:


根据您的
stringToSign
delimeter
的名称不正确,您需要将其更改为
分隔符。有关更多详细信息,请参阅。

返回的响应是正确的。对于blob存储,文件夹只是逻辑上的。存储帐户>容器>blob是存储blob的结构。通过\进行定界会产生类似文件夹的逻辑分隔,但它都是blob的一部分。blob uri是唯一的。兄弟,谢谢。这是一个巨大的错误,我知道这与此有关,但我不敢相信。