【问题标题】:Azure Data Lake Store SDK : FileStatusProperties.ChildrenNum Property always nullAzure Data Lake Store SDK:FileStatusProperties.ChildrenNum 属性始终为空
【发布时间】:2017-10-06 14:49:49
【问题描述】:

我正在尝试使用 Azure 数据存储 SDK (C#) 获取文件夹中的文件数,但 FileStatusProperties.ChildrenNum 属性始终为空,并且它永远不会返回目录中的子项数,因为它应该做(https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.management.datalake.store.models.filestatusproperties.childrennum)。 它是一个错误吗? 提前致谢!

【问题讨论】:

    标签: c# azure azure-data-lake


    【解决方案1】:

    我正在尝试获取文件夹中的文件数

    我也可以在我身边重现您提到的 (FileStatusProperties.ChildrenNum Property is always null)。我们可以将我们的feedback 提供给 azure 团队。我的解决方法是我们可以使用以下代码来获取文件夹中文件的数量,它在我这边可以正常工作。

    var applicationId = "Azure AD application id";
    var secretKey = "secret key";
    var tenantId = "tenant Id";
    var adlsAccountName = "data lake account";
    var creds = ApplicationTokenProvider.LoginSilentAsync(tenantId, applicationId, secretKey).Result;
    var adlsFileSystemClient = new DataLakeStoreFileSystemManagementClient(creds,clientTimeoutInMinutes:60);
    var result = adlsFileSystemClient.FileSystem.ListFileStatusWithHttpMessagesAsync(adlsAccountName,
                        "/testfolder").Result; //folder path    
    var count = result.Body.FileStatuses.FileStatus.Count(x => x.Type.Equals(FileType.FILE));
    

    【讨论】:

    • 谢谢。顺便说一句,我找到了这个解决方法:adlsFileSystemClient.FileSystem.GetContentSummary(adlsAccountName, "/testfolder").ContentSummary.FileCount.
    • 此后也发布在 GitHub 上:link
    猜你喜欢
    • 1970-01-01
    • 2017-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-08
    • 2018-06-25
    • 1970-01-01
    相关资源
    最近更新 更多