C# Azure存储:文件元数据
我正在创建一个webjob应用程序来定期(计划)读取azure文件共享和处理文件。我正在使用提供的C#ApI示例,但无法通过目录列表了解如何获取文件元数据。我想做一些像按修改日期排序文件这样简单的事情。有没有人举过用列表文件获取元数据的例子C# Azure存储:文件元数据,c#,azure,azure-storage,azure-files,C#,Azure,Azure Storage,Azure Files,我正在创建一个webjob应用程序来定期(计划)读取azure文件共享和处理文件。我正在使用提供的C#ApI示例,但无法通过目录列表了解如何获取文件元数据。我想做一些像按修改日期排序文件这样简单的事情。有没有人举过用列表文件获取元数据的例子 FileResultSegment resultSegment = await share.GetRootDirectoryReference().ListFilesAndDirectoriesSegmentedAsync(token); results
FileResultSegment resultSegment = await share.GetRootDirectoryReference().ListFilesAndDirectoriesSegmentedAsync(token);
results.AddRange(resultSegment.Results);
结果没有为下面的IListFileItem定义元数据或属性
foreach (IListFileItem listItem in results)
{
// listItem type will be CloudFile or CloudFileDirectory
Console.WriteLine("- {0} (type: {1})", listItem.Uri, listItem.GetType());
}
你的成绩如何
foreach (var item in results)
{
if (item is CloudFile)
{
var cloudFile = (CloudFile) item;
// You can now access metadata and properties
//cloudFile.Metadata
//cloudFile.Properties
}
else if (item is CloudFileDirectory)
{
var cloudFileDirectory = (CloudFileDirectory)item;
// You can now access metadata and properties
//cloudFileDirectory.Metadata
//cloudFileDirectory.Properties
}
}
建立在托马斯的岗位上。。。这是我找到的唯一方法
foreach (var item in results)
{
if (item is CloudFile)
{
var cloudFile = (CloudFile) item;
cloudFile.FetchAttributes();
// You can now access metadata and properties
//cloudFile.Metadata
//cloudFile.Properties
}
else if (item is CloudFileDirectory)
{
var cloudFileDirectory = (CloudFileDirectory)item;
// You can now access metadata and properties
//cloudFileDirectory.Metadata
//cloudFileDirectory.Properties
}
}
属性仍然没有填充,似乎我需要告诉请求我想要它们,但我看不到这些选项。我希望CloudFile属性不仅仅是在获取文件时设置的。仅供参考:如果使用分段列表方法,则需要遵循延续标记,否则将无法获得完整的结果列表。如果不想手动跟踪延续标记,请使用ListFilesAndDirectories方法,而不是分段版本,该方法将返回一个迭代器来惰性地获取结果。不幸的是,列表不会返回文件的属性/元数据。这是正确的解决方案。