使用Python SDK通过RowKey和StartsWith过滤Azure表存储

本文关键字:过滤 Azure 存储 StartsWith Python SDK 通过 RowKey 使用 | 更新日期: 2023-09-27 18:01:16

我已经看到Azure表存储支持通过部分RowKey(除了PartitionKey)查询记录(这里的c#示例)。

然而,我在实际的文档中找不到任何与此相关的过滤查询结果(这里)。

我试图使用Python Azure-Storage SDK来查询PartitionKeyRowKey组合的子集,其中RowKey以某个字符串开始。我有代码(它工作,但不做正确的过滤任何行键):

from azure.storage.table import TableService
table_service = TableService(account_name=ACCOUNT_NAME, account_key=ACCOUNT_KEY)
entities = table_service.query_entities('mystoragetable', filter='PartitionKey eq mypartitionkey"', num_results=10)

然而,我不能找出语法也添加一个部分(startswith)约束的过滤器。

有没有人有过滤Azure表存储查询部分RowKey字符串的经验?我在这里不知所措;然而,通过上面示例中的C#代码似乎可以实现。

如果有任何关于如何通过REST调用来做到这一点的额外文档,我可能会将其转换为Python用法。

使用Python SDK通过RowKey和StartsWith过滤Azure表存储

假设您的RowKey值包含单词,并且您只想过滤以ab开头的单词,这就是您将添加到查询中的内容:

(RowKey ge 'a' and RowKey lt 'c') ==> (RowKey >= 'a' && RowKey < 'c')
所以你的代码应该是这样的:
entities = table_service.query_entities('mystoragetable', filter="PartitionKey eq 'mypartitionkey' and RowKey ge '<starts with substring>'", num_results=10)