代码之家  ›  专栏  ›  技术社区  ›  Pரதீப்

Azure blob文件名中的模式搜索

  •  1
  • Pரதீப்  · 技术社区  · 7 年前

    我正在尝试搜索与我的搜索模式匹配的文件。

    static void ListBlobsInFolder() {
                var account = <MyStorageAccount>
                var blobClient = account.CreateCloudBlobClient();
                var containerName = "importcontainer";
                var folderName = "subfolder";
                var container = blobClient.GetContainerReference(containerName);
                var query = container.ListBlobs(prefix: folderName, useFlatBlobListing: true, blobListingDetails: BlobListingDetails.None);
                foreach(var item in query) {
                    Console.WriteLine(item.Uri.Segments.Last());
                }
            }
    

    这将获取子文件夹中存在的文件列表。

    是否有方法返回只与模式匹配的文件。示例:我想检索包含“abc”的文件名。

    1 回复  |  直到 7 年前
        1
  •  5
  •   Gaurav Mantri    7 年前

    我想检索包含“abc”的文件名。

    不幸的是,这是不可能的。Azure Blob存储中对服务器端搜索的支持有限。唯一可以过滤的是blob前缀,也就是说,您可以指示Azure存储服务只返回以某些字符开头的blob名称。

    对于您的场景,您需要获取blob容器中所有blob的列表,并在客户端进行过滤。