Azure存储资源管理器按时间戳查询位置

时间:2014-04-23 09:47:34

标签: azure-table-storage azure-storage

这是我第一次使用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

结果只是一条错误消息。

处理此请求时出错。

6 个答案:

答案 0 :(得分:17)

看起来您需要使用类似下面的内容来过滤时间戳。请查看过滤日期时间属性here

时间戳日期时间' 2008-07-10T00:00:00Z'

答案 1 :(得分:2)

你可以这样做:

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

StartTimeEndTime将是您的日期范围。请记住,您只能查询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'