在对Azure Table Storage api的ajax请求中,我指定了以下url
url:'https://myaccount.table.core.windows.net/mytable(PartitionKey=\'2016-01-12_1\')?$filter=RowKey+ge+1',
哪个请求响应错误。我尝试了一些修改,例如在过滤器中的单词之间使用普通空格或使用%20
,但结果是相同的。
我确定该分区存在且包含大于1的值。
如果网址格式为:
url:'https://myaccount.table.core.windows.net/mytable(PartitionKey=\'2016-01-12_1\',RowKey=\'someValue\'),
然后它的工作原理。但我无法使用过滤器。什么想法可能会出错?
答案 0 :(得分:3)
我相信你不正确地使用它。如果您在括号中指定PartitionKey
,那么您也必须在其中使用RowKey
。你不能混合2个选项。
来自Querying Tables and Entities
:
因为PartitionKey和RowKey属性构成了一个实体 主键,您可以使用特殊语法来标识实体,如 如下:
https://myaccount.table.core.windows.net/Customers(PartitionKey='MyPartition',RowKey='MyRowKey1')
如果您要在RowKey
上过滤某些PartitionKey
值,则必须仅在PartitionKey
中指定$filter
。因此,您的请求网址为:
https://myaccount.table.core.windows.net/mytable()?$filter=PartitionKey eq 'PartitionKeyValue' and RowKey ge 'RowKeyValue'