Python: Listen Sie Container im Azure Data Lake -Speicher auf
Posted: 05 Feb 2025, 12:42
Ich versuche, die Container in einem bestimmten Verzeichnis innerhalb des Azure Data Lake -Speicherkontos aufzulisten, aber es scheint keine Funktion zu sein, die dies umgehen kann: < /p>
Hier ist Meine Hierarchie: < /p>
assets
root
container1
container2
container3
container4
container5
< /code>
Ich habe die folgende Funktion geschrieben, die den Pfad erhält, und es zeigt alle Container auch innerhalb des Containers. Was ich erreichen möchte, ist, den Namen der Behälter in Vermögenswerte/Wurzeln zu setzen, ohne andere Container tiefer als Container zu haben.
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)
< /code>
Es ist ziemlich seltsam, dass es keine Funktionen wie < /p>
get_containers (path = "")
oder
list_containers (path = "") < /p>
< /blockquote>
, um sie nur < /p aufzulisten>
Hier ist Meine Hierarchie: < /p>
assets
root
container1
container2
container3
container4
container5
< /code>
Ich habe die folgende Funktion geschrieben, die den Pfad erhält, und es zeigt alle Container auch innerhalb des Containers. Was ich erreichen möchte, ist, den Namen der Behälter in Vermögenswerte/Wurzeln zu setzen, ohne andere Container tiefer als Container zu haben.
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)
< /code>
Es ist ziemlich seltsam, dass es keine Funktionen wie < /p>
get_containers (path = "")
oder
list_containers (path = "") < /p>
< /blockquote>
, um sie nur < /p aufzulisten>