Получение InvalidFilterException при запросе диапазона дат с помощью Azure CosmosDb Table API
Я пытаюсь получить набор результатов с отметкой времени в заданном диапазоне дат из CosmosDb, используя Table API.
Вот как я строю свой запрос:
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: нераспознанные литералы 'Edm.String' datetime'2018-02-15T15:02:45.0000000Z'' в '14' in '(метка времени ge datetime'2018-02-15T15:02:45.0000000Z') и (метка времени ge datetime'2018-02-15T15:03:45.0000000Z')'.
Может кто-нибудь помочь мне понять, что это значит? Я делаю что-то неправильно?
1 ответ
Может кто-нибудь помочь мне понять, что это значит? Я делаю что-то неправильно?
Я также могу воспроизвести это с Microsoft.Azure.CosmosDB.Table версии 1.0.0 на моей стороне.
Если я обновлю версию Microsoft.Azure.CosmosDB.Table до версии 1.1.0, то не исключение, счетчик результатов фильтра всегда будет равен 0.
Похоже, что фильтрация по меткам времени не поддерживается. Вы также можете оставить свой отзыв команде Azure.