Я хочу использовать DataLakeFileSystemClient для запроса путей с помощью Regex. К сожалению, единственный способ понять это до сих пор - это пройти каждый путь с префиксом, а затем использовать Regex постфактум, чтобы проверить, соответствует ли элемент. Есть ли лучший способ сделать это?
private async static IAsyncEnumerable TraverseDirectories(DataLakeFileSystemClient fileSystemClient,
string directoryPath, string filePattern, [EnumeratorCancellation] CancellationToken cancellationToken)
{
cancellationToken.ThrowIfCancellationRequested();
// List all paths (files and directories) in the current directory
await foreach (PathItem pathItem in fileSystemClient.GetPathsAsync(directoryPath, recursive: true, cancellationToken: cancellationToken))
{
cancellationToken.ThrowIfCancellationRequested();
if (pathItem.IsDirectory.HasValue && pathItem.IsDirectory.Value)
continue;
// Match files using a wildcard pattern
if (Regex.IsMatch(pathItem.Name, filePattern))
{
yield return pathItem.Name;
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... sing-regex