使用 Azure Cosmos Db Table API 查询日期范围时出现无效筛选器异常
Getting InvalidFilterException when querying a date range using Azure CosmosDb Table API
我正在尝试使用 Table API.
从 CosmosDb 中获取给定日期范围内带有时间戳的一组结果
这就是我构建查询的方式:
var from = TableQuery.GenerateFilterConditionForDate("Timestamp", QueryComparisons.GreaterThanOrEqual,
new DateTimeOffset(2018, 2, 15, 15, 2, 45, TimeSpan.Zero));
var to = TableQuery.GenerateFilterConditionForDate("Timestamp", QueryComparisons.LessThan,
new DateTimeOffset(2018, 2, 15, 15, 3, 45, TimeSpan.Zero));
return new TableQuery<Audit>()
.Where(
TableQuery.CombineFilters(from, TableOperators.And, to));
但是,当我 运行 这个查询时,我得到以下 InvalidFilterException
类型的异常:
ODataException: Unrecognized 'Edm.String' literal
'datetime'2018-02-15T15:02:45.0000000Z'' at '14' in '(Timestamp ge
datetime'2018-02-15T15:02:45.0000000Z') and (Timestamp ge
datetime'2018-02-15T15:03:45.0000000Z')'.
谁能帮我理解这是什么意思?我做错了什么吗?
Can anyone help me understand what this means? Am I doing something wrong?
我也可以用 Microsoft.Azure.CosmosDB.Table version 1.0.0 重现这个。
如果我将Microsoft.Azure.CosmosDB.Table版本的版本更新为1.1.0那么也不例外,过滤结果计数总是等于0。
现在好像不支持Timestamp过滤了。您还可以将 feedback 交给 Azure 团队。
我正在尝试使用 Table API.
从 CosmosDb 中获取给定日期范围内带有时间戳的一组结果这就是我构建查询的方式:
var from = TableQuery.GenerateFilterConditionForDate("Timestamp", QueryComparisons.GreaterThanOrEqual,
new DateTimeOffset(2018, 2, 15, 15, 2, 45, TimeSpan.Zero));
var to = TableQuery.GenerateFilterConditionForDate("Timestamp", QueryComparisons.LessThan,
new DateTimeOffset(2018, 2, 15, 15, 3, 45, TimeSpan.Zero));
return new TableQuery<Audit>()
.Where(
TableQuery.CombineFilters(from, TableOperators.And, to));
但是,当我 运行 这个查询时,我得到以下 InvalidFilterException
类型的异常:
ODataException: Unrecognized 'Edm.String' literal 'datetime'2018-02-15T15:02:45.0000000Z'' at '14' in '(Timestamp ge datetime'2018-02-15T15:02:45.0000000Z') and (Timestamp ge datetime'2018-02-15T15:03:45.0000000Z')'.
谁能帮我理解这是什么意思?我做错了什么吗?
Can anyone help me understand what this means? Am I doing something wrong?
我也可以用 Microsoft.Azure.CosmosDB.Table version 1.0.0 重现这个。
如果我将Microsoft.Azure.CosmosDB.Table版本的版本更新为1.1.0那么也不例外,过滤结果计数总是等于0。
现在好像不支持Timestamp过滤了。您还可以将 feedback 交给 Azure 团队。