我正在创建一个webjob应用程序,以定期(预定)读取azure文件共享和处理文件。我正在使用提供的C#ApI示例,但无法弄清楚如何使用我的目录列表获取文件元数据。我想做一些像修改日期那样简单的排序文件。有没有人有一个使用列表文件获取元数据的例子。
FileResultSegment resultSegment = await share.GetRootDirectoryReference().ListFilesAndDirectoriesSegmentedAsync(token);
results.AddRange(resultSegment.Results);
没有为下面的IListFileItem定义 MetaData 或属性。
foreach (IListFileItem listItem in results)
{
// listItem type will be CloudFile or CloudFileDirectory
Console.WriteLine("- {0} (type: {1})", listItem.Uri, listItem.GetType());
}
答案 0 :(得分:1)
如何投射结果?
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
}
}
答案 1 :(得分:1)
以Thomas的帖子为基础......这是我找到的唯一方式。
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
}
}