Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Azure存储:文件元数据_C#_Azure_Azure Storage_Azure Files - Fatal编程技术网

C# Azure存储:文件元数据

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

我正在创建一个webjob应用程序来定期(计划)读取azure文件共享和处理文件。我正在使用提供的C#ApI示例,但无法通过目录列表了解如何获取文件元数据。我想做一些像按修改日期排序文件这样简单的事情。有没有人举过用列表文件获取元数据的例子

 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方法,而不是分段版本,该方法将返回一个迭代器来惰性地获取结果。不幸的是,列表不会返回文件的属性/元数据。这是正确的解决方案。