当您知道文件类型但不知道名称时,如何从 Azure Data Lake 下载文件?

我可以运行以下命令来下载文件“some/path/known_name.json”


def download_file():

    try:

        file_system_client = FileSystemClient.from_connection_string(...)


        full_file_location = "some/path/known_name.json"

        target_file_client = file_system_client.get_file_client(full_file_location)


        download=target_file_client.download_file()

        downloaded_bytes = download.readall()

        local_file = open('my_file.json','wb')

        local_file.write(downloaded_bytes)

        local_file.close()


    except Exception as e:

        print(e)


我的问题是:当文件名未知但文件类型已知(例如“ different/path/xxx.json”)时,如何从其他路径下载


有只小跳蛙
浏览 99回答 1
1回答

UYOU

您可以列出容器中的 blob,然后按 .json 扩展名过滤 json 文件blob.name。这是我的测试容器中的 blob:这是我的Python代码:import os, uuidfrom azure.storage.blob import BlobServiceClient, BlobClient, ContainerClienttry:    # environment variable into account.    connect_str = os.getenv('AZURE_STORAGE_CONNECTION_STRING')    # Create the BlobServiceClient object which will be used to create a container client    blob_service_client = BlobServiceClient.from_connection_string(connect_str)    # Create a unique name for the container    container_name = "test"         # Create the container    container_client = blob_service_client.get_container_client(container_name)    # List the blobs in the container    local_path = "./data"    blob_list = container_client.list_blobs()    for blob in blob_list:        if('.json' in blob.name) :            local_file_name = blob.name            blob_client = blob_service_client.get_blob_client(container=container_name, blob=local_file_name)            download_file_path = os.path.join(local_path, local_file_name)            print("\nDownloading blob to \n\t" + local_path)                    with open(download_file_path, "wb") as download_file:                download_file.write(blob_client.download_blob().readall())            print("\t" + blob.name)except Exception as ex:    print('Exception:')    print(ex)当我运行代码时,它将下载data.json和data2.json.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python