Django接入Azure Blob存储导入BlobClient报错该如何解决?
错误原因
你当前安装的azure-storage-blob版本为1.5.0,属于已停止维护的v1 legacy版本,BlobClient是v12及以上版本才提供的官方API,因此会出现导入失败的报错。
解决方案
方案一:升级到v12版本(推荐)
- 先卸载旧版本相关依赖,避免版本冲突:
pip uninstall -y azure-storage-blob azure-storage-common azure-storage-file azure-storage-queue
- 安装最新稳定版的
azure-storage-blob:
pip install azure-storage-blob
如果项目中其他依赖和最新版存在兼容问题,可指定安装v12分支的稳定版本,例如:
pip install azure-storage-blob==12.19.0
升级完成后即可正常导入BlobClient使用官方最新接口实现文件上传逻辑。
方案二:保留旧版本,使用兼容接口
如果暂时无法升级版本,可以改用v1版本对应的BlockBlobService类实现上传需求,示例代码如下:
from azure.storage.blob import BlockBlobService # 初始化存储服务 block_blob_service = BlockBlobService( account_name="你的Azure存储账户名称", account_key="你的Azure存储账户密钥" ) # 本地文件上传示例 block_blob_service.create_blob_from_path( container_name="目标容器名称", blob_name="上传后在Blob中存储的文件名", local_path="待上传的本地文件路径" )
内容的提问来源于stack exchange,提问作者user13066942
相关产品推荐
相关产品推荐

