Azure/Python - 从存储中快速下载文件

Azure/Python - download files quickly from storage

我的 Azure webapp 需要从 blob 存储目录下载 1000 多个非常小的文件并处理它们。

如果我列出它们,然后一个一个地下载它们,这需要很长时间...有没有快速的方法来做到这一点?想一起下载吗?

PS:我使用下面的代码:

from azure.storage.blob import ContainerClient, BlobClient

blob_list = #... list all files in a blob storage directory

for blob in blob_list:
    blob_client = BlobClient.from_connection_string(connection_string, container_name, blob)
    downloader = blob_client.download_blob(0)
    blob = pickle.loads(downloader.readall())

我使用 Azure databricks 解决了类似的问题。您可以轻松地将 Azure 存储帐户安装在数据块(即 ADLS Gen2)中,然后处理本地文件等存储文件。您可以复制文件或直接执行 process/transform,甚至无需下载它们。
您可以在 LINK
中找到数据块安装步骤 在数据块中,您还可以使用 dbutils 函数来 OS 在安装 ADLS 后访问您的文件。
我希望这种方法能有所帮助。

我还要指出,由于您使用的是 azure-batch,因此您可以在 linux VM 中使用 blob 安装配置。因此,我们的想法是将驱动器安装到您的 VM,从而消除所有下载时间,并且您的驱动器已连接到虚拟机。

谢谢,希望对您有所帮助。