python - 使用 Python SDK 创建 Azure 容器时出现“HTTP 标头格式不正确”错误
问题描述
我正在尝试使用 Python SDK 和以下代码创建一个 Azure blob 容器。我在响应中收到“ErrorCode:InvalidHeaderValue”。
我正在使用存储帐户 Azure 门户中“访问密钥”部分的“连接字符串”。而且我认为连接不是问题,因为这条线工作正常blob_service_client = BlobServiceClient.from_connection_string(connection_string)
。
我为此使用了一个干净的 venv,下面是库版本 azure-core==1.10.0 azure-storage-blob==12.7.1
import os
import yaml
from azure.storage.blob import ContainerClient, BlobServiceClient
def load_config():
dir_root = os.path.dirname(os.path.abspath(__file__))
with open (dir_root + "/config.yaml", "r") as yamlfile:
return yaml.load(yamlfile, Loader=yaml.FullLoader)
config = load_config()
connection_string = config['azure_storage_connectionstring']
blob_service_client = BlobServiceClient.from_connection_string(connection_string)
blob_service_client.create_container('testing')
Traceback (most recent call last):
File "/Users/anojshrestha/Documents/codes/gen2lake/project_azure/lib/python3.7/site-packages/azure/storage/blob/_container_client.py", line 292, in create_container
**kwargs)
File "/Users/anojshrestha/Documents/codes/gen2lake/project_azure/lib/python3.7/site-packages/azure/storage/blob/_generated/operations/_container_operations.py", line 134, in create
raise HttpResponseError(response=response, model=error)
azure.core.exceptions.HttpResponseError: Operation returned an invalid status 'The value for one of the HTTP headers is not in the correct format.'
During handling of the above exception, another exception occurred:
.......
azure.core.exceptions.HttpResponseError: The value for one of the HTTP headers is not in the correct format.
RequestId:5X-601e-XXXX00ab-5368-f0c05f000000
Time:2021-01-22T02:43:22.3983063Z
ErrorCode:InvalidHeaderValue
Error:None
HeaderName:x-ms-version
HeaderValue:2020-04-08```
解决方案
您不需要重新安装。您可以通过api_version
在实例化任何客户端时设置变量来解决此问题。
例如:
blob = BlobServiceClient(
account_url="https://MY_BLOB_STORAGE.blob.core.windows.net",
credential="MY_PRIMARY_KEY",
api_version="2019-12-12", #or api_version='2020-02-10'
)
推荐阅读
- javascript - 如何引用多个索引 .innerHTML 方法
- javascript - 在 reactjs 中的两个函数之间添加延迟
- c# - 在 Unity 中,如何将命名依赖项注入具有其他依赖项的构造函数中?
- c# - 在运行时更新 PNG 图像会引发 GDI+ 溢出异常
- wordpress - wordpress 对帖子的评论直接进入垃圾箱
- java - 在 java 类中捕获错误
- javascript - Selectize.js 预填充
- python - 当特征分布不同时为机器学习缩放特征向量
- python - @login_required 视图装饰器仅接受 Django 测试中的超级用户
- c - 为什么调用 setjmp() 中的函数会出现分段错误?