0

我在具有以下架构的 Azure 存储表中有数据:

PartitionKey      TimeStamp         Name
..                ...               ...

我想返回名称以 . 开头的所有实体mem。我正在尝试在 python 中实现这一点。

我只能找到有关在 SDK 中的过滤器参数中进行完整字符串比较的文档(https://docs.microsoft.com/en-us/rest/api/storageservices/Querying-Tables-and-Entities?redirectedfrom=MSDN) . 有没有办法进行部分比较?

等效的 SQL 查询是

SELECT * from table where NAME LIKE mem%
4

1 回答 1

1

天蓝色表存储中没有这样的运算符。

但是有一个技巧(这里是一个关于这个的博客)你可以用来达到你的目的。定义您的 $filter 如下所示:

"Name ge 'mem' and Name lt 'men'"

这是测试代码(有关更多详细信息,请参阅此文档),并且工作正常:

from azure.cosmosdb.table.tableservice import TableService
from azure.cosmosdb.table.models import Entity

table_service = TableService(account_name='xxx', account_key='xxx')

tasks = table_service.query_entities(
    'your_table_name', filter="Name ge 'mem' and Name lt 'men'")

for task in tasks:
    print(task.Name)

我这边的测试结果:

在此处输入图像描述

于 2020-08-17T02:04:09.923 回答