【发布时间】:2016-07-15 23:24:07
【问题描述】:
假设我每天在我的 blob 存储中生成几个 json 文件。我想要做的是在我的任何目录中修改最新的文件。所以我的 blob 中有这样的东西:
2016/01/02/test.json
2016/01/02/test2.json
2016/02/03/test.json
我想得到2016/02/03/test.json。因此,一种方法是获取文件的完整路径并进行正则表达式检查以查找创建的最新目录,但如果我在每个目录中有多个 josn 文件,这将不起作用。有没有类似File.GetLastWriteTime 的东西来获取最新的修改文件?
我正在使用这些代码来获取所有文件:
public static CloudBlobContainer GetBlobContainer(string accountName, string accountKey, string containerName)
{
CloudStorageAccount storageAccount = new CloudStorageAccount(new StorageCredentials(accountName, accountKey), true);
// blob client
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
// container
CloudBlobContainer blobContainer = blobClient.GetContainerReference(containerName);
return blobContainer;
}
public static IEnumerable<IListBlobItem> GetBlobItems(CloudBlobContainer container)
{
IEnumerable<IListBlobItem> items = container.ListBlobs(useFlatBlobListing: true);
return items;
}
public static List<string> GetAllBlobFiles(IEnumerable<IListBlobItem> blobs)
{
var listOfFileNames = new List<string>();
foreach (var blob in blobs)
{
var blobFileName = blob.Uri.Segments.Last();
listOfFileNames.Add(blobFileName);
}
return listOfFileNames;
}
【问题讨论】:
-
最后你是如何为具有最后修改属性的多个文件夹路径实现这种场景的?
-
对于新的 V12 azure blob nuget 包,所有当前答案都已过时
标签: c# azure azure-blob-storage azure-sdk-.net