这是我第一次使用Azure Storage Explorer,我需要阅读一些保存在Azure Tables中的日志。我的版本是4
我阅读了此引用http://msdn.microsoft.com/library/azure/ff683669.aspx,但没有解释可以使用列Timestamp。
基本上,我想查看特定日期以来的日志。
我尝试了类似的查询;
Timestamp ge'4 / 10/2013'
时间戳ge 4/10/2013
时间戳gt'4/10/2013'
时间戳gt 4/10/2013
结果只是一条错误消息。
处理此请求时出错。
答案 0 :(得分:17)
看起来您需要使用类似下面的内容来过滤时间戳。请查看过滤日期时间属性here。
时间戳日期时间' 2008-07-10T00:00:00Z'
答案 1 :(得分:2)
你可以这样做:
var dateFilter = "(PartitionKey ge '0" + StartTime.Ticks + "')" + "and (PartitionKey le '0" + EndTime.Ticks + "')";
StartTime
和EndTime
将是您的日期范围。请记住,您只能查询PartitionKey,因为它具有索引。
答案 2 :(得分:1)
这应该有效
Timestamp ge datetime'2013-10-06T00:00:00'
答案 3 :(得分:1)
使用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);
答案 4 :(得分:1)
它很旧,但我是这样工作的。
Timestamp ge datetime'2020-10-06T00:00:00'
答案 5 :(得分:0)
如果要在日期范围内过滤查询,请使用:
Timestamp ge datetime'2017-07-21T20:07:35.000Z' and Timestamp lt datetime'2017-07-24T20:07:35.000Z'