Azure存储:文件元数据

时间:2016-01-27 01:55:38

标签: c# azure azure-storage azure-files

我正在创建一个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());
            }

2 个答案:

答案 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
    }
}