我正在尝试通过python访问Azure表存储。
在这里进行了一次旧的演练: https://docs.microsoft.com/en-us/azure/cosmos-db/table-storage-how-to-use-python#install-the-azure-storage-sdk-for-python
但是,它为 Azure Tables 特别引用的Python SDK(https://github.com/Azure/azure-storage-python)已被移动/弃用,以支持Azure Cosmos DB SDK。
在弃用说明中,他们说要使用此SDK: https://github.com/Azure/azure-cosmosdb-python
在该SDK的文档中,他们会引荐您转到https://azure.microsoft.com/en-us/develop/python/
在该页面上的表存储和链接中,它会引导您返回第一个链接(!!)
============
1)我想要做的就是使用Python SDK查询传统 Azure表存储(非CosmosDB)
2)理想情况下,Python SDK还包括Azure Tables的加密/解密功能。
我缺少什么/ python SDK在任何地方都存在?
注意: 我看到https://github.com/Azure/azure-cosmosdb-python/tree/master/azure-cosmosdb-table 但是这个SDK似乎需要部署CosmosDB - 它无法连接到传统的AzureTables。我的理解不正确吗?
感谢您提供的任何帮助。
答案 0 :(得分:2)
Azure CosmosDB表SDK IS Azure存储表SDK。重塑品牌是微软内部重组的一部分,但这是相同的代码和相同的终端,同样的一切。
Storage SDK是一个大客户端,它被拆分为表/队列/博客/文件包,以便将表的所有权归给CosmosDB团队。
https://docs.microsoft.com/en-us/azure/cosmos-db/table-support
新的Azure Cosmos DB Python SDK是唯一支持Azure的SDK Python中的表存储。此SDK与两个Azure表连接 存储和Azure Cosmos DB Table API。
你也可以比较代码,你会看到:
(我在Azure SDK for Python团队的MS工作)
答案 1 :(得分:2)
Azure Table Storage 有一个 new python library 预览版,可通过 pip 安装。要安装使用以下 pip 命令
pip install azure-data-tables
此 SDK 能够以 Tables 或 Cosmos 端点为目标(尽管 Cosmos 有 known issues)。
对于查询 Azure 表存储帐户的用例,有两种查询方法。
查询单个表:
from azure.data.tables import TableClient
table_client = TableClient.from_connection_string(conn_str, table_name="myTableName")
query_filter = "RowKey eq 'row_key_5'"
for entity in table_client.query_entities(filter=query_filter):
print(entity)
查询表的存储帐户:
from azure.data.tables import TableServiceClient
table_service_client = TableServiceClient.from_connection_string(conn_str, table_name="myTableName")
query_filter = "TableName eq 'myTable'"
for table in table_service_client .query_entities(filter=query_filter):
print(table.table_name)
有关库的更多示例,请查看 Azure GitHub Repository 上托管的示例。
(仅供参考,我在 Microsoft 的 Azure SDK for Python 团队工作)
答案 2 :(得分:0)
实际上,Azure隐藏了部分Table Storage SDK
引导链接,有助于推广Cosmos DB Table API
。正如您在答案中提到的,Azure Storage SDK现已合并到Cosmos菜单中。
但是,我在回购邮件中找到了来自previous version的旧Azure表存储Python SDK。
即使上述链接不再更新,您也可以参考上述链接。
顺便说一句,您可以通过从link迁移到Azure表存储中的Azure Cosmos Table API来获得好处。
希望它对你有所帮助。