【发布时间】:2022-01-07 22:42:27
【问题描述】:
我们能否举一些例子来使用 .NET(C#) 从 Azure Data Lake 的所有文件夹中获取所有文件的列表。
我们正在进行数据工厂查找活动,但性能不佳。
我们需要检查另一种获取文件列表并写入日志文件夹的方法
块引用
【问题讨论】:
标签: c# .net azure azure-data-lake-gen2
我们能否举一些例子来使用 .NET(C#) 从 Azure Data Lake 的所有文件夹中获取所有文件的列表。
我们正在进行数据工厂查找活动,但性能不佳。
我们需要检查另一种获取文件列表并写入日志文件夹的方法
块引用
【问题讨论】:
标签: c# .net azure azure-data-lake-gen2
这对我来说是这样的
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);
}
}
}
输出:
【讨论】: