我正在尝试通过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表(https://github.com/Azure/azure-storage-python)引用的Python SDK已经被移动/废弃,以支持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 表的加密/解密功能。
我错过了什么/python SDK是否仍然存在于任何地方?
注意:我看到 https://github.com/Azure/azure-cosmosdb-python/tree/master/azure-cosmosdb-table 但此 SDK 似乎需要 CosmosDB 部署 - 它无法连接到传统的 AzureTables。我的理解不正确吗?
感谢您提供的任何帮助。
事实上,Azure隐藏了Table Storage SDK
引导链接的一部分,这有助于Cosmos DB Table API
的推广。正如您在回答中提到的,Azure存储SDK现在已合并到Cosmos菜单中。
然而,我在回购中发现了以前版本的旧Azure表存储Python SDK。
您可以参考上面的链接,即使它不再更新。
顺便说一句,您可以通过此链接从Azure表存储转移到Azure Cosmos表API来看到好处。
希望它能帮助你。
Azure Table Storage在预览版中有一个新的python库,可通过pip进行安装。要安装,请使用以下pip命令:
pip install azure-data-tables
这个SDK既可以针对一个表,也可以针对Cosmosendpoint(尽管Cosmos存在一些已知的问题)。
对于查询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存储库中托管的示例。
(仅供参考,我在微软的Azure SDK for Python团队工作)
Azure CosmosDB表SDK是Azure存储表SDK。重新命名是Microsoft内部一些重组的一部分,但这是相同的代码和相同的endpoint,一切都一样。
Storage SDK是一个大客户端,它被拆分为Table/Queue/Blog/Files包,以便将Table的所有权交给CosmosDB团队。
https://docs.microsoft.com/en-us/azure/cosmos-db/table-support
新的Azure Cosmos DB Python SDK是唯一支持Python中的Azure表存储的SDK。此SDK连接Azure表存储和Azure Cosmos DB表API。
你也可以比较代码,你会看到:
(我在微软的Azure SDK for Python团队工作)
我试图使用rest API从azure数据表中检索数据。 Api错误已输出,数据无效。 如果我同时添加RowKey和PartitionKey,就像下面这样。它起作用了。 是否需要通过行键? 如果我只想从一个分区检索所有数据。我知道,我们可以在查询参数中添加一个$filter,但这不会导致性能问题吗? 请分享你的想法。 谢谢!
您好,我正在尝试使用REST Api实现简单的Azure函数。My env是MSVC 2019,创建了一个简单的mmApi Function应用程序 我将这一行添加到表存储[Table(“boards”,Connection=“AzureWebJobsStorage”)]IAsyncCollector中 正在抛出以下错误 函数(AzureFuncAppmmApi/CreateBoard)错误:Mi
我们有一组blob触发器函数,我们计划为这些azure函数使用新的azure webjobs存储。我的问题是:由于新的存储帐户没有任何已处理文件的跟踪,是否会重新处理blob?如果是,我们可以避免这种再加工吗?在哪种情况下?
我是azure云服务平台的新手。今天我遇到了Azure提供的Key-Vault存储服务。它具有存储应用程序级密钥和设置的能力。它具有增强的数据保护功能,是安全可靠的。 但我不清楚的是,要连接到Key-Vault,我需要存储在应用程序配置中的Key-Vault的工件。 如果是这样的话,当有人在密钥值上掉线时,他不会连接到我的密钥库并读取我的所有密钥。 如果我应该加密我的本地密钥存储库设置,那么我可以
我们正在一个应用程序中使用Azure Storage SDK for Java V8来访问存储帐户中的一个简单表,只需几行,该版本无法通过客户安全扫描,但新版本的SDK似乎不适用于表存储。查看文档,使用最新SDK的表存储的唯一方法似乎是通过Cosmos DB table API访问。 “适用于 Java 的 Azur 存储”SDK 页(https://github.com/azure/azure-
我必须对Azure表存储进行查询,其中我有以下设置:RowKey、PartitionKey、ThirdColumn RowKey是唯一的,Partitionkey与ThirdColumn相关联,这意味着所有值为“Y”的第三列都将具有分区键“X”。 我必须使用ThirdColumn值获取分区键为X的所有实体。这将不是Performance,因为Y既不是PartitionKey也不是RowKey。 问