Я пытаюсь получить все пути к каталогам в Azure Data Lake Storage Gen2, используя подход, упомянутый здесь. Вот мой код:
# Connect to account
def initialize_storage_account_ad(storage_account_name, client_id, client_secret, tenant_id):
try:
global service_client
credential = ClientSecretCredential(tenant_id, client_id, client_secret)
service_client = DataLakeServiceClient(account_url="{}://{}.dfs.core.windows.net".format(
"https", storage_account_name), credential=credential)
except Exception as e:
print(e)
# List Directory Contents
def list_directory_contents():
try:
file_system_client = service_client.get_file_system_client(file_system="my-file-system")
paths = file_system_client.get_paths(path="my-directory")
for path in paths:
print(path.name + '\n')
except Exception as e:
print(e)
Использование FileSystemClient.get_pathsметода извлекает пути как к файлам, так и к каталогам.
Есть ли эффективный обходной путь для извлечения или фильтрации только путей к каталогам?
Пожалуйста, порекомендуйте.
Решение проблемы
get_paths возвращает генератор для перечисления путей (могут быть файлы или каталоги) в указанной файловой системе, который также содержит свойства для каждого пути.
path.is_directory == Trueпомогает отличать каталоги от файлов.
Комментариев нет:
Отправить комментарий