列出 Azure Data Lake Storage 中的容器

问题描述 投票:0回答:1

我尝试列出 Azure Data Lake Storage 帐户中特定目录内的容器,但似乎没有任何函数可以处理此问题

这是我的层次结构:

> assets
 > root
  > container1
  > container2
  > container3
  > container4
  > container5

我编写了以下函数来获取路径,它显示了所有容器,甚至在containerX内部。我想要实现的只是 asset/root 中容器的名称,而不需要比 containerX 更深的其他容器

import os
from azure.storage.filedatalake import DataLakeServiceClient

connection_string = os.getenv("AZURE_STORAGE_CONNECTION_STRING")
data_lake_service_client = DataLakeServiceClient.from_connection_string(conn_str=connection_string)

filesystem_client = data_lake_service_client.get_file_system_client(file_system="assets")

paths = filesystem_client.get_paths(path="root")

for path in paths:
    if path.is_directory:
        print("\t" + path.name)

很奇怪没有类似的功能

get_containers(路径=“”) 或者 列表容器(路径=“”)

仅列出它们

python azure storage azure-data-lake azure-storage-account
1个回答
0
投票

请更改以下代码行:

paths = filesystem_client.get_paths(path="root")

paths = filesystem_client.get_paths(path="root", recursive=False)

根据可用的文档

here
recursive
参数的默认值为
True
,这就是您看到子文件夹的原因。

© www.soinside.com 2019 - 2024. All rights reserved.