2017-10-06 5 views
1

J'essaie d'obtenir le nombre de fichiers dans un dossier à l'aide du SDK Azure Data Store (C#) mais la propriété FileStatusProperties.ChildrenNum est toujours null et elle ne renvoie jamais le nombre d'enfants dans le répertoire comme il est censé faire (https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.management.datalake.store.models.filestatusproperties.childrennum). Est-ce un bug? Merci d'avance!Azure Data Lake Magasin SDK: propriété FileStatusProperties.ChildrenNum toujours null

Répondre

1

Je suis en train d'obtenir le nombre de fichiers dans un dossier

Je pourrais aussi reproduire que vous avez mentionné (FileStatusProperties.ChildrenNum Property is always null) de mon côté. Nous pourrions donner notre feedback à l'équipe azure. Mon contournement est que nous pourrions utiliser le code suivant pour obtenir le nombre de fichiers dans un dossier, cela fonctionne correctement de mon côté.

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)); 

enter image description here

+1

Merci. BTW, j'ai trouvé cette solution de contournement: 'adlsFileSystemClient.FileSystem.GetContentSummary (adlsAccountName,"/testfolder "). ContentSummary.FileCount'. – RudyCo

+0

Egalement publié sur GitHub ci-après: [link] (https://github.com/Azure/azure-sdk-for-net/issues/3770) – RudyCo