我很难找到用于创建从python到Azure Table Storage表的范围查询的正确语法。
延续令牌无法帮助我,因为我想定义一个特定范围或RowKeys并仅检索那些。
我一直在尝试以下
rows = table_service.query_entities(
tableName,
"PartitionKey eq '6' and RowKey gt '1452702466022' and RowKey lt '1452702466422")
和
rows = table_service.query_entities(
'rawpowervalues6', "PartitionKey eq '6'",
select="RowKey gt '1452702466022' and RowKey lt '1452702466422")
没有运气。我找不到任何关于python范围查询的官方文档。到目前为止,最好的资源是that,但我无法在python中使用它。
答案 0 :(得分:2)
在您的第一个查询中,您错过了结尾引用:'
。您可能想尝试:
rows = table_service.query_entities( \
tableName, \
"((PartitionKey eq '6' and RowKey gt '1452702466022') and RowKey lt '1452702466422')")
答案 1 :(得分:2)
根据我的理解,@ Minghan说你的第一个代码是正确的但在;with judge as (SELECT top(1) 1 as x FROM SomeTable ORDER BY 1)
SELECT col1, col2, col3 ...
FROM TableA
WHERE 1 = (select x from judge)
UNION ALL
SELECT col1, col2, col3 ...
FROM TableB
WHERE 1 <> (select x from judge)
参数中缺少一个结束引用'
是正确的。对于第二个代码,filter
参数仅选择返回实体的属性名称,但不对其中的select
条件表达式进行编码。
您可以从Github https://github.com/Azure/azure-storage-python/blob/master/azure/storage/table/tableservice.py查看以下函数filter
的定义,并结合参考文档Querying Tables and Entities
table_service.query_entites
部分
Supported Comparison Operators