python-3.x - BlockBlobService 类位于 Python Azure 模块中的什么位置?

标签 python-3.x azure azure-storage azure-blob-storage conda

我对使用 microsoft azure 服务还很陌生,并尝试按照 https://learn.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-python 中的教程进行操作。在 Windows PC 上使用 conda 4.5.11 发行版中的 Python 3.5.6。

导入 azure 时遇到的第一个问题是我无法以通常的方式查看版本。这意味着

azure.__version__ 

出现错误。

然后,这行代码给我一个错误,说它既不能导入名称 BlockBlobService,也不能导入名称 PublicAccess。似乎两者都已被弃用,或者我自己使用一些旧版本。

from azure.storage.blob import BlockBlobService, PublicAccess  #Option 1

但是,以下导入正在运行。

from azure.storage.blob import BlobService #Option 2 

但问题是在我创建本地文件并尝试使用 create_blob_from_path 方法上传(按照教程中的建议)后,该​​方法要么不存在,要么已弃用。

我在网上查找了此 BlockBlobService 问题的解决方案,似乎对于要导入的正确模块层次结构和类名一直存在困惑。例如,一位用户从图书馆获得了一些官方文档,其中建议这样做,但这也不起作用。

from azure.storage import BlobService #Option 3

仍有其他人对此提出了一些投诉,至少在我的系统上有效。但这不会导入所需的 Blob 对象。

import azure.storage.blob #Option 4

此外,根据本文档,https://learn.microsoft.com/en-us/python/api/azure-storage-blob/azure.storage.blob.blockblobservice.blockblobservice?view=azure-python

BlockBlobService 类位于 azure.storage.blob.blockblobservice 模块中。但是当我尝试导入它时,解释器也会抛出导入错误。

大多数建议的解决方案都是围绕版本的升级/降级,但是,愚蠢的我,不知怎的,我什至无法像其他模块那样找到azure模块的版本。另外,似乎许多解决方案都是针对在 Linux 上运行的 pip3 的,因此我在 Windows 上使用 conda 4.5.11。那么如何让azure API发挥作用呢?

最佳答案

截至 2020 年 11 月,Azure 维护两个版本的存储 SDK:

2.1 被认为是 API 的旧版本 ( Link ):

This quickstart uses a legacy version of the Azure Blob storage client library. To get >started with the latest version, see Quickstart: Manage blobs with Python v12 SDK.

BlockBlobService 位于 v2.1 中,应避免使用。 改用 v12 版本

关于python-3.x - BlockBlobService 类位于 Python Azure 模块中的什么位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52644426/

相关文章:

Azure Sentinel - 缺少 Office 365 日志

json - Azure Bicep/Json - 无法正确解析 JSON

encryption - 向 CloudPageBlob 添加“静态”加密? (不是传输加密)

python-3.x - 在 Seaborn 中隐藏轴标题

node.js - 将 Node v4.0 用于 Windows Azure Web 应用程序

c# - 在 azure blob 存储中设置 Ionic Zip 密码,并为 zip 文件夹而不是文件设置最佳压缩

python-3.x - 使用 azure-storage-blob 或 azure-storage 上传和删除 Azure 存储 Blob

python - json_normalize 带有包含字典的列表的 JSON 文件(包括示例)

python - 如何将此功能应用于目录的所有 xml 文档?

python - 列表理解在 Python2 : how making it be compatible with Python3 中泄漏了它们的循环变量