pydocumentdb 2.3 x-ms-version header问题

时间:2017-11-14 15:52:12

标签: python azure azure-cosmosdb

我正在使用pydocumentdb连接到本地运行的Azure Cosmos DB模拟器,所有这些都使用pydocumentdb版本2.2.1正常工作。我的IDE建议pydocumentdb版本2.3.0现在可用,所以我升级了它。现在,当我尝试连接到模拟器时,收到以下错误:

{"code":"BadRequest","message":"Invalid API version. Ensure a valid x-ms-version header value is passed.\r\nActivityId: 0e0acdab-8e0d-409e-b7fe-efec3bed3044"}

我非常确定应该设置为2017-02-22,但我无法弄清楚改变了什么和/或如何弄清楚客户端发送了什么。

1 个答案:

答案 0 :(得分:0)

我尝试重现您的问题,但失败了。

我的pydocumentdb版本是2.3.0:

enter image description here

我的python代码:

import pydocumentdb;
import pydocumentdb.document_client as document_client

config = {
    'ENDPOINT': 'https://localhost:8081',
    'MASTERKEY': 'C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==',
    'DOCUMENTDB_DATABASE': 'db',
    'DOCUMENTDB_COLLECTION': 'testcoll'
};

# Initialize the Python DocumentDB client
client = document_client.DocumentClient(config['ENDPOINT'], {'masterKey': config['MASTERKEY']})

results = list(client.QueryDocuments('dbs/db/colls/testcoll', {'query': 'SELECT * FROM server s'}))

print(results)

输出结果:

enter image description here

似乎结果打印正确。我的情况与你的不同吗?请发布您的相关代码的详细信息。

此外,您可以使用Fiddler来捕获HTTP请求消息。

更新答案:

我使用Python 3.6.2测试这些步骤,它也可以正常工作。

enter image description here

enter image description here