BlobServiceClient.from_connection_string(connect_str) 错误

Posted

技术标签:

【中文标题】BlobServiceClient.from_connection_string(connect_str) 错误【英文标题】:BlobServiceClient.from_connection_string(connect_str) error 【发布时间】:2021-11-29 04:14:17 【问题描述】:

我正在尝试将 JSON 文件上传到 Azure blob 存储帐户上的新容器中。 I use Microsoft quick guide 目前我的代码如下所示:

>import os, uuid
>from azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient
>connect_str = os.getenv('AZURE_STORAGE_CONNECTION_STRING')

So far It's works OK but when I add this line
>blob_service_client = BlobServiceClient.from_connection_string(connect_str)

我收到一条错误消息:

>(base) "`my file path`"
Traceback (most recent call last):
  File "`my file path`", line 14, in <module>
    blob_service_client = BlobServiceClient.from_connection_string(connect_str)
  File `".../anaconda3/lib/python3.8/site-packages/azure/storage/blob/_blob_service_client.py"`, line 174, in from_connection_string
    account_url, secondary, credential = parse_connection_str(conn_str, credential, 'blob')
  File `".../anaconda3/lib/python3.8/site-packages/azure/storage/blob/_shared/base_client.py"`, line 363, in parse_connection_str
    conn_str = conn_str.rstrip(";")
AttributeError: 'NoneType' object has no attribute 'rstrip'

我在我的 PC 上编写了相同的代码,大约一个月前我搬到了 Mac OS。我以为我做了所有相关的调整,但显然没有。 由于这个 mac 是全新的,我想我遗漏了一些包或者可能有错误的包版本。

我附上点子列表:

azure-common 1.1.27

天蓝色核心 1.12.0

azure-nspkg 3.0.2

天蓝色存储 0.36.0

azure-storage-blob 12.9.0

谢谢!

【问题讨论】:

【参考方案1】:

您的环境变量可能找不到。 试试这个代码

connect_str = os.environ['AZURE_STORAGE_CONNECTION_STRING']

它应该引发KeyError 或返回None。 我认为你应该确定变量真的被读取了,或者它的值不是None

【讨论】:

我认为它没有返回:raise KeyError(key) from None KeyError: 'AZURE_STORAGE_CONNECTION_STRING'

以上是关于BlobServiceClient.from_connection_string(connect_str) 错误的主要内容,如果未能解决你的问题,请参考以下文章