我已经看到Azure表存储支持通过部分RowKey(除了PartitionKey之外)查询记录(C#示例here)。

但是,我在过滤查询结果(here)的实际文档中找不到与此相关的任何内容。

我正在尝试使用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)的语法。

有没有人有过使用部分RowKey字符串过滤Azure表存储查询的经验?我在这里不知所措;但是,似乎可以通过以上示例中的C#代码进行操作。

如果有关于如何通过REST调用执行此操作的其他文档,我可能可以将其转换为Python用法。

最佳答案

假设您的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)

关于c# - 使用Python SDK通过RowKey和StartsWith筛选Azure表存储,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38834919/

10-09 00:41