Azure Storage Explorer Запрос, где по методу Timestamp

это моя первая работа с Azure Storage Explorer, и мне нужно прочитать некоторые журналы, которые сохраняются в Azure Tables. Моя версия - 4

Я прочитал эту ссылку http://msdn.microsoft.com/library/azure/ff683669.aspx, но не существует объяснений для работы со столбцом Timestamp.

В принципе, я хочу видеть журналы с определенной даты.

Я попробовал запрос:

Timestamp ge '4/10/2013' Timestamp ge 4/10/2013 Timestamp gt '4/10/2013'
Timestamp gt 4/10/2013

И результат будет только сообщением об ошибке.

При обработке этого запроса произошла ошибка.

Ответ 1

Похоже, вам нужно будет использовать что-то вроде ниже, чтобы отфильтровать временную метку. Пожалуйста, посмотрите здесь Filtering on DateTime Properties .

Timestamp ge datetime'2008-07-10T00: 00: 00Z '

Ответ 2

Вот как вы могли это сделать:

var dateFilter = "(PartitionKey ge '0" + StartTime.Ticks + "')" + "and (PartitionKey le '0" + EndTime.Ticks + "')";

StartTime и EndTime будет вашим диапазоном дат. Помните, что вы можете запрашивать только PartitionKey, потому что он имеет индекс.

Ответ 3

Это должно работать

Timestamp ge datetime'2013-10-06T00:00:00'

Ответ 4

Используйте TableQuery.GenerateFilterConditionForDate() чтобы задать параметры запроса на основе даты и времени для таблиц хранения таблиц Azure:

using Microsoft.WindowsAzure.Storage.Table;

// Input parameters to your method, etc:
DateTimeOffset from;
DateTimeOffset until;

string DateFromFilter = TableQuery.GenerateFilterConditionForDate("Date", QueryComparisons.GreaterThanOrEqual, from);
string DateUntilFilter = TableQuery.GenerateFilterConditionForDate("Date", QueryComparisons.LessThanOrEqual, until);

finalFilter - это просто строка, которую вы создаете с помощью методов TableQuery, таких как CombineFilters():

finalFilter = TableQuery.CombineFilters(finalFilter, TableOperators.And, DateFromFilter);
finalFilter = TableQuery.CombineFilters(finalFilter, TableOperators.And, DateUntilFilter);

TableQuery<MyAzureObject> query = new TableQuery<MyAzureObject>().Where(finalFilter);

Ответ 5

Если вы хотите отфильтровать запрос в диапазоне дат, используйте:

Timestamp ge datetime'2017-07-21T20:07:35.000Z' and Timestamp lt datetime'2017-07-24T20:07:35.000Z'

Ответ 6

Это работает для меня. Но что, если бы фильтровать по текущей дате? Существуют ли предопределенные переменные/функции, которые будут возвращать текущую дату?