如何从 Azure BLOB 中的目录中获取所有文件

Sar*_*mar 3 c# azure azure-blob-storage

我们将应用程序日志Azure BLOB存储在存储中。我们目前正在使用文件的完整 URI 下载文件。每次Azure BLOB更改设置时,文件名也会更改。所以我们收到错误,因为文件不存在。

建议一种从目录中使用文件扩展名获取文件的方法,而无需在 UI 中使用文件名。

Mar*_*ndl 5

使用该ListBlobs()方法检索特定容器的所有 blob,然后您可以使用静态 .NETPath.GetExtension()方法检索文件扩展名,以便您可以过滤它们。例子:

var storageAccount = CloudStorageAccount.Parse("yourCS");

var blobClient = storageAccount.CreateCloudBlobClient();
var container = blobClient.GetContainerReference(container);

var list = container.ListBlobs();
var blobs = list.OfType<CloudBlockBlob>()
    .Where(b => Path.GetExtension(b.Name).Equals("yourextension"))
Run Code Online (Sandbox Code Playgroud)

  • 这似乎已经过时了。我找不到任何`ListBlobs` 只有一个`ListBlobsSegmentedAsync` 并且那个东西没有`OfType` 方法 (2认同)
  • 使用 CloudBlobDirectory: CloudBlobDirectory directory = container.GetDirectoryReference(directoryPath); var blob = directory.ListBlobs(); (2认同)