使用 C# 从 Azure DataLake 获取所有文件夹中所有文件的列表

Posted

技术标签:

【中文标题】使用 C# 从 Azure DataLake 获取所有文件夹中所有文件的列表【英文标题】:Get List of all files from all folder from Azure DataLake using C# 【发布时间】:2022-01-07 22:42:27 【问题描述】:

我们能否举一些例子来使用 .NET(C#) 从 Azure Data Lake 的所有文件夹中获取所有文件的列表。

我们正在进行数据工厂查找活动,但性能不佳。

我们需要检查另一种获取文件列表并写入日志文件夹的方法

块引用

【问题讨论】:

【参考方案1】:

这对我来说是这样的

using Azure.Storage.Blobs;
using Azure.Storage.Blobs.Models;
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Auth;
using Microsoft.WindowsAzure.Storage.Blob;
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1

    class Program
    
        static async Task Main(string[] args)
        
            var account = new CloudStorageAccount(new StorageCredentials("<YOUR ACCOUNT NAME>", "<YOUR CONNECTION STRING>"), true);
            var containerName = "<YOUR CONTAINER NAME>";
            var blobClient = account.CreateCloudBlobClient();
            var container = blobClient.GetContainerReference(containerName);
            BlobContinuationToken token = null;

            do
            
                var blobPrefix = "";
                var useFlatBlobListing = true;
                var blobsListingResult = container.ListBlobsSegmentedAsync(blobPrefix, useFlatBlobListing, BlobListingDetails.None, 500, token, null, null);
                var blobsList = blobsListingResult.Result;
                foreach (var item in blobsList.Results)
                
                    var blobName = (item as CloudBlob).Name;
                    Console.WriteLine(blobName);
                
            
            while (token != null);
        
    

输出:

参考文献 How to list all virtual directories and subdirectories

【讨论】:

以上是关于使用 C# 从 Azure DataLake 获取所有文件夹中所有文件的列表的主要内容,如果未能解决你的问题,请参考以下文章

如何在 databricks 工作区中使用 python 获取 azure datalake 存储中存在的每个文件的最后修改时间?

使用 Azure databricks /Synapse notebooks 中的 Json.load 从 Azure datalake 读取 Json 文件作为文件

如何使用 java azure-storage-file-datalake 复制 Azure 存储文件/目录

Azure Datalake Store Gen2 使用 scala spark 库从 Databricks 读取文件

azure datalake (gen2) 日志中的用户 ID

我们可以使用 Azure DevOps 测试计划进行 Datalake 测试吗