欢迎访问宙启技术站
智能推送

使用Python将文件从AzureBlob存储中下载到本地目录

发布时间:2023-12-19 00:41:19

要使用Python下载Azure Blob存储中的文件到本地目录,我们可以使用Azure Storage Blob库来实现。以下是一个使用例子:

首先,确保已经安装了Azure Storage Blob库。可以使用以下命令安装:

pip install azure-storage-blob

接下来,导入所需的库:

from azure.storage.blob import BlobServiceClient

创建一个Azure Blob服务客户端,需要传入存储账户的连接字符串:

connection_string = "DefaultEndpointsProtocol=https;AccountName=<account_name>;AccountKey=<account_key>;EndpointSuffix=core.windows.net"
blob_service_client = BlobServiceClient.from_connection_string(connection_string)

接下来,指定要下载的Blob容器和Blob文件的名称:

container_name = "<container_name>"
blob_name = "<blob_name>"

获取容器和Blob对象:

container_client = blob_service_client.get_container_client(container_name)
blob_client = container_client.get_blob_client(blob_name)

指定要将文件下载到的本地目录:

local_directory = "<local_directory>"

使用Blob客户端将Blob文件下载到本地目录:

with open(local_directory + blob_name, "wb") as f:
    data = blob_client.download_blob()
    data.readinto(f)

下载完成后,文件将保存在本地目录中。完整的代码如下所示:

from azure.storage.blob import BlobServiceClient

connection_string = "DefaultEndpointsProtocol=https;AccountName=<account_name>;AccountKey=<account_key>;EndpointSuffix=core.windows.net"
blob_service_client = BlobServiceClient.from_connection_string(connection_string)

container_name = "<container_name>"
blob_name = "<blob_name>"

container_client = blob_service_client.get_container_client(container_name)
blob_client = container_client.get_blob_client(blob_name)

local_directory = "<local_directory>"

with open(local_directory + blob_name, "wb") as f:
    data = blob_client.download_blob()
    data.readinto(f)

将上述代码中的<account_name><account_key><container_name><blob_name><local_directory>替换为实际的值。

这样,就可以使用Python将文件从Azure Blob存储中下载到本地目录了。