在 Java 中启动 Spring 时,Azure Blob Storage Starter API 出错

Error with Azure Blob Storage Starter API for Spring boot in Java

我在尝试从 Azure Blob 存储中删除 "folder" (blob) 时遇到问题。我有一个容器,在该容器内有多个 "folders"(blob),而不是里面包含大量 "files" blob。

因此,例如,如果我在名为 1234[=27= 的 blob "folder" 中有一个名为 test.pdf 的文件] 然后我去搜索 "file" blob /1234/test.pdf,我能够找到它,下载它或删除它。但是,如果我搜索 blob "folder" /1234/ 我总是会收到一条错误消息,指出该 blob 不存在 "404 BlobNotFound The specified blob does不存在.

这是我正在使用的代码:

BlobURL blobURL = containerUrl.createBlobURL(folderName+"/"+fileName);
blobURL.download().blockingGet();
blobURL.delete().blockingGet(); //It Works

BlobURL blobURL = containerUrl.createBlobURL(folderName+"/");
blobURL.download().blockingGet();
blobURL.delete().blockingGet(); // Did not works

BlobURL blobURL = containerUrl.createBlobURL(folderName);
blobURL.download().blockingGet();
blobURL.delete().blockingGet(); // Did not works

有什么建议吗?提前致谢!

如果您使用的是 createBlobUrl,它应该是引用实际 blob 的有效 url blob。如果你想访问一个contianer中的所有blob,你应该使用

var blobList= container.ListBlobs(prefix: "folderName/", useFlatBlobListing: true);