You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Python连接本地Azure CosmosDB模拟器的Table存储?

CosmosDB模拟器Table接口Python连接问题求助

我在Windows 10上用Python 3.6(CPython)运行Azure CosmosDB模拟器,想通过Table接口进行操作。微软提供的azure-cosmosdb-table 1.0.5 SDK连接云端CosmosDB账户完全正常,但就是连不上本地模拟器,折腾了好久都没解决。

环境信息

  • 操作系统:Windows 10
  • Python版本:3.6(CPython)
  • 使用的SDK:azure-cosmosdb-table 1.0.5

我尝试的连接代码

我尝试了各种参数组合,还写了个no_ssl_verification上下文管理器来禁用requests库的SSL验证,代码如下:

import logging
from azure.cosmosdb.table import TableService
from nossl import no_ssl_verification
logging.basicConfig(level=logging.DEBUG)
connection = {
 'AccountName': 'devstoreaccount1',
 'AccountKey': 'C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==',
 'TableEndpoint': 'https://localhost:8081',
}
connection_string = ';'.join('{k}={v}'.format(k=k, v=v) for k, v in connection.items())
print(connection_string)
with no_ssl_verification():
 ts = TableService(
 endpoint_suffix = "https://localhost:8081",
 connection_string= connection_string,
 is_emulated=True)
 ts.create_table('mytable')

报错信息

运行后一直报400错误,提示请求URL无效:

Bad Request {"code":"BadRequest","message":"Request url is invalid., Microsoft.Azure.Documents.Common/2.2.0.0"}

已做的验证和尝试

  • 我没找到模拟器Table接口连接参数的官方文档,账户名和密钥是从模拟器Web界面获取的,其他参数都是自己试出来的;如果缺少这些参数,SDK会直接尝试连接云端服务,肯定失败
  • 把is_emulated设为False时,SDK也会连接远程主机,必须设为True才行,但还是报错
  • 用azure-cosmos SDK连接模拟器的SQL/文档接口是成功的,代码如下:
from azure.cosmos.cosmos_client import CosmosClient
cc = CosmosClient('https://localhost:8081', auth={'masterKey': 'C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw=='})
cc.CreateDatabase({'id': 'mydb'})

这段代码能成功创建数据库,在模拟器的数据资源管理器里也能看到。

有没有大佬能提供CosmosDB模拟器Table接口的正确连接字符串参考?

内容的提问来源于stack exchange,提问作者josteinb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 05:13:58